我有一台 Windows 10 机器,它表现出一些奇怪的行为。当我尝试按名称连接网络上的设备时,它们无法解析。
然而ping -a
iPadaddress 将解析为正确的名称。
Nslookup 通过名称和 IP 地址进行工作。
当我使用浏览器或尝试 ssh 时,如果我使用主机名,连接将会出错,但通过 ipaddress 可以工作。
C:\Users\benwh
λ ping -a 192.168.1.4
Pinging lexmark [192.168.1.4] with 32 bytes of data:
Reply from 192.168.1.4: bytes=32 time<1ms TTL=254
Reply from 192.168.1.4: bytes=32 time<1ms TTL=254
Reply from 192.168.1.4: bytes=32 time<1ms TTL=254
Reply from 192.168.1.4: bytes=32 time<1ms TTL=254
Ping statistics for 192.168.1.4:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
C:\Users\benwh
λ ping lexmark
Ping request could not find host lexmark. Please check the name and try again.
C:\Users\benwh
λ nslookup lexmark
Server: UnKnown
Address: 192.168.1.1
Name: lexmark
Address: 192.168.1.4
C:\Users\benwh
λ nslookup 192.168.1.4
Server: UnKnown
Address: 192.168.1.1
Name: lexmark
Address: 192.168.1.4
在具有 dhcp 提供的相同设置的 Linux 机器上,ping 运行正常。
答案1
ipconfig 手册页 - 首先尝试一下
https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/ipconfig
ipconfig /flushdns
Ping 手册页 - 状态解析顺序为主机、DNS 服务器、NetBIOS
https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/ping
主机名解析顺序 - 概述顺序和尝试的步骤
https://support.microsoft.com/en-us/help/172218/microsoft-tcp-ip-host-name-resolution-order
我猜测 DNS 缓存在 Windows 机器上报告不正确。
答案2
如果您为 NIC 配置了多个 DNS 服务器,并非所有 Windows 网络访问都会自动使用它们。这会使诊断 DNS 问题时有些混乱。
具体来说,nslookup
仅使用为 NIC 配置的第一个 DNS 服务器(默认)。
您可以通过深入研究网络适配器的属性来检查 DNS 服务器及其优先级。您还可以使用以下命令列出它们
ipconfig /all
如果您确实配置了另一个本地 DNS 服务器,并且直到最近它一直运行正常,则访问网络的程序可能会尝试使用它 - 但它目前可能无法正常工作,从而导致您描述的问题。要检查这一点,您可以nslookup
使用以下命令针对特定 DNS 服务器运行:
dnslookup lexmark SERVER
其中 SERVER 是服务器名称或 IP 地址。