好的,我是 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.