Windows 2008R2 域控制器:名称解析(hosts 文件、DNS)不起作用

Windows 2008R2 域控制器:名称解析(hosts 文件、DNS)不起作用

我在域控制器上遇到了一个非常奇怪的问题。环境是:

  • 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 网络配置:

  1. netsh winsock reset
  2. netsh int ip reset

欢迎任何建议!

答案1

从设备管理器中卸载 NIC,然后重新安装干净。(删除并重新扫描)确保 DNS 设置为侦听所有接口而不仅仅是静态 IP,如果您没有 AD 恢复密码,请谨慎重新启动,因为您可能会因为没有 DNS 而卡住并因此无法登录。

答案2

  1. 从 Hosts 文件中删除除默认条目之外的所有内容。

  2. 在 NIC 上添加 127.0.0.1 作为辅助 DNS。

  3. 在 NIC 上重新启用 IPv6

  4. 重启。

  5. 等待。

  6. 检查 DS 和 DNS 事件日志。

  7. 在完成前面的步骤之前,请停止进行其他更改。

您的 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 确保一切正常。

相关内容