Linux 主机 -a(全部)命令返回未找到主机:4(NOTIMP)

Linux 主机 -a(全部)命令返回未找到主机:4(NOTIMP)

host由于某种原因,带有(“all”)选项的Linux命令-a返回“未找到:4(NOTIMP)“在两台本地机器上。一个是 WSL 上的 Ubuntu,另一个是虚拟机上的 Ubuntu 服务器。主机是一台 Windows 10 机器。

这是我读到的内容man host

-a -a(“全部”)选项通常等同于 -v -t ANY。它还会影响 -l 列表区域选项的行为。

现在查看我在本地 Ubuntu 服务器上得到的输出:

$ host example.com
example.com has address 93.184.216.34
example.com has IPv6 address 2606:2800:220:1:248:1893:25c8:1946
example.com mail is handled by 0 .

然而:

$ host -a example.com
Trying "example.com"
Host example.com not found: 4(NOTIMP)
Received 29 bytes from 127.0.0.53#53 in 135 ms

上述结果在 WSL 上和我尝试过的任何其他域上都是类似的。我在云服务器上运行了完全相同的命令,它产生了一个ANSWER SECTION包含多行的命令,所以这显然是我的设置出了问题。没什么大不了的,但我希望能得到关于如何排除故障并可能修复它的指示。

答案1

有一个超级用户回答这让我注意到了这个问题:DNS 服务器没有实现此选项

请参阅下面指定服务器的示例。

$ host -a example.com 208.67.222.222
Trying "example.com"
Using domain server:
Name: 208.67.222.222
Address: 208.67.222.222#53
Aliases:

Host example.com not found: 4(NOTIMP)
Received 29 bytes from 208.67.222.222#53 in 0 ms

但这有效:

$ host -a example.com 9.9.9.9
Trying "example.com"
Trying "example.com"
Using domain server:
Name: 9.9.9.9
Address: 9.9.9.9#53
Aliases:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36095
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;example.com.                   IN      ANY

;; ANSWER SECTION:
example.com.            38584   IN      NS      a.iana-servers.net.
example.com.            38584   IN      NS      b.iana-servers.net.
example.com.            38584   IN      RRSIG   NS 8 2 86400 20221007214840 20220916103018 1686 example.com. G7YjAGiKrLxOw0+Vr/qWj4y6ZGX9LEEQebcdPgUjW+QYErfT2rZwYUAx y/UC1ekIprbs2Qr4N/f6jWobpxGGmd8maJN1Bihyw7FS6oYUTMM2O2Vb gf5bAUJMin2BFyWhKs1YFkSFF+dmuxOtnqpWgg8HD7f9zL5o3hOjblsP Jt0=

Received 248 bytes from 9.9.9.9#53 in 10 ms

有问题的网络配置为使用不支持此选项的 DNS 服务器。NOTIMP(未实施)就是线索。使用host(或dig)命令指定备用 DNS 服务器,或配置不同的默认 DNS 解析器(我还没有尝试过)是解决此问题的方法。任何其他故障排除技巧仍然欢迎。

更新:根据对问题的评论,值得注意的是,-a不建议使用 (ANY),因为它实际上不会获取所有结果。请参阅RFC 8482以及来自 Cloudflare(其拥有 1.1.1.1 但不支持该版本)的一篇相关博客文章:告别任何

相关内容