Windows 将域后缀附加到所有查找

Xap*_*Xap 28 networking domain-name-system windows active-directory

我有一个反复出现的 DNS 问题,它一直困扰着我们的用户,偶尔会导致他们的笔记本电脑将我们公司的域附加到所有 DNS 查询的末尾。该问题仅在用户不在现场时出现,而且似乎相当随机。它会在一天工作,然后突然显示无效条目。这主要影响 Windows XP 用户,但最近也出现在 Vista 上。这是使用 nslookup 的示例。

C:\Users\Username>nslookup www.yahoo.com 
Server: Linksys
Address: 192.168.0.1

Non-authoritative answer:
Name: www.yahoo.com.EXAMPLE.COM
Address: 192.0.2.99
Run Code Online (Sandbox Code Playgroud)

我已经用占位符替换了报告的 IP 地址,但我可以告诉您,它返回的是*.我们网络解决方案配置中的默认条目。由于显然www.yahoo.com.EXAMPLE.COM不存在,这是有道理的。我相信用户的内部设备运行正常。在内部,我们运行带有基于 Windows 的 DHCP 和 DNS 服务器的 Windows 2k3 Active Directory。最终问题通常会在几个小时或多次重启后自行解决。

有没有人见过这种行为?

Jos*_*hua 32

如果您启动 nslookup 并打开调试,您将看到 Windows 总是首先尝试附加其后缀。

C:\>nslookup
Default Server:  itads.example.com
Address:  0.0.0.0

> set debug=true
> www.yahoo.com
Server:  itads.example.com
Address:  0.0.0.0

------------
Got answer:
    HEADER:
        opcode = QUERY, id = 2, rcode = NXDOMAIN
        header flags:  response, auth. answer, want recursion, recursion avail.
        questions = 1,  answers = 0,  authority records = 1,  additional = 0

    QUESTIONS:
        www.yahoo.com.example.com, type = A, class = IN
    AUTHORITY RECORDS:
    ->  example.com
        ttl = 3600 (1 hour)
        primary name server = itads.example.com
        responsible mail addr = itads.example.com
        serial  = 12532170
        refresh = 1200 (20 mins)
        retry   = 600 (10 mins)
        expire  = 1209600 (14 days)
        default TTL = 3600 (1 hour)

------------
------------
Got answer:
    HEADER:
        opcode = QUERY, id = 3, rcode = NOERROR
        header flags:  response, want recursion, recursion avail.
        questions = 1,  answers = 4,  authority records = 0,  additional = 0

    QUESTIONS:
        www.yahoo.com, type = A, class = IN
    ANSWERS:
    ->  www.yahoo.com
        canonical name = www.wa1.b.yahoo.com
        ttl = 241 (4 mins 1 sec)
    ->  www.wa1.b.yahoo.com
        canonical name = www-real.wa1.b.yahoo.com
        ttl = 30 (30 secs)
    ->  www-real.wa1.b.yahoo.com
        internet address = 209.131.36.158
        ttl = 30 (30 secs)
    ->  www-real.wa1.b.yahoo.com
        internet address = 209.191.93.52
        ttl = 30 (30 secs)

------------
Non-authoritative answer:
Name:    www-real.wa1.b.yahoo.com
Addresses:  209.131.36.158, 209.191.93.52
Aliases:  www.yahoo.com, www.wa1.b.yahoo.com
Run Code Online (Sandbox Code Playgroud)

正如您在上面看到的,我的机器首先尝试查找 www.yahoo.com.example.com,并且 DNS 服务器响应NXDOMAIN(未找到条目)。您可以通过运行来确认这一点nslookup www.yahoo.com.(注意 .com 末尾的点!),您将看到它已正常解析。

发生的情况是您的外部DNS 服务器正在响应他们有一个“www.yahoo.com.example.com”的条目,并且正在返回您站点根目录的 IP 地址。我不确定你使用什么服务,但我猜你有一个通配符映射,它告诉你的服务器用有效的响应来响应任何未知的查询,而不是返回NXDOMAIN. 你需要仔细检查您的设置服务器并确认它设置为仅回应查询条目它实际上有(example.comwww.example.commail.example.com等)。

请记住,DNS 通过检查配置的服务器并从那里开始工作。DNS 查询可以采用类似以下模式的路径(当然这只是一个例子,它可能是错误的): Machine -> Local Router DNS (linksys) -> ISP DNS -> (2nd ISP DNS?) -> Root服务器 DNS -> TLD DNS -> 您的外部 DNS 服务器。沿着这条路的人说www.yahoo.com.example.com存在。可能是您的外部 DNS 服务器。

编辑

我想我会再包括一个关于你提到的随机性的花絮。如果这种情况真的偶尔发生,您可能有一个配置错误的外部 DNS 服务器,或者他们的 ISP 可能正在提供 DNS 劫持服务。不幸的是,我看到越来越多的住宅 ISP 为无效域名提供“搜索服务”。由于几乎所有最终用户都使用他们的 ISP DNS 服务器,因此 ISP 现在开始将无效域条目重定向到搜索页面——一个通常充斥着广告、不相关链接和一个小小的“你是说 www.example.com 吗?”的搜索页面。一些结果可能与域名相关,也可能不相关。我知道 Verizon 和 Comcast 开始这样做,我相信 Quest 也开始这样做。另一种可能性是 OpenDNS,因为如果没有,它们会提供相同的“搜索相关域”

不过,我提出的问题是,问题在于您说它正在返回您的根记录的地址,如果他们试图搜索它,这些地址都不会这样做,他们会给您一个 IP他们的网络服务器来处理搜索。

  • 很好的总结 - 这是许多住宅 ISP 的常见问题。 (2认同)