web-dev-qa-db-ja.com

複数のネットワーク接続がある場合の「プライマリ」DNS

インターネットアクセスに使用するLANネットワーク接続のマシンを持っています。このマシンもVPN接続に接続する必要があります。 VPNが接続されると、WindowsはVPN接続のDNSサーバーに問い合わせるようです最初、次にLAN接続用に構成されたDNSサーバー。 VPNが遅いので、これはパフォーマンスの問題を回避するために必要です。

では、どの接続のDNSサーバーをWindowsボックスのプライマリに設定するのですか?リモートVPNDNSは、公開されていない名前解決を提供するため、まだ必要です。

TCP/IP設定の「リモートネットワークでデフォルトゲートウェイを使用する」オプションのチェックをすでに外しました。

編集

私はWindows7ボックスで実験していますが、Windows Server2003とWindows7の両方でそれを実行できる必要があります。

私のルートテーブルは大丈夫だと思います。 10.0.0.1は私のローカルゲートウェイですが、192.168.0.82はVPN接続のゲートウェイです。

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0         10.0.0.1         10.0.0.3     20
         10.0.0.0    255.255.255.0         On-link          10.0.0.3    276
         10.0.0.3  255.255.255.255         On-link          10.0.0.3    276
       10.0.0.255  255.255.255.255         On-link          10.0.0.3    276
        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.82     192.168.0.89     21
     192.168.0.89  255.255.255.255         On-link      192.168.0.89    276
   217.157.12.231  255.255.255.255         10.0.0.1         10.0.0.3     21
        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.0.0.3    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.0.0.3    276
  255.255.255.255  255.255.255.255         On-link      192.168.0.89    276
===========================================================================
Persistent Routes:
  None

[ネットワーク接続]-> [詳細設定]に移動してネットワークバインドの順序を変更すると、[ローカルエリア接続]と[リモートアクセス接続]のみが表示されます。ローカルエリア接続が最初に表示されます。私が使用しているVPN接続はリストされていません([ネットワーク接続]ウィンドウに存在します)。

5
driis

質問の言い方からすると、Windowsが名前を解決する必要がある場合、プライマリDNSサーバーに問い合わせを行うことが予想されるようです。また、プライマリDNSサーバーが答えを知らない場合は、セカンダリに問い合わせます。

上記があなたが期待していたものとは違うといいのですが、もしそうなら、それがなぜ間違いなのかをお見せしましょう。

DNSはそのようには機能しません。リゾルバーがセカンダリーDNSサーバーにフェイルオーバーするのは、プライマリーがまったく応答しない場合だけです。例は明確になります:

1.1.1.1にプライマリDNSサーバーがあり、2.2.2.2にセカンダリDNSサーバーがあるとします。クライアントは、この順序でそれらで構成されます。 2.2.2.2はプライベートゾーンfoocompany.localをホストします。 1.1.1.1は独自のゾーンをホストせず、インターネットホストのルート検索を行います。

クライアントがsomeserver.foocompany.localを検索しようとすると、1.1.1.1はNXDOMAINを返します(たとえば、「ルートサーバーに問い合わせたところ、ドメインが存在しないと言われました」)。リゾルバは、1.1.1.1がタイムアウト期間(通常は2秒)内に応答しない場合を除いて、notで2.2.2.2に何を知っているかを尋ねます。それはただ見るのをやめるでしょう。さらに、クライアントは RFC2308 に従って、NXDOMAINの結果をキャッシュします。 2.2.2.2がプライマリサーバーになるようにNIC設定を変更した場合でも、ローカルNXDOMAINキャッシュの有効期限が切れるまで、NXDOMAINの結果が表示されます。これはipconfig/displaydnsコマンドプロンプト。

IIRC、WindowsのDNSリゾルバーはNXDOMAINを短時間(5分)キャッシュします。しかし、それでもこれは迷惑になる可能性があります。

とにかく。これはあなたの問題に少し接していると思いますが、この点を明確にすることで、計画した設計にひらめきが生じる可能性があります。例:結局、VPNのDNSサーバーを最初に解決したい場合があります。少し遅いですが、VPNにプライベートなドメインパブリックインターネットドメインの両方を解決できるため、より多くを認識します。一方、ローカルLAN DNSリゾルバーは、VPNにプライベートなこれらのドメインを認識していません。

乾杯!

13
quux

split tunnelling を設定したいようです。まず、VPNソフトウェアがクライアントPCでルーティングを正しく設定していることを確認します。コマンド:

route print

クライアントホストのルーティングテーブルを表示します。 VPNインターフェイスのデフォルトゲートウェイを指すオフィス(?)ネットワークのエントリが必要です。主なことは、最も低いメトリックを持つ デフォルトルート がLANインターフェイスのデフォルトゲートウェイを指すことです。

ルーティングが正しく構成されていることを確認したら、次に確認するのは、ネットワークインターフェイスのバインド順序です。これは、さまざまなネットワークサービスが各ネットワークアダプタを試す順序です。 Windowsでそれを変更する方法の説明XPが見つかります ここ

Vistaに関する同様のKB記事は見つかりませんが、要約すると:

[ネットワーク接続]ウィンドウから:

Organize -> Layout -> Menubar

メニューバーが表示されます。そこから:

Advanced -> Advanced Settings

必要なオプションダイアログが表示されます。あなたの場合、VPNアダプターはLANインターフェースの下にリストされているはずです。

注:ローカルインターネット接続が最初に使用されるようにバインド順序を変更すると、VPNネットワーク上のホストの名前解決に関連するさまざまな問題が発生する可能性があります。より多くの情報なしで決定することは困難です。

編集:これについてもう少し考えてみましたが、VPNに接続しているときにVPN DNSを使用できない方法がわかりません。インターネットDNSサーバーを使用している場合、パブリックDNSにないVPN上のものを解決することはできません。私が考えることができる唯一の方法は、ローカルDNSサーバーを構成し、VPN DNSゾーン(例では* .local)のクエリを192.168.0.3に転送し、その他すべてをISPDNSサーバーに転送することです。 。

会社のDNSサーバーを使用することで、本当にパフォーマンスに大きな影響が出ていますか?すべての解決策がキャッシュされ、実際のデータトラフィックはVPNをバイパスしてインターネットに直接送られます。

3
Murali Suriar

VPNが接続されている場合、Windowsは最初にVPN接続のDNSサーバーに問い合わせ、次にLAN接続用に構成されたDNSサーバーに問い合わせているようです。

これは正常です。

ほとんどのVPNは、スプリットビューモードまたはプライベートビューモードをサポートしています。このモードでは、内部DNSを最初に要求するhaveです。そうでない場合、パブリックDNSは外部アドレスまたはNXDOMAINを返します。

VPNは遅いので、パフォーマンスの問題についてはこれを逆にする必要があります。

mayこれを回避することは可能ですが、内部DNSゾーンが完全にプライベートである場合のみ(つまり、「。local」などの偽のTLDを使用する場合)。 Muraliの回答によると、サフィックスに応じて、クエリをVPNまたはパブリックDNSに転送するローカルDNSサーバーを実行する必要があります。

2
Alnitak

これは古い質問ですが、同様の作業をしているときに出くわしました。追加するための情報が少しあります。

  1. クックスは技術的には正しいですが、実際にはWindowsはこの動作を許可しています。 「リモートネットワークでデフォルトゲートウェイを使用する」オプションはまさにそれを行います。チェックすると、ローカルDNSがNXDOMAINを返す場合、WindowsはVPNDNSを試行します。 WindowsはまずVPNを最初に試みているので、ここではそれは関係しません。しかし、彼がその順序を変更できれば、そのオプションをチェックすることで、彼が探していた動作を正確に得ることができます。

  2. 私がそれを実現させたので、あなたがやりたいことをする方法があります。私のホームネットワークは、OpenDNSサーバーをアドバタイズするように設定されたルーターの組み込みDHCPサーバーに依存していました。最近、ネットワーク上の別のマシンにDHCP + DNSサーバーをセットアップし、非ローカルアドレスをOpenDNSに転送するように設定しました。

    何らかの理由で、これによりWindowsがDNSサーバーを優先する方法が変更されました。以前は、最初にVPN DNSを使用していましたが(私の望ましい動作)、現在はローカルDNSを最初に使用しています(希望する動作)。ローカルDHCP + DNSをオフにしてルーターの使用に戻ると、VPNが再び最初に使用されます。

この情報は、問題を特定するのに役立つ場合があります。解決する場合は、私が反対の方法を理解しようとしているので、知らせてください。

注:これはおそらくコメントであるべきだと私は知っていますが、担当者の要件があります...

2
DNS