DNS 解析错误地添加了域名后缀,找不到如何防止这种情况

DNS 解析错误地添加了域名后缀,找不到如何防止这种情况

我已经阅读了很多关于此的帖子,但似乎没有一个能够解释或解决我的问题。

我正在设置一个简单的家庭局域网:路由器、客户端,没有 AD 也没有 DNS 服务器。路由器配置需要提供“主机”和“域”,但似乎对它们没有任何作用。它还为 Windows 7 LAN 客户端运行 DHCPd 服务器。DHCPd 配置还可以添加自定义 dhcpd.conf 选项,但目前还没有。LAN 客户端位于有线以太网上,LAN 被视为公共网络,它们从路由器的 DHCP 服务获取 IP,并且它们都有固定(手动设置)的公共 DNS 服务器 IP,而不是 DHCP。

一般来说,它工作正常,但两台运行 Acrylic DNS Proxy(一种简单且众所周知的 Windows DNS 代理)的 PC 给我带来了一个我不知道如何解决的问题。Acrylic 在客户端 PC 上运行。您将网络连接的 DNS 服务器设置为 127.0.0.1,它会将指定的正则表达式域列入黑名单/白名单并返回这些域的修复结果,并将所有其他查找请求转发到用户输入的 DNS 服务器列表,缓存并在收到结果时将其返回给调用程序。它不会做任何其他事情。

大部分情况下,它都按预期工作 - 透明。大多数事情都正常。但许多查找意外失败和/或显示奇怪的请求进入 Acrylic。这些问题似乎是由 Windows 中的 DNS/域后缀问题引起的 - 它要求解析错误的域,尽管按照其他线程中提到的方法进行了检查,但我还是一无所获。

我所看到的例子:

我输入“nslookup microsoft.com“在命令提示符中;Acrylic 日志显示尝试解决”microsoft.com.home域名“也被发送到外部 DNS 服务器。在我的浏览器中输入“msfn.org”会弹出 msfn.org 上的 google 搜索(说它无法将文本解析为网站),但随后它似乎没有遇到重新解析 google 的问题。Acrylic 的日志显示对“msfn.org.home域名“我找不到 Windows 7 在公共 DNS 服务器上查找这些添加了 DNS 后缀的域的任何原因,或者为什么它没有查找正确的域。

ipconfig相关输出:

Windows IP Configuration
  Host Name . . . . . . . . . . . . : (PCs name)
  Primary Dns Suffix  . . . . . . . : (Empty)
  Node Type . . . . . . . . . . . . : Mixed
  IP Routing Enabled. . . . . . . . : No
  WINS Proxy Enabled. . . . . . . . : No
  DNS Suffix Search List. . . . . . : homedomain

Ethernet adapter Local Area COnnection:
  Connection-specific DNS Suffix  . : homedomain

nslookup相关输出:

nslookup microsoft.com
Server:  localhost
Address:  127.0.0.1

Name:    microsoft.com.homedomain
Addresses:  127.0.0.1 (my own fixed response for any *.homedomain domain DNS request)
          127.0.0.1

但是为什么 Windows 首先要求它解析这个错误的域而不是我输入的域?

我尝试过的诊断方法:

  1. 当我在路由器主设置上更改域名时,ipconfig/all 输出和查找日志会跟踪更改。这表明 Windows 在某些时候会从路由器或 DHCP 动态获取后缀,而不是从陈旧的注册表数据等获取后缀。(路由器不会让此字段为空)
  2. 适配器设置完全正常(普通 Win7 网络)- IP 为自动,DNS 为 127.0.0.1,在高级->DNS 下,所有 DNS 后缀字段均为默认值(即,没有输入任何后缀值)。作为实验,我启用和禁用了“附加父后缀”和“在 DNS 中注册此连接地址”,然后重新启动,没有任何效果。
  3. 我还检查了系统控制面板->网络 ID,没有看到任何对“homedomain”的引用(不确定它还应该显示什么)

我不知道还能做什么,因此我希望得到帮助来解决这个问题。


@Milli:回复及更多信息:

确切的日志条目是:

F   microsoft.com.homedomain
4.2.2.2 R   ?=000081830001000000010000
F   microsoft.com.homedomain
195.74.102.147  R   ?=000085830001000000010000
F   microsoft.com
4.2.2.2 R   Q=microsoft.com;A=microsoft.com>201.58.55.65;A=microsoft.com>37.11.4.64
F   microsoft.com
4.2.2.2 R   ?=000081800001000000010000

其中“F”是收到并转发到公共服务器的请求,R 是收到的响应和公共服务器的 IP。因此,它看起来像是先要求提供域名后缀名,尽管“Microsoft.com”不是“单词”名称,并且是一个完全正常的公共域名。

连接特定的 DNS 一直都很清楚。如果我知道在哪里查找,我可以在注册表中重新检查它。没有 AD 或 DNS 后缀方面的经验,无法确定这是否是 Microsoft DNS 处理中触发的奇怪行为,也无法排除其他可能性。

答案1

这很奇怪。当您尝试时,Win 7 框是否首先要求输入 microsoft.com ping microsoft.com?如果没有,我会尝试在界面设置中清除连接特定的 DNS 后缀,看看问题是否解决。所谓的 DNS 委托行为更改可能会触发一些奇怪的事情。请参阅此MS technet 文章就此主题而言。

相关内容