OpenVPN接続でネットワークタイプを未確認ネットワークからプライベートネットワークに変更する


22

Windows 7で接続タイプを変更することはできますか?「識別されていないネットワーク」として識別されるOpenVPN接続があり、ファイアウォール内の識別されていないすべてのネットワークに特定のルールを適用したくありません。

これをどのように克服するのですか?

回答:



18

OpenVPNネットワークインターフェイスのデフォルトゲートウェイを追加する必要があります。

私が見つけた方法は、OpenVPNを使用したネットワークインターフェースを介してターゲットアドレス0.0.0.0にルートを追加することです。

この例では、ネットワーク10.20.20.0/24のIPアドレス10.20.20.20の物理インターフェースと、ネットワーク10.1.1.0/24のIPアドレス10.1.1.10/24のOpenVPN TAPインターフェース(サーバーのIPアドレスVPNネットワークは10.1.1.1です)。

1)ネットワークインターフェイスと0.0.0.0への現在のルートに関する情報を確認します。

C:\>route print -4
===========================================================================
Interface List
 15...00 ff 6c 3f 5b 0c ......TAP-Win32 Adapter V9
 11...00 0e 0c d9 b5 c8 ......Intel(R) PRO/1000 GT Desktop Adapter
===========================================================================

IPv4 Route table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway        Interface Metric
          0.0.0.0          0.0.0.0       10.20.20.1      10.20.20.20     10
       10.20.20.0    255.255.255.0         On-link       10.20.20.20    266
...

現在、OpenVPNネットワークインターフェイス番号は15であることがわかっています。もう1つの重要な情報は、0.0.0.0への現在のルートのメトリックです。OpenVPNネットワークの0.0.0.0への新しいルートには、物理​​ネットワークではなくOpenVPN接続へのネットワークトラフィック全体のリダイレクトを回避するために、現在よりも高いメトリック値が必要です(同じルートの2つのルートの場合、低いメトリックのルートが選択されます) 。

2)OpenVPNインターフェース経由で0.0.0.0へのルートを追加します:

route -p add 0.0.0.0 mask 0.0.0.0 10.1.1.1 metric 50 if 15

このコマンドは、少なくとも50のメトリックとゲートウェイ10.1.1.1を使用して、インターフェイス15を介して0.0.0.0にルートを追加します。ゲートウェイを独自のゲートウェイ(VPNネットワーク上のサーバーのIPアドレス)に置き換えます。そしてもちろん、インターフェース番号を自分のものに置き換えてください。

-p引数は、ルートを永続的なものとして追加するため、システムの再起動後も保持されます。

3)VPNサーバーに(再)接続し、ルートテーブルを再度調べます。

C:\>route print -4
...
Active Routes:
Network Destination        Netmask          Gateway        Interface Metric
          0.0.0.0          0.0.0.0       10.20.20.1      10.20.20.20     10
          0.0.0.0          0.0.0.0         10.1.1.1        10.1.1.10     80
...

ネットワークはネットワークと共有センターで識別されるようになったため、「場所を設定...」ウィンドウが表示されます;-)


これは正解です。
jnm2

2
メトリックを通常のインターフェイスメトリックよりも大きくしてください。それ以外の場合は、私がやったようにホストをオフラインでノックします。
Linef4ult

11

上記の解決策がなぜ複雑なのか、たとえば

route add -p commands

またはOpenVPN server.confファイルに追加する

route 0.0.0.0 vpn_subnet_mask default_gateway

エラーは次のように解決するだけで解決できます。

Control Panel\Network and Internet\Network Connections

(1)OpenVPN tun / tapインターフェースを右クリックして、ステータスを選択し、詳細を選択して、IPv4 DHCPサーバーのエントリをメモします。(2)でデフォルトゲートウェイとしてこれを入力する必要があります。

(2)OpenVPN tun / tapインターフェースを右クリックし、[プロパティ]> [TCP / IPv4プロパティを開く]を選択し、[詳細設定]をクリックします。デフォルトゲートウェイの下で、[追加]をクリックして、DHCPサーバーとして使用されているものとまったく同じエントリ、メトリック「自動」を入力します。ここで、アダプタが魔法のようにプライベートとして表示されるのを待ちます。

上記の2つのソリューションとまったく同じこと(永続的なルートの追加)を実行しただけですが、これはさらに優れています-Windowsで構成されているため、再起動後も存続します。実際に「route print」と入力してcmdをチェックインすると、ルーティングテーブルに1つのエントリが追加され、永続的なルートの下に1つのエントリが表示されます。新しいルートのメトリックが物理アダプタのメトリックよりも小さい場合は、やり直し(2)、メトリックを「自動」から物理アダプタよりも高い値に変更します。

ゲートウェイ(openvpnサーバーIP)が静的である場合、追加(2)するとジョブが実行されます。


4

これは一部のVPN接続ではうまく機能しますが、VPNのデフォルトゲートウェイは常に変化していると言えます。つまり、コンピューターをリセットするたびに、「route add」コマンドを何度も使用する必要があります。それは受け入れられません。

Windows 7でVMwareの問題を調査しているときに、* NdisDeviceTypeというレジストリドワードに出会いました。これは、特定の仮想ネットワークアダプターを識別しようとしないようにWindowsに指示します。必要なことは、レジストリに移動してに移動することだけHKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318です。

そこに来たらDriverDesc、「Tap-win」の値で呼び出された文字列のキーを調べます。これは、OpenVPNが使用する仮想アダプターを扱うキーです。次に、* NdisDeviceTypeという名前のdwordを作成し、値1を割り当てます。

最後にコンピューターを再起動します。これで、未確認のネットワークが表示されないはずです。この変更を試みる前に、レジストリをバックアップすることを忘れないでください。OpenVPNを使用していて、これを行うことに不安がある場合は、これを実現するスクリプトダウンロードできます。


3

これを解決するための絶対に最も簡単で最良の方法はこれを行うことだと思います:

  1. OpenVPN構成ファイルを開きます。
  2. 次の行を追加します:route 0.0.0.0 0.0.0.0 vpn_gateway 50(vpn_gatewayは変更せず、環境変数です)保存します。
  3. VPNを接続する
  4. 必要に応じて、手順5と6に進みます。
  5. 実行(Win + R)を開きsecpol.msc、「ネットワークリストマネージャーポリシー」に移動します
  6. VPNネットワークを右クリックし、プロパティ->ネットワークの場所を右クリックします。プライベートネットワークを選択します。

これにより、VPNゲートウェイIPを気にする必要がなくなり、動的VPNゲートウェイでも機能します。


また、スプリットトンネルVPNでメトリック(50)を高く設定して、スプリットを中断せずにこれを修正することもできます。500は私のために働いた
computergeek125

2

これは機能しますが、TAPアダプターのIP設定を手動で変更して、さらに一歩進んだ方が良いでしょう。を使用ipconfigして適切な設定を把握し、DNSサーバーのゲートウェイを使用します。

更新:このステップは無視してください-実行しても、IPアドレスはマスクされません。その理由はわかりませんが、それを元に戻すために考えられることはすべて実行しましたが、唯一の方法は、この手順で行ったことを取り消してコンピューターを再起動することです。

更新:これに関する問題は、Windowsの起動時に接続を開始するようにWindows 7を構成したことです。コンピューターを再起動またはシャットダウンすると、ネットワークが不明な状態に戻ることがありました。ルートはまだテーブルにあります。これを回避するには、接続するVPNクライアントの構成ファイルを変更します。追加したコマンドは次のとおりです。

#Dummy default gateway to work around Windows 'unidentified network'/'unknown network' (put a "#" in front of this)
route-metric 30
route 0.0.0.0 0.0.0.0 10.0.0.1.

メトリックは、表示されるルートテーブルを読み取ることで取得されます。

route print -4

10.0.0.1は、VPNが接続するゲートウェイです。たとえば、VPNに接続している場合、ルートテーブルは次のようになります。

-------------------------------------------------------------------------
IPv4 Route Table
-------------------------------------------------------------------------
Active Routes:
Network Destination      Netmask        Gateway      Interface    Metric
          0.0.0.0        0.0.0.0    192.168.0.1  192.168.0.100        25
          0.0.0.0      128.0.0.0       10.0.0.1     10.0.7.102        30

最初のエントリは、ルーターへのルートです。2つ目はVPN接続です。これで、VPN接続ファイル(この場合はvpn.ovpn)を変更するときに、ネットワーク宛先を使用し、ネットマスクを0.0.0.0にして、ゲートウェイとして10.0.0.1を使用します。次に、メトリックが30に設定されていることを確認し、構成ファイルで30に設定します。


2

コマンドまたはWindows GUIを使用して)デフォルトゲートウェイの追加を完了した場合、プライベートまたはドメインの指定をネットワークに適用することをWindowsに指示する方法が必要になる場合があります。ネットワークを誤って既にパブリックとしてラベル付けしたか、何らかの理由で「場所の設定...」プロンプトで選択する機会がなかった可能性があります。Windows 10でこのシナリオに遭遇しました。

レジストリを介してこれを設定するには、でネットワークプロファイルキーに移動しHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profilesます。プロファイルキーここから、Profilesキーには、コンピューターが保存したすべてのネットワークに対応するGUIDを持つキーのリストが含まれます。これらのGUIDキーを調べてProfileName、キーの値を照合してネットワークを見つけることができます。キーでプロファイルIDキーとProfileName値正しいネットワークを見つけたら、ネットワークキーの値Profilesを変更しCategoryます。プロファイルIDキーのカテゴリ値

の値のCategory0は、パブリックネットワークを示します。この値を変更し1て、ネットワークをプライベートとしてラベル付けしたり2、ネットワークをドメインネットワークとして指定したりできます。この変更を適用するには、ネットワーク接続を再初期化する必要がある場合があります。


「TenForums.com」の透かしが原因で画像を削除する必要がある場合は、質問を編集するか、お知らせください。
palswim

0

上記のソリューションはすべて実際には回避策にすぎませんが、すべての商品/製品には独自のバイヤーがいます。

最も簡単な方法は、0.0.0.0作成された未知のルートを削除してから、すべてを元に戻すことです。cmd.exeコマンドラインから(管理者として)実行し、「route delete 0.0.0.0That's it」と入力します。

ジャンクルートやその他のゴミを登録したり、その逆を行ったり、象をその場で作ったりすることは、最高のアイデアの1つだとは思いません。


0

私のWindows 7マシンでは、「Unidentified Network」はOpenVPNの問題の症状であり、原因ではありません。私の場合、修正は管理者権限を使用してOpenVPNクライアントGUIを起動することです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.