最初のDNSサーバーが解決に失敗した後に代替DNSサーバーが解決しない

最初のDNSサーバーが解決に失敗した後に代替DNSサーバーが解決しない

ラボ ネットワークで Citrix XenServer 6.1 上で実行される VM をいくつかセットアップしていますが、この問題は XenServer に固有のものではないと思われます。

実行されている OS は複数あります。

  • フェドラ 19
  • Ubuntu 12.04 デスクトップ
  • Ubuntu 12.04 サーバー
  • ウィンドウズ7

それぞれが DHCP から 2 つの DNS サーバー アドレスを取得します。

  • プライマリ: 172.16.18.68。これはラボ ネットワーク上のローカル DNS です。ラボ ネットワーク内の名前を解決します。
  • セカンダリ: 10.10.201.11。これはラボ ネットワークの外部にある DNS ですが、依然として当社の一部です。これにより外部へのアクセスが可能になります。

Windows 7 と Ubuntu 12.04 Server では、ラボ ネットワークの内外のドメイン名を解決できます。Ubuntu 12.04 Desktop と Fedora 19 では、ラボ ネットワーク内の名前しか解決できず、外部の名前は解決できません。ただし、Web ブラウザーで 74.125.131.106 と入力すると、google.com にアクセスできます。つまり、DNS ではないものの、外部の世界にはアクセスできます。ただし、DNS サーバーの順序を入れ替えると、外部の名前は解決できますが、内部の名前は解決できなくなります。そのため、Fedora 19 と Ubuntu Desktop は DNS サーバーのリストの最初のサーバーのみを使用しており、それが失敗した場合は代替サーバーを試行しません。これはなぜでしょうか。また、Ubuntu Server と Windows 7 では同じことが起きないのはなぜでしょうか。

答え1

プライマリ DNS サーバーとセカンダリ DNS サーバーは同じ結果を返すことが予想されます。独自の DNS サーバーをセットアップして、OS がラボの名前/IP を解決するためにその DNS サーバーを使用し、他のすべての名前/IP を解決するために会社の DNS サーバーを使用するようにしているようです。

これは動作方法ではありません。PC が DNS サーバーに会社のサーバーの IP を問い合わせ、DNS サーバーが名前が不明であると応答した場合、結果があり、別の DNS サーバーに問い合わせる必要はありません。また、PC が会社の DNS サーバーにラボ名を問い合わせた場合、名前が不明であると応答します。

自分のドメイン以外のドメインに対するすべてのリクエストを会社の DNS サーバーに転送するように DNS サーバーを設定する必要があります。理想的なケースでは、会社の DNS サーバーがサブドメインを認識し、自分のドメインに対するすべてのリクエストを自分の DNS サーバーに転送するように設定されている必要があります。

DNS サーバーをプライマリ DNS サーバーとして使用する必要があります。会社の DNS で転送ゾーンを構成できる場合は、その DNS サーバーをセカンダリとして使用できます。そうでない場合は、セカンダリ DNS サーバーを構成しないでください。

DNS の仕組みがわかっていないようなので、会社の管理者に支援を依頼する必要があります。

答え2

外部 DNS サーバーは、内部名を解決しない傾向があります (これは「ベスト プラクティス」とは見なされません)。内部 DNS サーバーは通常、内部名に応答し、不明なクエリを外部サーバーに転送します。内部 DNS サーバーのフォワーダー ステートメントを確認することをお勧めします。

ワークステーションに内部ネームサーバーと外部ネームサーバーの両方をプライマリ サーバーとセカンダリ サーバーとして使用すると、説明している問題が発生します (外部ネームサーバーが実際に内部サーバーのセカンダリとして構成されていない限り) (2 つのサーバー間でゾーン転送が行われているはずです)。

関連情報