在 AIX(5.3)上命名 - DIG 找不到没有 FQDN 的主机?

在 AIX(5.3)上命名 - DIG 找不到没有 FQDN 的主机?

好的,我是 AIX 和 Named 的新手,所以希望我只是错过了一些简单的东西。:)

目标是在这个愚蠢的 Windows 工作组/AIX DNS 设置中进行顺畅的 DNS 查找(它最终会改变,但目前我可以进行的基础设施更改有限),并将任何未知信息转发给 OpenDNS。

正如我目前所设置的那样,它“大部分”工作正常。但如果我从 Windows 计算机使用 NSLookup,除非我指定 FDQN,否则它无法解析主机名。

Windows 计算机上的 NSLookup:

> ts02
Server:  ccserver.intranet.domainname.com
Address:  10.0.13.2

Non-authoritative answer:
Name:    ts02
Address:  67.215.65.132

(67.215.65.132 是 OpenDNS。)

如果我使用 FQDN (Windows 机器) 进行 NSLookup:

> ts02.intranet.domainname.com
Server:  ccserver.intranet.domainname.com
Address:  10.0.13.2

Name:    ts02.intranet.domainname.com
Address:  10.0.13.5

如果我从 AIX 机器本身进行 NSLookup:

# nslookup ts02
Server:  ccserver
Address:  0.0.0.0

Name:    ts02.intranet.domainname.com
Address:  10.0.13.5

其结果如预期。

但是如果我从 AIX 服务器挖掘:

; <<>> DiG 9.4.2-P2 <<>> ts02
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 495
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 0

;; QUESTION SECTION:
;ts02.                          IN      A

;; ANSWER SECTION:
ts02.                   0       IN      A       67.215.65.132

;; AUTHORITY SECTION:
.                       514925  IN      NS      d.root-servers.net.
.                       514925  IN      NS      c.root-servers.net.
.                       514925  IN      NS      g.root-servers.net.
.                       514925  IN      NS      h.root-servers.net.
.                       514925  IN      NS      k.root-servers.net.
.                       514925  IN      NS      m.root-servers.net.
.                       514925  IN      NS      b.root-servers.net.
.                       514925  IN      NS      e.root-servers.net.
.                       514925  IN      NS      l.root-servers.net.
.                       514925  IN      NS      i.root-servers.net.
.                       514925  IN      NS      a.root-servers.net.
.                       514925  IN      NS      f.root-servers.net.
.                       514925  IN      NS      j.root-servers.net.

;; Query time: 99 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)

从 AIX 进行挖掘,使用 FQDN:

; <<>> DiG 9.4.2-P2 <<>> ts02.intranet.domainname.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 269
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;ts02.intranet.domainname.com. IN A

;; ANSWER SECTION:
ts02.intranet.domainname.com. 900 IN A 10.0.13.5

;; AUTHORITY SECTION:
intranet.domainname.com. 900 IN NS  ns1.intranet.domainname.com.

;; ADDITIONAL SECTION:
ns1.intranet.domainname.com. 900 IN A 10.0.13.2

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)

我的/etc/resolv.conf:

# cat resolv.conf
domain intranet.domainname.com
Nameserver 127.0.0.1

我正在绞尽脑汁,所以任何想法都值得赞赏。如果需要,我也可以提供更多信息……

提前致谢!


更新:

好的,按照建议,我将“搜索”添加回 resolv.conf:

# cat resolv.conf
domain intranet.domainname.com
search intranet.domainname.com
Nameserver 127.0.0.1

这似乎没什么区别。我之前曾在那里搜索过,但在网上(IBM 网站)看到如果只有一个域,则不需要搜索后,就删除了它。我会把它保留在那里。

我还可以与 AIX 服务器之间以及 Windows 主机之间(无论是否带有 FQDN)都可以进行通信,并且能够按预期进行解析。

但是,除非我使用 FQDN,否则来自 Windows 主机的 NSLookup 仍然会失败,包括尝试通过通常的(现有的)“ns1”别名查找 DNS 服务器:

C:\>nslookup ccserver
Server:  ccserver.intranet.domainname.com
Address:  10.0.13.2

Non-authoritative answer:
Name:    ccserver
Address:  67.215.65.132


C:\>nslookup ns1
Server:  ccserver.intranet.domainname.com
Address:  10.0.13.2

Non-authoritative answer:
Name:    ns1
Address:  67.215.65.132


C:\>nslookup ccserver.intranet.domainname.com
Server:  ccserver.intranet.domainname.com
Address:  10.0.13.2

Name:    ccserver.intranet.domainname.com
Address:  10.0.13.2


C:\>nslookup ns1.intranet.domainname.com
Server:  ccserver.intranet.domainname.com
Address:  10.0.13.2

Name:    ns1.intranet.domainname.com
Address:  10.0.13.2

我没有新想法,所以如果其他人有的话,请帮助兄弟。:)

答案1

您不需要更新您的 resolv.conf 文件吗?

# cat /etc/resolv.conf
domain intranet.domainname.com
search intranet.domainname.com
Nameserver 127.0.0.1

答案2

在查找其他操作系统的类似问题时偶然发现了这个问题,但它适用于这里。希望这个迟来的答案仍然对某些人有帮助。

Dig 默认不使用 中的搜索参数/etc/resolv.conf。您必须在 命令 或 中指定$HOME/.digrc

摘自 AIX dig 手册页:

+[no]search
Use [do not use] the search list defined by the search list or domain
directive in resolv.conf (if any). The search list is not used by default.  

AIX 文档

相关内容