![Windows 2008R2 域控制器:名称解析(hosts 文件、DNS)不起作用](https://linux22.com/image/667614/Windows%202008R2%20%E5%9F%9F%E6%8E%A7%E5%88%B6%E5%99%A8%EF%BC%9A%E5%90%8D%E7%A7%B0%E8%A7%A3%E6%9E%90%EF%BC%88hosts%20%E6%96%87%E4%BB%B6%E3%80%81DNS%EF%BC%89%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我在域控制器上遇到了一个非常奇怪的问题。环境是:
- Windows 2008R2 标准服务器 + 所有更新
- 一个 DC + 几个 Windows 客户端加入该 AD
该 DC 上安装了 Symantec Endpoint Protection 12.1.x。有人卸载了它,导致网卡丢失了 IP 配置(阅读:ipconfig /all
显示不接口不再可用,但在控制面板中我能够看到并配置它们)。借助 Symantec 的 CleanWipe 工具,我能够删除 SEP 的一些残留(我猜是他们的网络保护驱动程序)并重新获得 IP 连接。
不幸的是,这也终止了我的 DNS 和 AD 服务。
当我打开 DNS 插件时,出现如下所述相同的错误: Microsoft DNS - 访问被拒绝。事件日志:DNS 服务器无法打开 Active Directory
我检查了我的 hosts 文件并重新添加了 localhost 条目。但这没有起到作用。
然后我检查了名称解析:
ping localhost -> not found
ipconfig /flushdns && ipconfig /displaydns
-> localhost 在缓存中!
其他测试 - 我已将新主机(8.8.8.8 www.google.com)添加到“hosts”文件中:
ipconfig /flushdns && ipconfig /displaydns
-> 我在缓存中看到了 google.com 和 8.8.8.8
ping www.google.com -> host not found
似乎主机文件已正确加载到 DNS 缓存中但未被使用?由于我无法打开 DNS 插件,这几乎阻止了所有配置 DNS 的尝试。
更新#1:
NIC 配置是静态的,
- IP = 10.45.0.1
- 网络掩码 = 255.255.255.0
- 网关 = 10.45.0.254
- DNS = 10.45.0.1
未配置静态路由。请注意,在 Symantec Cleanup 之后,我已清除了整个 Windows 网络配置:
netsh winsock reset
netsh int ip reset
欢迎任何建议!
答案1
从设备管理器中卸载 NIC,然后重新安装干净。(删除并重新扫描)确保 DNS 设置为侦听所有接口而不仅仅是静态 IP,如果您没有 AD 恢复密码,请谨慎重新启动,因为您可能会因为没有 DNS 而卡住并因此无法登录。
答案2
从 Hosts 文件中删除除默认条目之外的所有内容。
在 NIC 上添加 127.0.0.1 作为辅助 DNS。
在 NIC 上重新启用 IPv6
重启。
等待。
检查 DS 和 DNS 事件日志。
在完成前面的步骤之前,请停止进行其他更改。
您的 Hosts 文件可能看起来应该是这样的:
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
答案3
创建新的干净主机文件
卸载并重新安装 NIC
使用适当的 IP 配置您的 NIC,并禁用 IPv6(如果不使用)
在 NIC IP 配置中添加 127.0.0.1 作为 DNS。不要在那里添加 8.8.8.8 之类的东西,如果需要的话,它们会转到其他地方
重启
打开 cmd 并运行:
ipconfig /flushdns
网络停止 DNS && 网络启动 DNS
net 停止 netlogon && net 启动 netlogon
ipconfig /registerdns
dcdiag /修复
net 停止 netlogon && net 启动 netlogon
netdiag/fix 修复
然后使用 NSLookup 和 dcdiag /test:dns 确保一切正常。