注意:这是先前的问题经过进一步调查。
问题(迄今为止)似乎隔离到 Win2003 DNS 服务器(虽然我还没有尝试过其他服务器类型)
这些问题也(自 2010-02-24 起)以 MSDN 论坛帖子的形式公开这里但我希望有人可以帮助测试其他服务器类型。
我遇到了一个相当奇怪的 DNS 问题(服务器 = Win2003)
我已经开始直接与我的 ISP 进行调查,我们遇到了如下所示的奇怪问题。
注意:这些结果偶尔会以某种方式起作用(最好在清除 Win2003 DNS 缓存后进行测试)
首先,如果我们查看 wilmot.me.uk 的名称服务器记录,我们会得到:
>>> nslookup -q=cname mail.wilmot.me.uk
Non-authoritative answer:
wilmot.me.uk nameserver = primary-dns.co.uk
wilmot.me.uk nameserver = secondary-dns.co.uk
现在,有两条记录特别令人感兴趣。
>>> nslookup -q=cname mail.wilmot.me.uk
Non-authoritative answer:
mail.wilmot.me.uk canonical name = wilmot.me.uk.mail.aaisp.net.uk
>>> nslookup -q=cname mail2.wilmot.me.uk
Non-authoritative answer:
mail2.wilmot.me.uk canonical name = C.mail.aaisp.net.uk
现在问题似乎是本地 Windows 2003 DNS 服务器没有正确遵循 CNAME 数据。
使用以下命令:
>>> nslookup -d2 -q=a mail.wilmot.me.uk.
>>> nslookup -d2 -q=a mail2.wilmot.me.uk.
我们可以看到:
mail.wilmot.me.uk 返回 NXDOMAIN 结果 但是:
mail.wilmot.me.uk 返回带有 IP 地址的 NOERROR 结果(正如预期)。
看起来 CNAME 没有被正确遵循。
奇怪的是,以下两项均按预期返回。
>>> nslookup -q=a wilmot.me.uk.mail.aaisp.net.uk.
>>> nslookup -q=a C.mail.aaisp.net.uk.
如果有人能帮助阐明这一点(即使是通过确认“是的,它会在 xxx 操作系统中导致问题”或“似乎在 yyy 操作系统中运行良好”,那就太好了。
下面的日志数据显示 Win2003 甚至没有尝试解析wilmot.me.uk.mail.aaisp.net.uk.
CNAME
DNS Server log file creation at 24/02/2010 15:07:34 UTC
Message logging key (for packets - other items use a subset of these fields):
Field # Information Values
------- ----------- ------
1 Date
2 Time
3 Thread ID
4 Context
5 Internal packet identifier
6 UDP/TCP indicator
7 Send/Receive indicator
8 Remote IP
9 Xid (hex)
10 Query/Response R = Response
blank = Query
11 Opcode Q = Standard Query
N = Notify
U = Update
? = Unknown
12 [ Flags (hex)
13 Flags (char codes) A = Authoritative Answer
T = Truncated Response
D = Recursion Desired
R = Recursion Available
14 ResponseCode ]
15 Question Type
16 Question Name
20100224 15:07:36 D80 EVENT The DNS server has started.
---
20100224 15:07:45 5A4 PACKET 00F421D0 UDP Rcv 10.0.0.102 0001 Q [0001 D NOERROR] PTR (1)2(1)0(1)0(2)10(7)in-addr(4)arpa(0)
20100224 15:07:45 5A4 PACKET 00F421D0 UDP Snd 10.0.0.102 0001 R Q [8085 A DR NOERROR] PTR (1)2(1)0(1)0(2)10(7)in-addr(4)arpa(0)
20100224 15:07:45 5A4 PACKET 00F42C80 UDP Rcv 10.0.0.102 0002 Q [0001 D NOERROR] A (4)mail(6)wilmot(2)me(2)uk(0)
20100224 15:07:45 5A4 PACKET 02349AE0 UDP Snd 192.36.148.17 a992 Q [0000 NOERROR] NS (0)
20100224 15:07:45 5A4 PACKET 02344000 UDP Snd 128.63.2.53 b3cb Q [0000 NOERROR] A (4)mail(6)wilmot(2)me(2)uk(0)
20100224 15:07:45 5A4 PACKET 017E9FF0 UDP Rcv 192.36.148.17 a992 R Q [0084 A NOERROR] NS (0)
20100224 15:07:46 5A4 PACKET 017C7430 UDP Rcv 128.63.2.53 b3cb R Q [0080 NOERROR] A (4)mail(6)wilmot(2)me(2)uk(0)
20100224 15:07:46 5A4 PACKET 02344000 UDP Snd 195.66.240.130 4caf Q [0000 NOERROR] A (4)mail(6)wilmot(2)me(2)uk(0)
20100224 15:07:46 5A4 PACKET 01706E30 UDP Rcv 195.66.240.130 4caf R Q [0080 NOERROR] A (4)mail(6)wilmot(2)me(2)uk(0)
20100224 15:07:46 5A4 PACKET 02349AE0 UDP Snd 156.154.102.3 c5a7 Q [0000 NOERROR] A (11)primary-dns(2)co(2)uk(0)
20100224 15:07:46 5A4 PACKET 01CF9870 UDP Rcv 156.154.102.3 c5a7 R Q [0080 NOERROR] A (11)primary-dns(2)co(2)uk(0)
20100224 15:07:46 5A4 PACKET 02349AE0 UDP Snd 81.187.30.41 afb9 Q [0000 NOERROR] A (11)primary-dns(2)co(2)uk(0)
20100224 15:07:46 5A4 PACKET 00F76370 UDP Rcv 81.187.30.41 afb9 R Q [0084 A NOERROR] A (11)primary-dns(2)co(2)uk(0)
20100224 15:07:46 5A4 PACKET 02344000 UDP Snd 81.187.30.41 bc45 Q [0000 NOERROR] A (4)mail(6)wilmot(2)me(2)uk(0)
20100224 15:07:46 5A4 PACKET 01C1C6D0 UDP Rcv 81.187.30.41 bc45 R Q [0384 A NXDOMAIN] A (4)mail(6)wilmot(2)me(2)uk(0)
20100224 15:07:46 5A4 PACKET 01C1C6D0 UDP Snd 10.0.0.102 0002 R Q [0384 A NXDOMAIN] A (4)mail(6)wilmot(2)me(2)uk(0)
---
20100224 15:07:49 5A4 PACKET 02343550 UDP Rcv 10.0.0.102 0001 Q [0001 D NOERROR] PTR (1)2(1)0(1)0(2)10(7)in-addr(4)arpa(0)
20100224 15:07:49 5A4 PACKET 02343550 UDP Snd 10.0.0.102 0001 R Q [8085 A DR NOERROR] PTR (1)2(1)0(1)0(2)10(7)in-addr(4)arpa(0)
20100224 15:07:49 5A4 PACKET 00F421D0 UDP Rcv 10.0.0.102 0002 Q [0001 D NOERROR] A (5)mail2(6)wilmot(2)me(2)uk(0)
20100224 15:07:49 5A4 PACKET 00F42C80 UDP Snd 81.187.30.41 42d0 Q [0000 NOERROR] A (5)mail2(6)wilmot(2)me(2)uk(0)
20100224 15:07:49 5A4 PACKET 02311E70 UDP Rcv 81.187.30.41 42d0 R Q [0084 A NOERROR] A (5)mail2(6)wilmot(2)me(2)uk(0)
20100224 15:07:49 5A4 PACKET 00F42C80 UDP Snd 194.83.244.131 8601 Q [0000 NOERROR] A (1)C(4)mail(5)aaisp(3)net(2)uk(0)
20100224 15:07:49 5A4 PACKET 0179F2F0 UDP Rcv 81.187.81.33 8601 R Q [0080 NOERROR] A (1)C(4)mail(5)aaisp(3)net(2)uk(0)
20100224 15:07:49 5A4 PACKET 00F42C80 UDP Snd 195.66.240.130 8601 Q [0000 NOERROR] A (1)C(4)mail(5)aaisp(3)net(2)uk(0)
20100224 15:07:49 5A4 PACKET 0179FDA0 UDP Rcv 195.66.240.130 8601 R Q [0080 NOERROR] A (1)C(4)mail(5)aaisp(3)net(2)uk(0)
20100224 15:07:49 5A4 PACKET 02349AE0 UDP Snd 194.83.244.131 3e6d Q [0000 NOERROR] A (4)auth(13)secondary-dns(2)co(2)uk(0)
20100224 15:07:49 5A4 PACKET 01B36A50 UDP Rcv 81.187.81.32 3e6d R Q [0080 NOERROR] A (4)auth(13)secondary-dns(2)co(2)uk(0)
20100224 15:07:49 5A4 PACKET 0234C590 UDP Snd 81.187.81.32 284a Q [0000 NOERROR] A (4)auth(11)primary-dns(2)co(2)uk(0)
20100224 15:07:49 5A4 PACKET 01E12130 UDP Rcv 81.187.81.32 284a R Q [0084 A NOERROR] A (4)auth(11)primary-dns(2)co(2)uk(0)
20100224 15:07:49 5A4 PACKET 00F42C80 UDP Snd 81.187.30.42 f980 Q [0000 NOERROR] A (1)C(4)mail(5)aaisp(3)net(2)uk(0)
20100224 15:07:49 5A4 PACKET 020E0CF0 UDP Rcv 81.187.30.42 f980 R Q [0084 A NOERROR] A (1)C(4)mail(5)aaisp(3)net(2)uk(0)
20100224 15:07:49 5A4 PACKET 00F421D0 UDP Snd 10.0.0.102 0002 R Q [8081 DR NOERROR] A (5)mail2(6)wilmot(2)me(2)uk(0)
20100224 15:07:57 D80 EVENT The DNS server wrote version 567 of zone data-utilities.co.uk to file data-utilities.co.uk.dns.
---
答案1
Server 2003 DNS 已经存在一段时间了,我有点怀疑是否存在不兼容问题,但我想这是有可能的。如果存在不兼容问题,那不是操作系统问题,而是 MS DNS <-->“其他 DNS”服务器问题。DNS 服务器不知道/不关心请求者的操作系统或它正在查询的 DNS 服务器。
我认为您必须查看您服务器的 DNS 日志,并查看您的 ISP 是否可以与您一起查看它们和/或查看他们自己的日志以查看他们对您的域的 DNS 查询返回的内容。
确保在 W2k3 框上禁用 EDNS。 http://support.microsoft.com/kb/832223
我曾见过 DNS 服务器无法解析其他服务器的 DNS 信息,通常这是转发问题。在这种情况下,我的 DNS 上没有转发器,因此它对我来说失败了,但当我更改为附近的 ISP 的 DNS 服务器时,它就可以正常工作。无论如何,如果您在 DNS 服务器上设置了转发器,我会删除它们。
我使用我的内部 MS Server 2008 DNS 从美国进行了测试,它始终失败,但有两个不同的结果:
mail.wilmot.me.uk
服务器:[10.10.254.11]
地址:10.10.254.11
*** [10.10.254.11] can't find mail.wilmot.me.uk: Non-existent domain
mail.wilmot.me.uk
服务器:[10.10.254.11]
地址:10.10.254.11
*** [10.10.254.11] can't find mail.wilmot.me.uk: Server failed
Google DNS 服务器成功解析该问题:
mail.wilmot.me.uk
服务器:google-public-dns-a.google.com
地址:8.8.8.8
非权威答案:
名称:wilmot.me.uk.mail.aaisp.net.uk
地址:2001:8b0:0:30:230:48ff:fedb:256a
2001:8b0:0:30:230:48ff:fedb:25dc
81.187.30.14
81.187.30.19
别名:mail.wilmot.me.uk
最后,我从客户端的内部 MS Server 2003 DNS 获得了 NXDomain:
mail.wilmot.me.uk
服务器:oddjob.xyzassociates.com
地址:192.168.2.7
*** oddjob.xyzassociates.com can't find mail.wilmot.me.uk: Non-existent domain
希望这能有所帮助。
答案2
在 OS X 10.6 上对我来说没有问题:
bash-3.2$ dig mail.wilmot.me.uk
; <<>> DiG 9.6.0-APPLE-P2 <<>> mail.wilmot.me.uk
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23413
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;mail.wilmot.me.uk. IN A
;; ANSWER SECTION:
mail.wilmot.me.uk. 0 IN CNAME wilmot.me.uk.mail.aaisp.net.uk.
wilmot.me.uk.mail.aaisp.net.uk. 3471 IN A 81.187.30.14
wilmot.me.uk.mail.aaisp.net.uk. 3471 IN A 81.187.30.19
;; AUTHORITY SECTION:
mail.aaisp.net.uk. 3368 IN NS auth.primary-dns.co.uk.
mail.aaisp.net.uk. 3368 IN NS auth.secondary-dns.co.uk.
;; ADDITIONAL SECTION:
auth.primary-dns.co.uk. 3466 IN A 81.187.30.42
auth.secondary-dns.co.uk. 3466 IN A 81.187.81.33
;; Query time: 158 msec
;; SERVER: 10.6.18.110#53(10.6.18.110)
;; WHEN: Wed Feb 24 09:18:45 2010
;; MSG SIZE rcvd: 225
bash-3.2$ dig mail2.wilmot.me.uk
; <<>> DiG 9.6.0-APPLE-P2 <<>> mail2.wilmot.me.uk
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41203
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;mail2.wilmot.me.uk. IN A
;; ANSWER SECTION:
mail2.wilmot.me.uk. 0 IN CNAME C.mail.aaisp.net.uk.
C.mail.aaisp.net.uk. 3357 IN A 81.187.30.19
C.mail.aaisp.net.uk. 3357 IN A 81.187.30.14
;; AUTHORITY SECTION:
ail.aaisp.net.uk. 3357 IN NS auth.primary-dns.co.uk.
mail.aaisp.net.uk. 3357 IN NS auth.secondary-dns.co.uk.
;; ADDITIONAL SECTION:
auth.primary-dns.co.uk. 3455 IN A 81.187.30.42
auth.secondary-dns.co.uk. 3455 IN A 81.187.81.33
;; Query time: 162 msec
;; SERVER: 10.6.18.110#53(10.6.18.110)
;; WHEN: Wed Feb 24 09:18:56 2010
;; MSG SIZE rcvd: 216
答案3
我不相信你会发现任何人(无论操作系统)都会遇到此问题,除非他们查询你的内部 DNS 服务器。为了论证,我尝试并成功解决了使用 Mac 10.6、Ubuntu Server 9.10、Windows 7 和 Windows XP 从 4 个不同网络使用三个不同的 DNS 服务器的问题。它们都正确解析了。
我查看了您引用的另一个问题,发现 box2.data-utilities.co.uk 无法解析该域名。
是否有可能是您的本地 DNS 服务器上没有正确定义 mail.wilmot.me.uk,而您的本地 DNS 服务器延迟不正确?
因为我在您的示例中看到引用了 NXDOMAIN 和 NOERROR,所以情况似乎确实如此。
您已发布了大量数据,因此,如果我读得不正确,请原谅我。
编辑:还有一件事,我相信如果您的 DNS 服务器提供域名映射,您将获得 NOERROR。如果它将其交给另一台服务器,您将获得 NXDOMAIN,然后从最终 DNS 服务器获得 NOERROR。
另外,我在 Windows 2003、Windows 2008 和 Ubuntu 9.10 上本地运行 dns 服务器。如果需要,我们会比较 Windows2003 dns 的注释。