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

Mik*_* D. 16 dns windows-xp

在进行 DNS 查找时(特别是使用 nslookup,由于某些原因,大多数事情都不会受到影响),Windows XP Pro SP3 使用 DNS 后缀搜索列表来查找每个列表。即使对于完全限定的域名。例如,我查找“www.microsoft.com”,但 Windows 实际上要求“www.microsoft.com.eondream.com”(eondream.com 是我的主域)。现在我可以通过删除主 DNS 后缀来解决这个问题,但在我看来,DNS 后缀搜索列表应该是简短的、无效的名称(其中 dots=0 或其他名称)。我确定我在 Windows 的某个地方有一个错误配置,但我不知道在哪里。我已经改变了我能想到或找到的每一个选项。

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

C:\>ipconfig /all

Windows IP 配置

        主机名 。. . . . . . . . . . . : 磨损的逻辑
        主 Dns 后缀。. . . . . . : 梦之网
        节点类型。. . . . . . . . . . . : 未知
        IP 路由已启用。. . . . . . . : 不
        WINS 代理已启用。. . . . . . . : 不
        DNS 后缀搜索列表。. . . . . : 梦之网

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

        特定于连接的 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 实际上是请求不正确的域。

Jef*_* Mc 22

很抱歉再次提出一个明显的老问题,但似乎没有人建议强制使用 fqdn 的明显答案。只需使用尾随点来强制顶级查找。所以在这个例子中查找www.microsoft.com..

  • 这并不是真正的“强迫”。FQDN 以句点结束。结束。所有其他格式 * 不是 * FQDN。`www.example.com` 仅*部分*合格。 (7认同)
  • “很抱歉再次提出一个明显陈旧的问题”——杰夫,感谢上帝,你做到了!永远不要为一个明显处于休眠状态的话题“增加价值”而道歉,时间显然不是一个重要的维度(与相关性、一致性、实用性等相比)。 (5认同)

eva*_*daz 13

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

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

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClient]
"AppendToMultiLabelName"=dword:00000000
Run Code Online (Sandbox Code Playgroud)

HKLM\Software\Policies\Microsoft\Windows NT\DNSClient\AppendToMultiLabelName
Type = 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


小智 9

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

每个与 DNS 相关的操作(例如运行)都会nslookup导致.mydomain.com附加后缀的地址。例如,执行 nslookupwww.google.com显示为www.google.com.mydomain.com.

要解决此问题:

  1. 转到您网卡的 IP 设置,然后单击高级
  2. DNS选项卡上选择附加这些 DNS 后缀(按顺序)
  3. 添加两个后缀.mydomain.com如下所示: 在此处输入图片说明
  4. 单击确定

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


小智 5

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

所以对于例如:

nslookup www.yahoo.com. 
Run Code Online (Sandbox Code Playgroud)

代替

nslookup www.yahoo.com
Run Code Online (Sandbox Code Playgroud)

然后你就会得到你可能想要看到的结果。