VPN接続が原因でDNSが誤ったDNSサーバーを使用する


17

会社のネットワーク(Active Directoryのメンバー)にWindows 7 PCがあります。お客様のサイトへのVPN接続を開くまで、すべてが正常に機能します。

接続すると、フォルダーリダイレクトポリシーのある「アプリケーションデータ」などのディレクトリを含む、ネットワーク上の共有へのネットワークアクセスが失われます。ご想像のとおり、これによりPCでの作業が非常に難しくなります。デスクトップショートカットが機能しなくなり、その下から「アプリケーションデータ」が取得されるため、ソフトウェアが正常に機能しなくなります。

ネットワークは、10.58.0.0 / 16のスコープ内に他のローカルサブネットが存在する状態でルーティングされます(10.58.5.0/24)。リモートネットワークは192.168.0.0/24にあります。

DNS関連にまで問題を追跡しました。VPNトンネルを開くとすぐに、すべてのDNSトラフィックがリモートネットワークを経由するため、ローカルリソースの損失が説明されますが、私の質問は、顧客ではなくローカルDNSサーバーにローカルDNSクエリを強制する方法です。 ?

ipconfig /allVPNに接続されていない場合の出力は次のとおりです。

Windows IP Configuration

   Host Name . . . . . . . . . . . . : 7k5xy4j
   Primary Dns Suffix  . . . . . . . : mydomain.local
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No
   DNS Suffix Search List. . . . . . : mydomain.local

Ethernet adapter Local Area Connection:

   Connection-specific DNS Suffix  . : mydomain.local
   Description . . . . . . . . . . . : Broadcom NetLink (TM) Gigabit Ethernet
   Physical Address. . . . . . . . . : F0-4D-A2-DB-3B-CA
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::9457:c5e0:6f10:b298%10(Preferred)
   IPv4 Address. . . . . . . . . . . : 10.58.5.89(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : 31 January 2012 15:55:47
   Lease Expires . . . . . . . . . . : 10 February 2012 10:11:30
   Default Gateway . . . . . . . . . : 10.58.5.1
   DHCP Server . . . . . . . . . . . : 10.58.3.32
   DHCPv6 IAID . . . . . . . . . . . : 250629538
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-14-AC-76-2D-F0-4D-A2-DB-3B-CA

   DNS Servers . . . . . . . . . . . : 10.58.3.32
                                       10.58.3.33
   NetBIOS over Tcpip. . . . . . . . : Enabled

これは、VPNトンネルが接続されている同じコマンドの出力です。

Windows IP Configuration

   Host Name . . . . . . . . . . . . : 7k5xy4j
   Primary Dns Suffix  . . . . . . . : mydomain.local
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No
   DNS Suffix Search List. . . . . . : mydomain.local

PPP adapter Customer Domain:

   Connection-specific DNS Suffix  . : customerdomain.com
   Description . . . . . . . . . . . : CustomerDomain
   Physical Address. . . . . . . . . :
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   IPv4 Address. . . . . . . . . . . : 192.168.0.85(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.255
   Default Gateway . . . . . . . . . :
   DNS Servers . . . . . . . . . . . : 192.168.0.16
                                       192.168.0.17
   Primary WINS Server . . . . . . . : 192.168.0.17
   NetBIOS over Tcpip. . . . . . . . : Disabled

Ethernet adapter Local Area Connection:

   Connection-specific DNS Suffix  . : mydomain.local
   Description . . . . . . . . . . . : Broadcom NetLink (TM) Gigabit Ethernet
   Physical Address. . . . . . . . . : F0-4D-A2-DB-3B-CA
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::9457:c5e0:6f10:b298%10(Preferred)
   IPv4 Address. . . . . . . . . . . : 10.58.5.89(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : 31 January 2012 15:55:47
   Lease Expires . . . . . . . . . . : 10 February 2012 10:11:30
   Default Gateway . . . . . . . . . : 10.58.5.1
   DHCP Server . . . . . . . . . . . : 10.58.3.32
   DHCPv6 IAID . . . . . . . . . . . : 250629538
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-14-AC-76-2D-F0-4D-A2-DB-3B-CA

   DNS Servers . . . . . . . . . . . : 10.58.3.32
                                       10.58.3.33
   NetBIOS over Tcpip. . . . . . . . : Enabled

ルーティングテーブル

ネットワーク宛先ネットマスクゲートウェイインターフェースメトリック

          0.0.0.0          0.0.0.0        10.58.5.1       10.58.5.89     20
        10.58.5.0    255.255.255.0         On-link        10.58.5.89    276
       10.58.5.89  255.255.255.255         On-link        10.58.5.89    276
      10.58.5.255  255.255.255.255         On-link        10.58.5.89    276
    91.194.153.42  255.255.255.255        10.58.5.1       10.58.5.89     21
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
      192.168.0.0    255.255.255.0     192.168.0.95     192.168.0.85     21
     192.168.0.85  255.255.255.255         On-link      192.168.0.85    276
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link        10.58.5.89    276
        224.0.0.0        240.0.0.0         On-link      192.168.0.85    276
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link        10.58.5.89    276
  255.255.255.255  255.255.255.255         On-link      192.168.0.85    276

インターフェイスのバインド順序は次のとおりです。

ここに画像の説明を入力してください

リモートエンドでデフォルトゲートウェイを使用するようにVPNトンネルを構成していないため、両方のネットワーク上のノードへのネットワーク通信は問題ありません。(つまり、ネットワークまたはリモートネットワーク上の任意のノードにpingを実行できます)。

DNSサーバーに10.58.3.32続いてを使用するようにPPTP接続プロパティを変更しましたが192.168.0.16、クエリはまだ192.168.0.16になります。


編集:

消えるローカルリソースは、ドメインDFSルートでホストされます。これは関連する場合もあれば、関連しない場合もあります。


さらに編集:

これは、ドメインDFSルートにのみ影響しているようです。サーバー名を介して(つまりの\\server\share代わりに\\dfsroot\share)共有を参照すると、共有にアクセスできます。

この回答に対する私のコメントによれば、ドメインのDNS名をhostsファイルに追加して、(DFS)ネットワークドライブが消えないようにすることができましたが、質問の大胆な部分(上記)アイデアがあれば誰でも答えます。


使用しているファイアウォールについて言及したことはありませんか?IMOは、この質問に対する答えを潜在的に見つける場所だと思うので、IMOは非常に重要な要素です。
ハニー

@hannyファイアウォールは、両方のサイトのADSLモデムのネットワークアドレス変換によって提供されます。本当に必要な場合はおそらくモデル番号を提供できますが、それらは単なる標準のADSL NATingモデムになります。統合DNSを使用したADについて説明していることを考えると、これらのデバイスは関連性があるとは見なされません。問題は純粋にDNSであるためです。
ブライアン

VPNがファイアウォールではなくWindowsで処理されている場合、Windows VPNは私の経験ではかなり制限されているため、動作する異なるパラメーターの送信を提示します。たとえば、ASA 5505を使用する場合、スプリットトンネリングはトラブルシューティングが非常に簡単であり、特にDNSの問題とDNSの割り当てに関して、多くの設定を行うことができます。それが私が尋ねた理由でした。
ハニー

route print(vpn-connectionから)を投稿に追加してもらえますか?
florianb

ルーティングに問題はありません。彼はトラフIPには接続できますが、トラフDNSには接続できないため、
MichelZ

回答:


12

OK、ここで素晴らしいリソースを見つけました:http : //rdpfiles.com/2011/08/25/windows-vpn-client-and-local-dns-resolution/

完璧ではありませんが、うまくいくかもしれません。

バインド順は、レジストリの次の場所に保存されます HKLM\System\CurrentControlSet\Services\Tcpip\Linkage\Bind。リストには、ネットワークアダプターとアクティブな接続のすべてのデバイスGUIDがバインド優先順位で含まれています。

レジストリキーを使用すると、次の事実が明らかになります。

レジストリ内のGUIDの順序を変更すると、VPN接続を含むバインドの順序に影響します

  • キーへの変更はすぐに有効になります
  • VPN接続が完了すると、接続のGUIDがバインド順序の先頭に追加されます(まだ存在しない場合)。
  • VPN接続が閉じられると、接続のGUIDエントリが削除されます
  • 接続に複数のGUIDエントリがある場合、接続が閉じられると1つだけが削除されます

このメカニズムにより、次の回避策が可能になります。

  1. バインドレジストリキーを調べる
  2. VPN接続に接続する
  3. バインドキーをもう一度確認し、リストの一番上に追加されたGUIDをコピーします
  4. リストの下部にGUIDエントリを20回貼り付けます
  5. キーをエクスポートし、エクスポートされたファイルをクリーンアップして、バインドキーのみを含める

結果は、目的の動作をサポートするキーです。GUIDが存在するため、VPN接続が確立されるたびに、追加されません。GUIDは一番下にあるため、DNS解決はクライアントに対してローカルで行われます。接続が切断されると、1つのGUIDエントリが削除されます。20のVPN接続の後、エクスポートされたレジストリファイルを使用してキーを再インポートできます。

もちろん、GUIDを何度も貼り付けて、キーを再インポートする頻度を減らすことができます。

ネットワークアダプターに変更がある場合は、この手順を再実行することを忘れないでください。


良い発見。これは非常にうまく機能し、起動するたびにレジストリキーの値をリセットするコンピュータースタートアップスクリプトと相まって、そもそも問題にならないはずの優れた回避策になります。どうもありがとう。さらにテストを行います。
ブライアン

3
スケジュールされたタスクを作成することをお勧めします。VPN切断イベントに対応するイベントID 20226を監視します。次に、以下powershell -File c:\scripts\fixdnsbind.ps1を含む小さなPowerShellスクリプト()を起動します$val = Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\services\Tcpip\Linkage -Name Bind; $val.Bind += "\Device\{D7D0BD5E-B65C-4239-BA4D-D309186E9524}"; Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\services\Tcpip\Linkage -Name Bind -Value $val.Bind。(アダプターIDを調整することを忘れないでください)。また、VPNに接続する前にこのスクリプトを1回実行します。
スティーブB

4

VPNトンネルは、DNSトラフィックをVPN DNSサーバーに向けるローカルエリアインターフェイスよりも何らかの形で優先されるようです(これらのサーバー上の要求を確認して、アクセスできる場合、または誰かがこの動作を確認できる場合、この動作を確認できます)君は)。

バインディングの順序が異なるため、完全に説明することはできません。ここのこの投稿(より高いスコアの回答を参照)によると、Windowsはこれに関しては異なる認識を持ち、アダプターのバインド順ではなく接続の速度に応じてより高い優先度のチャネルを選択します。したがって、テストのためにこの自動動作を変更するには、次を試してください。1)ネットワーク接続に移動し、それぞれに対して2)IP v4プロパティ3)詳細4)「自動メトリック」を無効にする5)ローカルのメトリックを手動で1接続およびVPN接続(PPP)のメトリック2。そのように、リモートDNSよりも優先されるように、ローカルDNSサーバーへのパスを配線します。

お役に立てれば!


興味深いことに、上記のルーティングテーブルを見ると、LANインターフェイスのメトリックは最低(20)であり、VPN接続のメトリックは21です。この問題はやや断続的であり、上記のルーティングテーブルでは、すべてが現在正常に機能しています。問題を再現して、ルーティングテーブルを再確認してみます。
ブライアン

更新し、トンネルを再度開いただけで、ドライブへの接続はすべて切断されましたが、ルーティングテーブルは上記と変わりません。すなわち、LANのメトリック20、VPNのメトリック21。
ブライアン

1
@ Bryan、Microsoftのこの記事(support.microsoft.com/kb/299540)は、上記の内容を検証しています。時間があるときに上で書いた手順を実行するとどうなるかを見るのは面白いでしょう。他の人は、あなたが目にする正確で断続的な問題を報告し、メトリックをハードワイヤリングすることで解決しました(serverfault.com/questions/70792/…)。残念ながら、現在、いくつかのテストを行うための同様のセットアップはありません。
アンク

@ankに感謝します。来週遅くにオフィスに戻ったときに、必ずやってみます。興味深い記事ところで。ありがとう。
ブライアン

1
それは私のためにトリックをしました!NICのIPv4設定のメトリクスは、ルーティングテーブルのメトリクスとは関係がないようです。ZnArKが書いたように、HKLM \ System \ CurrentControlSet \ Services \ Tcpip \ Linkage \ BindでGUIDの順序を変更しても、使用されているNIC / DNSに関しては何も変わりませんでした。これはWindows 10でテストされています
-MrCalvin

4

前述のように、これはスプリットトンネリングの問題です。

3つの修正。VMwareWorkstation 8で適切なボックスを使用すると簡単であり、優れたパフォーマンスが得られるため、#2をお勧めします。

1-スプリットトンネリングを有効にします-安全ではなく、クライアント側での作業が必要になる場合があります。起こりそうにない、ITセキュリティジェスタポはあなたをシャットダウンします。

2-仮想デスクトップアプローチ-既存のデスクトップをP2Vし、VMに変換します。VMからクライアントへのVPNを使用します。デスクトップを保持し、必要に応じてデスクトップに切り替えることができます。

3-仮想化サーバーアプローチ-既存のデスクトップをP2Vし、VMに変換してから、無料バージョンのESXiに配置します。デスクトップを保持し、コンソールを介して必要に応じてVMに切り替えることができます。これは遅いかもしれません...


+1; タスク専用の仮想化システムを持つというアイデアは好きですが、さまざまな理由で現時点ではうまく機能していないようです。ただし、これは将来的には間違いなく優れたソリューションになります。ありがとう。
ブライアン

3

残念ながら、Windows VPNは「スプリットDNS」を実行できません。ただし、リモートサイトに接続したら、VPN接続からDNSサーバーを削除できます。

これを行うには、次を発行します。

netsh interface ipv4 delete dnsservers name = " VPNの名前 " address = all validate = no

VPNネットワークに接続するたびにこれを行う必要があります。


参考までに、これはリモート(VPN)DNSの使用を停止します。
MichelZ

問題は、トンネルが立ち上がるとすぐに、私の質問で説明されている問題にすでに悩まされているため、コマンドが遅すぎることです。また、これを試してみても、コマンドは実際には何の違いももたらさないようです(nslookup依然としてリモートDNSサーバーを使用し、さらにリモートDNSサーバーをipconfigリストします)。また、VPNトンネル接続のDNS設定を編集して独自の内部DNS設定を使用しましたが、これは無視され、DNSトラフィックはすべてリモートDNSサーバーに向かっているように見えます。
ブライアン

1
私は同じ問題を抱えていたので、これを試してみましたが、ここでうまくいきました。「VPNの名前」を調整しましたか?さらに、ドライブが接続されているこの1つのサーバーについてほとんど懸念がある場合は、hostsファイルに追加してください。これを上書きすることはできません
MichelZ

おかげで、名前を変更してみました(ipconfig出力からカットアンドペーストし、間違えたときにエラーが発生しましたThe filename, directory name, or volume label syntax is incorrect)ので、コマンドが正しいと確信しています。リモートPPTPサーバーでDNS設定を上書きできない場合があります。調査しますが、hostsファイルエントリのアイデアは気に入っています。それを試してみます。質問の編集も参照してください。
ブライアン

コマンドを再試行したところ、PPP接続からDNSサーバーが削除されました。で確認できますかipconfig /all?ただし、hostsエントリは、これに対する最も簡単な修正方法であると思います。
ミシェルズ

2

VPNトンネルは、クライアントとクライアントネットワークの間にあります。スプリットトンネリングを使用していないように聞こえます。これにより、トンネルが稼働している間、自分のネットワーク上のリソースにアクセスできなくなります。

そのため、あなた(またはクライアント)はスプリットトンネリングを有効にする必要があります。または、両方のネットワークに同時にアクセスするには、追加のネットワーク接続とカスタマイズされたルートテーブルが必要です。


情報については、トンネルがアップしている間にネットワークリソースにアクセスできますが、壊れているように見えるのはDNS解決だけです。split tunnelling正直に言うと、私はその用語に精通していませんでしたが、私が知る限り、それはリモートサイトでデフォルトゲートウェイを使用していないことを確認することを意味します。回答いただきありがとうございます。これを反映するように質問を編集します。
ブライアン

1
その場合、顧客のVPNがスプリットDNS用にセットアップされていないようです。スプリットDNSを使用すると、VPNコンセントレータは、VPNクライアントにDNSサーバーのリスト(現在のように)と、それらのDNSサーバーで使用する必要がある唯一のドメインであるドメインのリストを提供します。他のすべてのユーザーは、システムのデフォルトDNSを使用します。
ジェームズ・スニーリンガー

0

この質問は長い間尋ねられましたが、他の人を助けるかもしれないので、この答えを投稿しました。ユーザーがリモートVPNに接続するために使用したときに、外部DNSが停止するために使用したVPNでも同じ問題がありました。google.comにリストされていた会社のドメインのみが使用されていましたsplit-dns

問題は、ローカルマシンがDNSクエリトラフィックをVPNトンネルに送り、DNSがトンネルで許可されている場合、フォールバックすることでした。フォールバックするとき、最初にipv6を解決として選択し、その後ipv4に戻らないようにしました。

そのため、結果をテストするために、ローカルマシンで最初にipv6を無効にして、動作を開始しました。すべてのユーザーに対して永続的に修正するためにclient-bypass-protocol、vpnプールで設定されていないIPv6を無視するASAファイアウォールでコマンドを有効にしました。

ファイアウォールを制御できず、スプリットトンネルとスプリットDNSが配置されているが、失敗していることがわかっている場合はipv6、ローカルマシンで無効化してみてください。制御できる場合は、ipv6を使用しない限り、上記のコマンドを有効にできますリモートネットワークで。

これは私を助けました、これが他の人を助けることを願っています:)


0

イェイ、私が経験したことがあります!

ローカルDNSサーバーとのVPN接続を設定し、nslookupを使用してVPNドメイン名を照会するVPNに接続します。VPN LANに対してローカルなIPで応答を取得する必要があります。これは、VPN DNSサーバーを使用してクエリを解決したことを意味します。

LAN接続を開き、DNSをローカルまたはISP DNSに手動で設定します。Volia !!! 矢印キーを使用して、nslookupクエリを繰り返します。ローカル/ ISP DNSサーバーを使用してVPNドメインのクエリを解決したことを意味するパブリックIPを受け取ります。バム!!!!


0

クライアントVPN構成からこのオプションを削除するだけです

setenv opt block-outside-dns

問題を解決しました


0

私は数年前にこの問題を抱えていましたが、VPN接続ファイルを編集してvpn.pbkファイルを作成することで修正しました(googleで見つけることができます)メモ帳などのテキストエディタでそのファイルを開き、UseRasCredentials値をゼロに変更すると問題が解決します 唯一の問題は、ローカルエリア接続のDNS優先度がVPN DNSよりも高くなり、名前解決に時間がかかることです(VPNを使用してインターネットに接続する場合)。


-1

なぜそのDNSを考えるのですか?

VPNに接続したときにネットワーク共有へのアクセスが失われた場合、ほぼ確実にマシンがWINS / NETBIOSで問題を抱えているようです。

WINSサーバーを定義して、再度テストします。


これが私の問題の原因であることは確かではありませんが、ADクライアントがADをホストするために使用されるDNSサーバーを使用する必要があることは知っていますが、そうではありません。VPN接続を行うときに問題が表面化するだけで、同時にDNS解決が厄介になるため、DNSが候補のようです。とにかく、VPNを使用して別のネットワークに接続するときに、リモートDNSサーバーを使用したくありません。
ブライアン

私の提案に従ってWINSサーバーを定義しましたか?WindowsがVPNでDNSサーバーを使用するのは、使用するサーバーが定義されているか、「リモートゲートウェイを使用する」が無効になっていると言われない限り、一般的ではありません。また、VPNトンネルで静的IPを使用しているのに、なぜDNSエントリを設定したのですか?それらのDNSサーバー(192.168.0.16-17)を削除するか、WINSサーバーを設定します。
ベン・レッサーニ-ソナシ

いいえ、クライアントをポイントするWINSサーバーがないため、試したことはありません。私はそれはので、私は私たちのネットワーク上でWINSサーバーをインストールするに熱心ではないよので、WINSは、正直に役立ちます確信していない可能性があるのに役立ちます。しかし、私は確かにその考えを心に留めておくつもりです。IPはVPNサーバーによって割り当てられ、動的です。VPN接続にDNSサーバーを割り当てない場合、サーバーによって動的に割り当てられます。VPN接続プロパティに自分のDNSサーバーをハードコーディングしましたが、それでもリモートサイトのDNSサーバーを使用しています。
ブライアン

リモートDNSサーバーは必要ありませんし、使用したいこともありません。常にDNS解決をローカルサーバーで実行したいので、 問題解決するため、質問はDNSに焦点を当てています。おそらくファイアウォールルールを使用してリモートDNSサーバーへのアクセスをブロックすることはできますが、これは根本的な誤設定の問題を解決しません。
ブライアン

1
これのあなたの解釈は間違っています。IPアドレスは、実際にはDHCPを使用しないPPTPサーバーによって割り当てられます。PPTPサーバーには割り当て可能なプールがありますが、これはDHCPではありません。ただし、接続するたびに異なるIPを取得します。さらに、ルーティングテーブルから明確にわかるように、リモートゲートウェイを使用するためのボックスもチェックしていません。
ブライアン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.