在我们的防火墙工作中,我的机器经常为我们的某些域解析为错误的IP。我们有一个DNS服务器,它是我们的主DNS,用于将外部域解析为内部IP地址(192.X.X.X而不是公共IP)。
有时我会解析为公共IP,它无法通过我们的防火墙正确路由。发生这种情况时,我会跑:
ipconfig /flushdns
nslookup code.mydomain.com - I get the right DNS server and the right internal IP
ping code.mydomain.com - I get the wrong external IP address.
当发生这种情况时,Firefox也会解析为错误的IP。这将在一天中间歇性地发生。
答案 0 :(得分:10)
nslookup仅使用DNS,而ping将首先查看hosts
文件。
示例:
nslookup localhost
Server: 208.67.220.220
Address: 208.67.220.220#53
Non-authoritative answer:
Name: localhost.local.lan
Address: 67.215.65.132
67.215.65.132表示不存在的域名OpenDNS(hit-nxdomain.opendns.com)
ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
...
答案 1 :(得分:3)
在您的计算机上运行wireshark
的副本,并跟踪离开系统的DNS查询,并查看它们之间的不同之处。
请记住,根据定义,nslookup
仅查询DNS。其他应用程序将使用替代查找机制(例如hosts
文件)。
答案 2 :(得分:2)
下载wireshark是非常有帮助的,但是如果这对某人有帮助,我在Windows网络上遇到了这种问题。 Nslookup将始终返回我想要的IP,但ping不会。我的问题是DNS被设置为将未知域转发到外部DNS服务器。
如果我在没有转发的情况下使用DNS服务器ping了mysite.dev,DNS查找将在第一次失败,然后使用mysite.dev.mydomain.com再次尝试并成功。
如果我使用带转发的DNS服务器ping mysite.dev,它会转发URL(因为它是一个“未知域”)并从转发的DNS服务器获取一些垃圾IP。它返回的IP将您作为404替代品放在某个ask.com搜索页面上。我认为ISP正以某种方式赚钱。这会阻止DNS客户端重新添加我们的域DNS后缀。
请注意,还有另一个与mysite.dev类似的内部网址。在Windows Vista(可能还有Windows 7)上,您可能需要明确配置DNS客户端以尝试将DNS后缀应用于mysite.dev等网址:
答案 3 :(得分:0)
从您的ipconfig示例中,我假设您使用的是Windows。
nslookup仅限DNS。
主机将在您的系统上使用正常的解析过程。这可能包括(但不限于:主机,Windows命名和DNS)。
你如何获得Firefox使用的IP地址?如果它出现在URL中,您应该忽略它,很多事情可能会发生在那个级别。
答案 4 :(得分:0)
我知道这是一个老问题,但这篇文章可能会帮助其他需要帮助的人:
http://support.microsoft.com/default.aspx?scid=kb;en-us;320760