nslookup 命令显示错误“连接超时,未找到服务器”

nslookup 命令显示错误“连接超时,未找到服务器”

我正在使用 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 功能。

相关内容