
因此,我的網路上有一個 DNS 伺服器,具有外部區域(伺服器的公用 IP)和內部區域(伺服器的 LAN IP)。當我在區域中的伺服器上執行 nslookup 時,它會解析本機 IP,這正是我想要的。但是,如果我使用 ping 或 tracrt,並且如果我使用 putty 存取伺服器(www.blahblah.com 而不是 IP),它們都會使用公共 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,它開始正確解析。