域计算机无法解析内部主机名,但 nslookup 可以

域计算机无法解析内部主机名,但 nslookup 可以

我的域中有一台 Windows 7 计算机,其行为异常。

  • 可以 ping www.google.com
  • 它可以使用 IP 地址 ping 内部主机
  • 它可以使用其主机名和 IP 地址 ping 该办公室的本地域控制器/DNS 服务器
  • 无法通过主机名或 FQDN ping 其他内部主机
  • 客户端尚未在 DNS 中注册
  • nslookup可以将内部主机名解析为其正确的 IP 地址并使用正确的 DNS 服务器
  • 客户端与其他客户端一样,通过 DHCP 获取其 IP 设置 - 它具有正确子网中的地址、应用了正确的 DNS 服务器,并添加了正确的后缀来解析主机名
  • 本地连接网络连接显示以前在空间中使用的 SSID 名称,用于显示域名或 WiFi 状态 - 参见图片奇数本地连接标签

我真的很困惑为什么会发生这种情况。由于没有进行内部 DNS 解析,计算机无法正确与域通信,因此无法应用组策略,我怀疑身份验证是否正常工作。

我尝试使用 清除 DNS 缓存ipconfig /flushdns,使用 禁用/重新启动缓存netsh stop dnscache。我重置了 Winsock 和 IP 堆栈,并多次重新启动,但没有任何变化。同一网络中的其他客户端运行正常。

当前的解决方法是将用户可能需要使用的服务最重要的主机的条目放入 hosts 文件中。这种方法虽然有效,但无法长期持续,并且无法解决与 Active Directory 的通信问题。

在我重建它之前,有什么想法可以修复这个问题吗?

更新 我在受影响的计算机上安装了 Wireshark。安装后,nslookup domain.local我看到所有 DNS 流量都符合预期。安装后,我ping domain.local根本看不到任何 DNS 流量 - 没有请求也没有回复。安装后,ping www.google.com我看到 DNS 请求和回复。

另外,这是一台同时具有有线局域网和无线网络的笔记本电脑。当我通过有线局域网或 WiFi 连接到内部网络时,我遇到了完全相同的问题。

我注意到一件奇怪的事情,在网络连接(局域网)的名称下显示的不是我期望的域名,而是我们以前使用的 VLAN 的名称。我犹豫着是否要将计算机从域中删除,以防我无法再次加入它。在走一条可能涉及重新安装 Windows 的路线之前,我宁愿尝试一些其他的事情。

更新 这看起来相关

更新我尝试过netsh winsock reset catalog、,netsh int ip resetsfc scannow都无法解决这个问题。计算机无法离开并重新加入域,因为它无法与域控制器通信。 ifconfig /registerdns由于同样的原因,也不起作用。我还尝试过停止 DNS 客户端服务,但无济于事。

答案1

TLDR;
1.hosts文件覆盖 DNS。2
. 重置、刷新、重置。3
. 备份数据、格式化、重新安装


hosts这可能是由于位于此处的文件中存在错误条目所导致的:

C:\Windows\System32\drivers\etc\hosts

hosts确保文件中没有覆盖的条目domain.local

nslookup domain.local将检查 DNS 服务器以查找与 domain.local 关联的地址 -然而如果您的hostsfor中有一个条目domain.local,那么ping domain.local将使用该地址而不是来自 DNS 的地址。


也许你也应该花时间重置一些东西

将 WINSOCK 条目重置为安装默认值:netsh winsock reset catalog
将 TCP/IP 堆栈重置为安装默认值:netsh int ip reset reset.log
刷新 DNS 解析器缓存:ipconfig /flushdns
更新 DNS 客户端注册并刷新 DHCP 租约:ipconfig /registerdns
刷新路由表:(route /f需要重新启动)
检查损坏的系统文件: sfc /scannow


另外,如果这确实是你最初发布的问题的同一台机器2014 年 11 月那么也许值得花时间和精力去只需格式化硬盘并重新安装操作系统。这将使您回到已知的、可以正常工作的状态。

答案2

这个问题正是我遇到的。结果我的证书https://nls.my.domain.com为了直接访问连接已被撤销。因此,我的客户端在我的 LAN 中使用名称解析策略表 (NRPT) 并阻止所有与内部资源的连接。

只是想分享这个信息,因为对于你们中的一些人来说可能也是如此。

答案3

我有同样的问题。

我发现,Microsoft DirectAccess Connectivity 的合作实施就是原因所在。

右键单击任务栏图标并选择“使用本地 DNS 解析”,然后运行 ​​gpupdate,我的问题就解决了。

如果这不是您的问题,那么很可能是辅助连接软件(有很多)的本质存在缺陷。

此致

惠子

答案4

TL;DR; - 确保您的网络 DHCP 也发布 IPv6,并且您也输入 DNS 的 IPv6 地址 - 因为它优先于 Windows 10 上的 IPv4 静态配置。

我昨天遇到了这个问题,想分享另一个可能出现的问题和解决方案。

我正在重新配置网络并连接到较新的路由器。我遇到了同样的问题 - 我的所有现有系统都无法再使用 mydomain.local 访问 AD - 以前它运行良好。

在互联网上搜索后,我尝试了几种不同的方法 - DNS 运行正常。当我执行 nslookup 时,它会抛出一个错误,说不存在 - 但当我运行

nslookup mydomain.local {LOCAL-DNSSERVER-IP}它会解决。

问题归结为我看到了解决方案,但我错过了它在执行此操作时也返回 IPv6 地址。

新的路由器默认发布它自己的 IPv6 DNS 地址(从调制解调器继承),尽管我为 IPv4 分配了静态 DNS,但它使用的是将要发送到 pub-internet 进行解析的 IPv6 地址,因此不存在。

我获取了域控制器服务器的 IPv6 地址并将其添加到路由器 DHCP 中以实现 IPv6 DNS,然后就成功解析了!

相关内容