
私のネットワークには、外部ゾーン (サーバーのパブリック IP) と内部ゾーン (サーバーの LAN IP) を持つ DNS サーバーがあります。ゾーン内のサーバーで nslookup を実行すると、ローカル IP が解決されます。これはまさに私が望んでいることです。しかし、ping または tracrt を使用したり、putty を使用してサーバーにアクセスしたりする場合 (IP ではなく www.blahblah.com)、すべてパブリック IP が使用されます。DNS が nslookup でローカル IP を解決するのに、他の操作をしようとするとパブリック IP が見つかるのはなぜか、何か考えはありますか。
外部のビューは次のようになります。
view "external"{
match-clients { any; };
recursion no;
内部用:
view "internal"{
match-clients { x.x.x.x/24; };
recursion yes;
xxxx は実際の値ではなく、正しい IP マスクを使用しています。ゾーンは各ビューの {} セット内にあります。
内部ビューとゾーンはnamed.conf.internalにあります
外部ビューとゾーンはnamed.conf.externalにあります
これらは named.conf に含まれています。
名前付き.conf:
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.internal";
include "/etc/bind/named.conf.external";
注: これは Windows システムのみに当てはまります。Linux サーバーでは問題なく解決されるようです。
例 (xxxx = ローカル IP、bbbb = パブリック):
C:\Users\[user]>nslookup www.[website].com
Server: UnKnown
Address: [dns server ip]
Name: www.[website].com
Address: x.x.x.x
C:\Users\[user]>ping www.[website].com
Pinging www.[website].com [b.b.b.b] with 32 bytes of data:
Reply from b.b.b.b: bytes=32 time=2ms TTL=64
Reply from b.b.b.b: bytes=32 time=3ms TTL=64
Reply from b.b.b.b: bytes=32 time=3ms TTL=64
Reply from b.b.b.b: bytes=32 time=3ms TTL=64
Ping statistics for b.b.b.b:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 2ms, Maximum = 3ms, Average = 2ms
答え1
結局、Bind や DNS サーバーの動作不良ではなく、Windows が原因でした。複数の Linux サーバーで内部と外部の解決に問題がないことを確認した後、セカンダリ DNS (ローカル ゾーンのないリモート サーバー) を削除し、Windows システムで DNS をフラッシュすると、正しく解決されるようになりました。