
Virtualboxでは、Debianをゲストとして使用して簡単なインストールを行いました。このパッケージをインストールしましたresolvconf
。 resolv.conf ファイルは次のとおりです。
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 10.3.x.x
nameserver 10.219.x.x
GUI(アプリケーション/システムツール/ネットワークツール)を介してネームサーバーを追加しました。
8.8.8.8はGoogleのDNSであり、それを使用してインターネットアドレスを確認したいと思います。 teleportal.company.intra などの内部ドメインを確認するには、10.3.xx と 10.219.xx が必要です。
resolv.confにこれらのネームサーバーがある場合(8.8.8.8が最初のもの)、内部アドレスを照会するとエラーが発生します。
> host teleportal.company.intra
Host teleportal.company.intra not found: 3(NXDOMAIN)
ただし、2番目のnameserver
アドレスをnslookupのネームサーバーに明示的に設定すると機能します。
» nslookup teleportal.company.intra 10.3.x.x
Server: 10.3.x.x
Address: 10.3.x.x#53
teleportal.company.intra canonical name = proxy.dummy1.dummy2.private.
Name: proxy.dummy1.dummy2.private
Address: 172.27.x.x
Name: proxy.dummy1.dummy2.private
Address: 172.27.x.x
resolv.conf ドキュメントには、nameserver
いずれかのエントリがクエリ解決に失敗した場合、エントリを順番に試みると記載されています。ただし、使用中にデバッグをオンにすると、他の項目は試行されず、最初の項目のみが試行されることnslookup
がわかります。nslookup
順序を変更すると、nameservers
内部アドレスが正しく解析されます(nslookupはまだ最初のエントリのみを使用します)。
ユーティリティがすべてのネームサーバーを順番に使用するように3つのネームサーバーを設定するにはどうすればよいですか?
答え1
ネームサーバーのリストは、タイムアウトが発生した場合にのみ1つずつ接続されますresolv.conf
。ネームサーバーが「該当ドメインなし」()を正式に意味するNXDOMAIN
場合は、そうではありません。あなたの場合、DNSは8.8.8.8
明らかにこれを知らず、teleportal.company.intra
確認中にリゾルバーが停止しますNXDOMAIN
。
可能であれば、DNSサーバーを構成してすべての検証に使用し、DNSサーバーに名前解決方法を決定させる必要があります。イントラネットDNSサーバーの場合は、10.3.x.x
インターネットホスト名を解決することもできます。
しかし、名前に基づいてリクエストを別のDNSサーバーに転送したい場合は、次のことを試してください。データセンター。ローカルで実行されるキャッシュ DNS エージェントです。これをインストールapt-get install pdnsd
し()、resolv.confにローカルホスト(127.0.0.1
)を追加します。設定ファイルで、pdnsd.conf
名前の一致に基づいて接続するDNSサーバーを指定できます。あなたの例の段落/etc/pdnsd.conf
:
server {
label= "google";
exclude = ".company.intra";
ip = 8.8.8.8;
}
server {
label= "intra";
include = ".company.intra";
ip = 10.3.x.x;
}
上記のファイルは他の多くのパラメータを切り取りました。を設定するには、Debianパッケージに付属のドキュメントとサンプル設定ファイルに従う必要がありますpdnsd.conf
。
答え2
私考えるリゾルバーは2次(または3次または...)DNSに置き換えられます。最初(または2番目または...)が失敗した場合にのみ。
この場合、クエリ失敗なし、正しく返されましたNXDOMAIN
。つまり、ドメイン名は存在しません。
GoogleのDNS(または他のDNS)を使用して内部ネームサーバーではなく外部ドメインを解決するには、内部名にのみ使用するように10.3.x.x
サーバーを構成し、他のすべてのクエリを外部DNSとし、内部ネームサーバー10.219.x.x
authoritative
ただ内部コンピュータのネームサーバ。