Windows在所有查找(甚至有效的FQDN)上都使用DNS后缀搜索列表。如何停止呢?


15

在进行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的输出(启用了debug和db2)。这是使用静态IP和(内部)DNS服务器。

C:\> ipconfig /全部

Windows IP配置

        主机名 。。。。。。。。。。。。:磨损逻辑
        主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 = NOERROR
        标头标志:响应,想要递归,递归有效。
        问题= 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
“即使是完全合格的域名......” -不,只是直接设置为Google员工:www.microsoft.com不是一个完全合格的域名。Windows正在正确执行这一操作。见应待接受的答案:superuser.com/a/413529/150263
SZ。

Answers:


13

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

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

Windows Registry Editor Version 5.00

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

HKLM \软件\策略\ Microsoft \ Windows NT \ DNSClient \ AppendToMultiLabelName
类型= DWORD

数据:

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

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

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

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


它不会影响nslookup,但会影响使用DNS客户端的每个程序,其中包括Web浏览器之类的程序。
RyanTM

21

抱歉,很抱歉让一个很老的问题复活了,但是似乎没有人提出强制使用fqdn的明显答案。只需使用尾随点即可强制进行顶级查询。因此,在此示例中查找www.microsoft.com.


6
这不是真正的“强迫”。FQDN以句点结尾。结束。其他所有格式都不是FQDN。www.example.com部分合格。
Daniel B

4
“很抱歉,我们想解决一个明显的老问题”-杰夫,感谢上帝,您做到了!不要为实际上处于休眠状态的主题真正增值而道歉,在该主题中,时间显然不是一个重要的方面(与相关性,一致性,实用性等相比)
Sz。

9

我遇到了同样的问题,因为我的域控制器是作为域的一部分安装的,然后从域中删除。例如域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。必须为所有域计算机执行此操作。


这正是我追尾两个小时的原因。不知何故,我的雇主的域出现在ipconfig / all“ DNS后缀搜索列表”中。事实证明,上面列出的位置恰好列出了它。我删除了该条目,并将单选按钮更改为“附加主要的和特定于连接的DNS后缀”,它停止对我的雇主对每个DNS查询执行ping操作。
艾伦·杰克逊

3

它按设计工作。只需在末尾添加一个点。

因此例如:

nslookup www.yahoo.com. 

代替

nslookup www.yahoo.com

那么您将获得想要看到的结果。


1
您的答案就像一条评论,OP已经接受了另一个答案
山姆

“ OP已经接受了另一个答案”-这并不意味着什么,这不是竞争。OP已经接受了“错误”的答案,顺便说一句。(误导意义上的“错误”:它可能解决了他的问题,但是出于错误的原因和叙述。)
Sz。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.