BIND 似乎忽略了胶水记录

BIND 似乎忽略了胶水记录

我们在 CentOS 上运行 BIND 的一些缓存名称服务器中遇到了问题,因为它们似乎运行不正确,无法正确处理包含粘合记录的“附加记录”。当询问 d.gtld-servers.net 时,dig 会获取粘合记录:

$ dig @192.31.80.30 ns1.teamsystem.com

; DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5 @192.31.80.30 ns1.teamsystem.com
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; -HEADER- opcode: QUERY, status: NOERROR, id: 48270
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;ns1.teamsystem.com.            IN      A

;; AUTHORITY SECTION:
teamsystem.com.         172800  IN      NS      ns1.teamsystem.com.
teamsystem.com.         172800  IN      NS      ns2.teamsystem.com.

;; ADDITIONAL SECTION:
ns1.teamsystem.com.     172800  IN      A       2.115.99.97
ns2.teamsystem.com.     172800  IN      A       2.115.99.98

;; Query time: 100 msec
;; SERVER: 192.31.80.30#53(192.31.80.30)
;; WHEN: Mon Aug  6 10:22:54 2012
;; MSG SIZE  rcvd: 100

我想知道它是否是域本身的问题还是我们配置不正确。以下是释义的 tcpdump。

# dig +trace ns1.teamsystem.com
- Standard query NS <Root>
- Standard query response NS ... (lists all the root nameservers)
- Standard query A d.gtld-servers.net
- Standard query response A 192.31.80.30
- Standard query A ns1.teamsystem.com
- Standard query response 
-- Additional Records
--- ns1.teamsystem.com: type A, class IN, addr 2.115.99.97
--- ns2.teamsystem.com: type A, class IN, addr 2.115.99.98

此时,dig 开始使用 /etc/resolv.conf 中的名称服务器来获取 ns1.teamsystem.com 的 AAAA

- Standard query AAAA ns1.teamsystem.com
- Standard query response, Server failure

我们有 3 个名称服务器条目,因此它会尝试所有条目,但收到相同的失败。然后它会重试 A 记录请求。

- Standard query A ns1.teamsystem.com
- Standard query response, Server failure

这证明我们的解析器上的 BIND 无法或不愿意跟踪“附加记录”部分中清楚提供的粘合记录。

我们发现该区域的唯一问题是 SOA 与粘合记录中的名称服务器不匹配:

$ dig +short @2.115.99.98 teamsystem.com SOA  
ns.teamsystem.com. postmaster.teamsystem.com. 1 3600 600 86400 3600

相关内容