为什么“host”和“nslokup”命令显示错误的IP?

为什么“host”和“nslokup”命令显示错误的IP?

在我的 Ubuntu 12.4 上,这些运行良好:

$ hostname
my-machine-XX

ping `hostname`
ping my-machine-xx (192.168.0.69) icmp_req=1 ttk=64 time=0.043 ms

但是 host 和 nslookup 返回错误的 IP 地址:

$ host my-machine-xx
my-machine-xx has address 198.105.244.23
my-machine-xx has address 198.105.254.23
Host my-machine-xx not found: 3(NXDOMAIN)


$ nslookup my-machine-xx
Server:     127.0.0.1
Address:    127.0.0.1#53

Non-authoritative answer:
Name:   my-machine-xx
Address: 198.105.244.23
Name:   my-machine-xx
Address: 198.105.254.23

我很感激有人能帮我修复这个问题。谢谢。

答案1

如果您对这些 IP 进行 whois 查询,则 198.105.240.0 - 198.105.255.255 归 Search Guide Inc. 所有。我的 ISP(Charter,美国)使用他们的一项服务,当 DNS 查找结果为未找到时,尝试将我发送到搜索页面。

如果我使用 DHCP 启动一台新机器,它将从我的调制解调器/路由器获取 DNS 服务器...默认情况下是 ISP 的 DNS...这会导致这种情况发生。

使用 ISP 以外的 DNS 提供商,Google 是个不错的选择(8.8.8.8、8.8.4.4),可以解决这个问题。有一次我在 Charter 上找到了一个页面,允许我禁用该“功能”,但我不记得它在哪里了。

答案2

我在 HP-UX 系统上遇到了同样的问题,NFS 无法工作,SAM 无法启动,其他一些服务运行缓慢或拒绝运行。虽然我还不知道解决方案,但我敢打赌,如果你转到使用相同 DNS 服务器的任何其他计算机(Linux、Windows、UNIX)并尝试解析任何主机名并以点 (.) 结尾,你都会得到相同的 IP 地址 (198.105.244.23)。

dig anyhostname。dig nonsensehostname。host whatever。nslookup badhost。

就我而言,我获得的 IP 地址与您的略有不同,但在同一个子网中(198.105.244.24 和 198.105.254.24)。

由此可以推断,问题出在 DNS 服务器上,而不是本地主机上。在我的例子中,DNS 由运行 DD-WRT build 14929 的旧 Linksys 路由器提供服务,固件为“DD-WRT v24-sp2 (08/12/10) micro”。

我将开始使用不同的 DNS 服务器,也许是公共 Google DNS 服务器(8.8.8.8 和 8.8.4.4),然后看看其运行情况。

希望这能帮助您解决问题。

答案3

确保在路由器配置中查找任何 NAT 规则。我在 LAN 上使用 host 命令时,给出了两个本地 IP 地址作为响应列表的一部分。(所有其他都是公共 IP。)

ip nat 内部源静态 192.168.1.68 www.xx.yyy.zz

相关内容