我在 ubuntu 12.04 上有一个 resolv.conf,看起来像这样(IP 地址已更改为无意义的):
search internal.mydomain.com
nameserver 205.169.169.193
该名称服务器对 不具有权威性mydomain.com
,但确实包含 的有效记录internal.mydomain.com
。我可以使用此 resolv.conf发出host
和查询,而不会出现问题:nslookup
$ host myserver
myserver.internal.mydomain.com has address 10.1.1.3
$ nslookup myserver
Server: 205.169.169.193
Address: 205.169.169.193
Name: myserver.internal.mydomain.com
Address: 10.1.1.3
一切运行良好,但该名称服务器位于 AWS 的路线 53无法递归,所以无法解析,比如说google.com
。
所以我添加了另一个名称服务器。具体来说,就是我的 ubuntu 映像在实例化时使用的普通 AWS 名称服务器。我知道它运行良好:
search internal.mydomain.com
nameserver 205.169.169.193
nameserver 172.152.152.112
现在,当我运行时nslookup
,它会查询第一个名称服务器,正如我预期的那样,但找不到记录,而是转到 172.* 服务器:
$ nslookup myserver
;; Got recursion not available from 205.169.169.193, trying next server
;; Got recursion not available from 205.169.169.193, trying next server
Server: 172.152.152.112
Address: 172.152.152.112#53
** server can't find myserver: NXDOMAIN
我很困惑。为什么当我有一条名称服务器记录时,resolv.conf 的行为正确,而当我有多个名称服务器记录时,行为却不正确?
值得注意的是,它在 Amazon 的 Linux 上按我预期的那样运行v3.4.73-64.112.amzn1.x86_64 (mockbuild@gobi-build-31003)
。这是 ubuntu 12.04 中的一个错误吗?