DNS 查询仅适用于完全限定域名 (FQDN),不适用于短名称

DNS 查询仅适用于完全限定域名 (FQDN),不适用于短名称

这是 Windows 主机和环境中的 Linux(Ubuntu 13.10)VM 客户机。执行 DNS 查询时,只有 FQDN 条目有返回,而短名称没有返回(见下文)。这是为什么?

hostname -f的虚拟机正在返回具有正确域名的 FQDN,并且我的虚拟机/etc/resolv.conf已经有了该search mycompany.com行。但是,短名称仍然不起作用。

$ dig mySvr01 

; <<>> DiG 9.9.3-rpz2+rl.13214.22-P2-Ubuntu-1:9.9.3.dfsg.P2-4ubuntu1.1 <<>> mySvr01
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 27616
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1280
;; QUESTION SECTION:
;mySvr01.                  IN      A

;; Query time: 4 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Mon Mar 31 07:33:47 PDT 2014
;; MSG SIZE  rcvd: 41

$ dig mySvr01.mycompany.com 

; <<>> DiG 9.9.3-rpz2+rl.13214.22-P2-Ubuntu-1:9.9.3.dfsg.P2-4ubuntu1.1 <<>> mySvr01.mycompany.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7162
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
; mySvr01.mycompany.com.     IN      A

;; ANSWER SECTION:
mySvr01.mycompany.com. 3600 IN      A       10.192.78.38
mySvr01.mycompany.com. 3600 IN      A       10.192.78.66

;; Query time: 1 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Mon Mar 31 07:33:44 PDT 2014
;; MSG SIZE  rcvd: 86

答案1

dig 命令不使用 DNS 搜索路径来搜索主机,它只在 DNS 中查找 FQDN。这是因为 dig 直接查询名称服务器,而不是使用 nsswitch 方法(该方法提供搜索路径功能)。

如您所见,非 fqdn 无法使用 dig 解析: mtak@gen1:~$ dig svc1 +short mtak@gen1:~$ dig svc1.int.mtak.nl +short 10.100.0.11 您可以使用 host 命令检查 DNS 搜索路径是否正常工作: mtak@gen1:~$ host svc1 svc1.int.mtak.nl has address 10.100.0.11

答案2

这是 dig 默认行为的一个特点。它会忽略 /etc/resolv.conf 中的搜索和域指令,除非您告诉它使用它们:

+[no]search 使用 [不使用] resolv.conf 中的 searchlist 或 domain 指令定义的搜索列表(如果有)。默认情况下不使用搜索列表。

您可以将“+search”添加到 $HOME/.digrc 以使其自动查找短名称。

相关内容