![Windows 记住旧的 DNS 后缀](https://linux22.com/image/1438337/Windows%20%E8%AE%B0%E4%BD%8F%E6%97%A7%E7%9A%84%20DNS%20%E5%90%8E%E7%BC%80.png)
购买后,我刚刚将本地网络的 DNS 域从 更改home.local
为。我在 BIND 和 DHCP 服务器中进行了所有必要的更改,网络上的 Linux 客户端现在已启用,并且似乎按预期运行。mydomain.local
mydomain.com
domain mydomain.local
/etc/resolv.conf
但是,Windows 计算机(Win 8.1,未加入域)似乎仍在其 DNS 后缀搜索列表中保留该home.local
域。我已经释放了租约,删除了网络配置文件,扫描了注册表,在整个 dns/dhcp 服务器中 grep:查找旧域的出现,重新启动了所有内容……但 Windows 计算机仍在继续搜索home.local
。
ipconfig /all
受影响机器的输出:
Windows IP Configuration
Host Name . . . . . . . . . . . . : MY-MACHINE
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : home.local
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . : mydomain.local
Description . . . . . . . . . . . : Realtek PCIe GBE Family Controller
Physical Address. . . . . . . . . : 00-11-22-33-44-55
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::1234:1234:1234:1234%3(Preferred)
IPv4 Address. . . . . . . . . . . : 192.168.0.97(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : den 24 januari 2015 19:42:25
Lease Expires . . . . . . . . . . : den 25 januari 2015 19:43:27
Default Gateway . . . . . . . . . : fe80::1111:2222:3333:4444%3
192.168.0.1
DHCP Server . . . . . . . . . . . : 192.168.0.10
DHCPv6 IAID . . . . . . . . . . . : 12312312
DHCPv6 Client DUID. . . . . . . . : 00-11-22-33-44-55-66-77-88-99-AA-BB-CC-DD
DNS Servers . . . . . . . . . . . : 192.168.0.10
NetBIOS over Tcpip. . . . . . . . : Enabled
Connection-specific DNS Suffix Search List :
home.local
编辑
请注意,连接特定的 DNS 后缀是正确的,但是后缀搜索列表是错误的,连接特定的和一般的 IP 配置都是错误的。
WMI 查询显示相同 - 连接的后缀是正确的,但它没有添加到搜索列表中,而是似乎重复使用了与以前相同的后缀。可能是因为服务器相同所以它记住了这一点?
答案1
听上去像DNS缓存问题。要解决此问题,请cmd
以管理员身份运行并执行
ipconfig /flushdns
甚至(尽管这种/allcompartments
转变似乎有些过度)
ipconfig /allcompartments /flushdns
进一步提示:ipconfig /?
清除地址解析协议缓存也可能有帮助:
arp -d
编辑根据其他人的建议:可以在下一个注册表项中DNS Suffix Search List
找到组策略的值:SearchList
HKLM\Software\Policies\Microsoft\Windows NT\DNSClient
编辑2下一个 CLI 命令的输出是什么?是否列出了不需要的 DNS 后缀?
wmic path Win32_NetworkAdapterConfiguration get caption, DNSDomainSuffixSearchOrder
wmic path Win32_NetworkAdapterConfiguration get caption, DNSDomain
编辑3检查值NameServer
并SearchList
进入下一个注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
和在下面接下来的注册表项(即在每个与接口相关的子项中):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP6\Parameters\Interfaces
要使更改生效:重新启动计算机。
编辑4检查下一个模式的所有键中的类型NameServerList
的所有值REG_MULTI_SZ
HKLM\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces\Tcpip_{interface_CLSID}
下一个PowerShell
代码应该设置 DNS 后缀搜索顺序。此处被盗因为我不太擅长 PS。
#First store the suffixes to set in a variable
$suffixes = 'mydomain.local'
#Since this is a static method, get a class object and then call the method.
$class = [wmiclass]'Win32_NetworkAdapterConfiguration'
$class.SetDNSSuffixSearchOrder($suffixes)
最后的手段:禁用系统还原,重新启动,检查wmic
上面提到的......
答案2
- 转到以太网连接
- 单击“属性”
- 双击 Internet 协议版本 4 (TCP/IPv4)
- 单击“高级”
- 单击 DNS 选项卡
- 删除 home.local
答案3
可能正在推送 GPO,请检查组策略...计算机配置 - 策略 - 管理模板 - 网络 - DNS 客户端。
您将在此处找到 DNS 后缀搜索及其设置。如果您仍然遇到问题,请导航至以下链接更多信息。
答案4
对于我们来说,问题在于我们的 DHCP 服务器有一个范围选项,该选项使用“015 DNS 域名”选项设置了错误的 DNS 后缀。我纠正了这个问题并重新启动了受影响的计算机后,它就选择了正确的 DNS 后缀。