Debian
主機命令成功,但 DNS 無法解析
我正在嘗試完成我的 Bind9 DNS 伺服器的設置。
兩個系統都在執行 Debian Stretch。服務機器
(192.168.0.113)
是 VM 主機,客戶端機器(192.168.0.104)
是它的虛擬客戶。伺服器似乎毫無怨言地執行,但我得到了一些令人困惑的結果。該
host
命令如我所願地解決:$ host wiles.local wiles.local has address 192.168.0.113
但是我無法在其他任何地方通過主機名引用系統:
$ ssh wiles.local ssh: Could not resolve hostname wiles.local: Name or service not known
當然,我可以通過明確引用 IP 來 ssh 進入系統而不會出現問題。
客戶端機器似乎在尋找其 DNS 的正確位置:
$ nslookup google.com Server: 192.168.0.113 Address: 192.168.0.113#53 Non-authoritative answer: Name: google.com Address: 216.58.192.206
我希望有人可以幫助我弄清楚這裡的區別是什麼以及我可以做些什麼來解決這個問題。
我會給出我知道的相關配置資訊:
在服務系統上:
/etc/bind/named.conf.local
zone "wiles.local" { type master; file "/etc/bind/db.wiles.local"; };
/etc/bind/db.wiles.local
$TTL 86400 @ IN SOA wiles.local. root.localhost. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 86400 ) ; Negative Cache TTL ; IN A 192.168.0.113 @ IN NS localhost. www IN A 192.168.0.104
在連接系統上:
/etc/網路/介面
auto lo enp0s3 iface lo inet loopback iface enp0s3 inet static address 192.168.0.104 netmask 255.255.255.0 gateway 192.168.0.1 dns-nameservers 192.168.0.113
最後:
/etc/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 192.168.0.113
關於最後一個文件的註釋:我不得不不聽響亮的警告並手寫那行。在完成此操作之前,該系統不會解析任何外部或內部服務的主機名。我相信這是一個單獨的問題,已通過安裝和執行解決
resolvconf
,但我提到它以防萬一問題相關。
正如 Johan Myréen 在評論中指出的那樣,我的問題似乎是由使用保留的 TLD 引起的。由於我沒有使用 mDNS,從 切換
.local
到.com
允許我的名稱解析正常工作。