我正在研究 linux fedora 並嘗試學習 nslookup 的使用。我運行命令 nslookup。它向我展示了 dns 伺服器。當我跑步時nslookup mail.yahoo.com
,在這種情況下它也工作得很好。但是,例如,當我嘗試使用任何其他伺服器訪問同一網站時,nslookup mail.yahoo.com gatech.edu
它會給我錯誤「連接超時,可以到達伺服器」。我不知道我可能做錯了什麼。任何人都可以在這方面提供幫助。謝謝。
答案1
您應該切換到更好的學習材料...看看nslookup
命令列參數的基本語法(如下所示)您的第二個範例要求尋找mail.yahoo.com
使用 DNS 伺服器的 IP 位址gatech.edu
。由於後者可能沒有回應您的請求,因此您會逾時。
nslookup [-option] [name | -] [server]
至於失敗的可能原因有幾個。
可能原因1:
正如我上面提到的,gatech.edu
可能不會解析為 DNS 伺服器的 IP 位址。
我查看了上述網域的 DNS 記錄:
C:\>nslookup
> gatech.edu
Server: server.example.com
Address: xxx.xxx.xxx.xxx
Non-authoritative answer:
Name: gatech.edu
Address: 130.207.160.173
> set q=ns
> gatech.edu
Server: server.example.com
Address: xxx.xxx.xxx.xxx
Non-authoritative answer:
gatech.edu nameserver = dns3.gatech.edu
gatech.edu nameserver = dns1.gatech.edu
gatech.edu nameserver = dns2.gatech.edu
dns3.gatech.edu internet address = 168.24.2.35
dns1.gatech.edu internet address = 128.61.244.253
dns1.gatech.edu AAAA IPv6 address = 2610:148:1f00:f400::3
dns2.gatech.edu internet address = 130.207.244.81
dns2.gatech.edu AAAA IPv6 address = 2610:148:1f01:f400::3
因此,gatech.edu
解析為130.207.160.173
(第一個查詢),但網域(第二個查詢)的(主)DNS 伺服器具有不同的 IP。
可能原因2:
正如 @netniV 在他的評論中指出的那樣,可能存在防火牆限制,拒絕來自其他來源的 DNS 解析,而不是您所在網域的首選 DNS 伺服器。
答案2
我遇到了同樣的錯誤,事實證明是因為作業系統防火牆中的連接埠 53 未開啟。不開啟 53 會妨礙正確的 DNS 功能。