Windows 在所有查找中使用 DNS 后缀搜索列表,甚至有效的 FQDN。如何停止这种情况?

Windows 在所有查找中使用 DNS 后缀搜索列表,甚至有效的 FQDN。如何停止这种情况?

在进行 DNS 查找时(特别是使用 nslookup,出于某种原因,大多数内容都不会受到影响),Windows XP Pro SP3 会针对每个内容使用 DNS 后缀搜索列表。即使是完全合格的域名也是如此。例如,我查找“www.microsoft.com”,但 Windows 实际上要求输入“www.microsoft.com.eondream.com”(eondream.com 是我的主域)。现在我可以通过删除主 DNS 后缀来修复此问题,但在我看来,DNS 后缀搜索列表应该是简短的无效名称(其中点 = 0 或其他内容)。我确信我在 Windows 的某个地方配置不正确,但我不知道在哪里。我已经更改了我能想到或找到的每个选项。

以下是 ipconfig /all 和 nslookup 的输出(启用了调试和 db2)。这是使用静态 IP 和(内部)DNS 服务器。

C:\>ipconfig /all

Windows IP 配置

        主机名......................:frayedlogic
        主 DNS 后缀 . . . . . . . : eondream.com
        节点类型....。....。....。....:未知
        IP 路由已启用。。。。。。。:否
        WINS 代理已启用。。。。。。。:否
        DNS 后缀搜索列表。。。。。。:eondream.com

以太网适配器无线网络连接:

        连接特定的 DNS 后缀 . :
        描述................................:戴尔无线 1390 WLAN 迷你卡
        物理地址。。。。。。。。。。。:00-1B-FC-29-EB-6B
        DHCP 已启用。。。。。。。。。。:否
        IP 地址.............................................................: 192.168.13.32
        子网掩码.......................................................................................................................: 255.255.255.0
        默认网关................:192.168.13.13
        DNS 服务器...............: 192.168.19.19
C:\>nslookup
默认服务器:shardik.eondream.com
地址:192.168.19.19

> 设置调试
> 设置 db2
>www.microsoft.com
服务器: shardik.eondream.com
地址:192.168.19.19

------------
得到答案:
    标头:
        操作码 = 查询,id = 2,rcode = 无错误
        标题标志:响应、需要递归、递归可用。
        问题 = 1,答案 = 1,权威记录 = 0,附加 = 0

    问题:
        www.microsoft.com.eondream.com,类型 = A,类别 = IN
    答案:
    -> www.microsoft.com.eondream.com
        互联网地址 = 208.69.36.132
        ttl = 0(0 秒)

------------
非权威答案:
名称:www.microsoft.com.eondream.com
地址:208.69.36.132

(注意:它解析为该 IP 是因为我使用 opendns 服务,这是他们的建议页面或任何你想称呼它的页面)如果我正确读取了 nslookup 输出,那么这不是我的 DNS 服务器的问题,因为 Windows 实际上请求的是错误的域。

答案1

好吧,我不是专家,但这是我发现的:

此注册表项适用于 Windows XP 和 Windows Vista

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClient]
"AppendToMultiLabelName"=dword:00000000

HKLM\Software\Policies\Microsoft\Windows NT\DNSClient\AppendToMultiLabelName
类型 = DWORD

数据:

  • 0(不添加后缀)
  • 1(附加后缀)

如果不存在该注册表项,则 Windows XP 中的默认值为 1,Windows Vista 中的默认值为 0。

笔记:此注册表更改及其效果仅适用于ping命令,不适用于nslookup工具。这是因为nslookup包含自己的 DNS 解析器,不依赖于操作系统内置的解析器(DNS 客户端)。无论此处提到的注册表项设置如何,工具发送的 DNS(多标签)查询数据包都nslookup将附加后缀搜索顺序中列出的域。

参考: http://blogs.technet.com/networking/archive/2009/04/16/dns-client-name-resolution-behavior-in-windows-vista-vs-windows-xp.aspx

答案2

抱歉,我又重新提起一个显然是老问题了,但似乎没有人提出强制使用 fqdn 这个显而易见的答案。只需使用尾随的点即可强制使用顶级查找。因此,在此示例中,查找www.microsoft.com.

答案3

我遇到了同样的问题,因为我的域控制器是作为域的一部分安装的,然后又从域中删除了。例如,域cloud作为子域mydomain.com

每个与 DNS 相关的操作(例如运行)nslookup都会产生一个带有后缀的地址.mydomain.com。例如,执行 nslookup 会www.google.com显示为www.google.com.mydomain.com

解决此问题的方法:

  1. 进入网卡的 IP 设置并点击先进的
  2. DNS标签选择附加这些 DNS 后缀(按顺序)
  3. 添加两个后缀.mydomain.com如下所示: 在此处输入图片描述
  4. 点击好的

这会立即生效并影响计算机上的所有 NIC。必须对所有域计算机执行此操作。

答案4

查看您的路由器/网关中是否定义了域名。在此处输入图片描述

相关内容