我有一个Windows 2008 R2的域控制器,这也是一个DNS服务器。 parsing某些TLD时,它将返回一个SERVFAIL:
$ dig bogus. ; <<>> DiG 9.8.1 <<>> bogus. ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 31919 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;bogus. IN A
对于像com.这样的真正的TLD,我得到了相同的结果com. 当查询DC时如上所示。 与按预期工作的BIND服务器比较:
$ dig bogus. @128.59.59.70 ; <<>> DiG 9.8.1 <<>> bogus. @128.59.59.70 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 30141 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;bogus. IN A ;; AUTHORITY SECTION: . 10800 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2012012501 1800 900 604800 86400 ;; Query time: 18 msec ;; SERVER: 128.59.59.70#53(128.59.59.70) ;; WHEN: Wed Jan 25 14:09:14 2012 ;; MSG SIZE rcvd: 98
同样,当我查询我的Windows DNS服务器dig . any dig . any ,我得到一个SERVFAIL但BIND服务器按预期返回根区域。
这听起来类似于http://support.microsoft.com/kb/968372中描述的问题,除了我使用两个转发器(128.59.59.70从上面以及128.59.62.10),并回落到根提示,所以前提条件揭露的问题是不一样的。 不过,我也应用了MaxCacheTTLregistry修补程序,并重新启动DNS和整个服务器,但问题依然存在。 在该域中的所有域控制器上都会出现该问题,并且自从半年前发生,即使服务器正在自动更新Windows。
编辑
这是一个debugging日志。 客户端是160.39.114.110,这是我的工作站。
1/25/2012 2:16:01 PM 0E08 PACKET 000000001EA6BFD0 UDP Rcv 160.39.114.110 2e94 Q [0001 D NOERROR] A (5)bogus(0) UDP question info at 000000001EA6BFD0 Socket = 508 Remote addr 160.39.114.110, port 49710 Time Query=1077016, Queued=0, Expire=0 Buf length = 0x0fa0 (4000) Msg length = 0x0017 (23) Message: XID 0x2e94 Flags 0x0100 QR 0 (QUESTION) OPCODE 0 (QUERY) AA 0 TC 0 RD 1 RA 0 Z 0 CD 0 AD 0 RCODE 0 (NOERROR) QCOUNT 1 ACOUNT 0 NSCOUNT 0 ARCOUNT 0 QUESTION SECTION: Offset = 0x000c, RR count = 0 Name "(5)bogus(0)" QTYPE A (1) QCLASS 1 ANSWER SECTION: empty AUTHORITY SECTION: empty ADDITIONAL SECTION: empty 1/25/2012 2:16:01 PM 0E08 PACKET 000000001EA6BFD0 UDP Snd 160.39.114.110 2e94 RQ [8281 DR SERVFAIL] A (5)bogus(0) UDP response info at 000000001EA6BFD0 Socket = 508 Remote addr 160.39.114.110, port 49710 Time Query=1077016, Queued=0, Expire=0 Buf length = 0x0fa0 (4000) Msg length = 0x0017 (23) Message: XID 0x2e94 Flags 0x8182 QR 1 (RESPONSE) OPCODE 0 (QUERY) AA 0 TC 0 RD 1 RA 1 Z 0 CD 0 AD 0 RCODE 2 (SERVFAIL) QCOUNT 1 ACOUNT 0 NSCOUNT 0 ARCOUNT 0 QUESTION SECTION: Offset = 0x000c, RR count = 0 Name "(5)bogus(0)" QTYPE A (1) QCLASS 1 ANSWER SECTION: empty AUTHORITY SECTION: empty ADDITIONAL SECTION: empty
debugging日志框中的每个选项都被选中,除了“按IP过滤”。 相比之下,当我查询accounts.google.com时,我可以看到DNS服务器转发给它的转发器(例如128.59.59.70)。 在这种情况下,即使bogus. ,我也没有看到任何数据包从我的DNS服务器发出bogus. 不在caching中(debugging日志已经运行,这是我第一次查询这台服务器的bogus.或任何TLD)。 它只是返回SERVFAIL没有咨询任何其他的DNS服务器,如上面链接的Microsoft知识库文章。
在没有configuration转发器的情况下,我们在Microsoft DNS服务器上遇到类似问题。 看起来像这个修补程序是相关的: http : //support.microsoft.com/kb/2508835 。 我不会说使用转发器会否定适用性。