我正在使用 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
我遇到了相同的错误,结果发现是因为 OS 防火墙中未打开端口 53。不打开 53 会阻止正确的 DNS 功能。