两个 CNAME 记录的解析方式不同(Windows 2003 Server)

两个 CNAME 记录的解析方式不同(Windows 2003 Server)

注意:这是先前的问题经过进一步调查。

问题(迄今为止)似乎隔离到 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 的注释。

相关内容