При каких условиях NSLOOKUP и PING возвращают разные IP-адреса в Windows XP?
Внутри нашего брандмауэра на работе моя машина часто разрешает неправильный 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-адрес, когда это происходит. Это будет происходить с перерывами в течение дня.
Ответы
Ответ 1
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.
...
Ответ 2
Запустите копию wireshark
на вашем компьютере и проследите DNS-запросы, выходящие из вашей системы, и посмотрите, что между ними.
Помните, что nslookup
по определению запрашивает только DNS. Другие приложения будут использовать альтернативные механизмы поиска (например, файл hosts
).
Ответ 3
Загрузка wirehark очень полезна, но в случае, если это помогает кому-то, у меня была такая проблема в сети Windows. Nslookup всегда возвращал IP-адрес, который мне нужен, но ping не будет. Проблема в моем случае была настроена DNS для пересылки неизвестных доменов на внешний DNS-сервер.
Если я пинговал mysite.dev с использованием DNS-сервера без пересылки, поиск DNS не сработает с первого раза, а затем повторите попытку с помощью mysite.dev.mydomain.com и преуспеть.
Если я пинговал mysite.dev с использованием DNS-сервера с пересылкой, он пересылал бы URL-адрес (поскольку это был "неизвестный домен" ) и возвращал некоторый мусорный IP-адрес с перенаправленного DNS-сервера. IP-адрес, который он вернул, помещает вас на страницу поиска ask.com в качестве замены 404. Я предполагаю, что ISP как-то зарабатывал деньги. Это помешало DNS-клиенту повторить попытку с добавлением суффикса домена DNS.
Обратите внимание, что есть еще один ключ с внутренними URL-адресами, похожими на mysite.dev. В Windows Vista (и, возможно, в Windows 7) кажется, что вам может потребоваться явно настроить DNS-клиенты, чтобы попробовать использовать DNS-суффиксы для URL-адресов, таких как mysite.dev:
http://blogs.technet.com/b/networking/archive/2009/04/16/dns-client-name-resolution-behavior-in-windows-vista-vs-windows-xp.aspx
Ответ 4
Из вашего примера ipconfig я предполагаю, что вы используете Windows.
nslookup - только DNS.
хосты будут использовать обычный процесс разрешения в вашей системе. Это может включать (но не ограничивается: хосты, имена Windows и DNS).
Как вы получаете IP-адрес, который использует Firefox? Если он отображается в URL-адресе, вы должны игнорировать это, на этом уровне может случиться много вещей.
Ответ 5
Я знаю, что это старый вопрос, но эта статья kb может помочь другим, которые нуждаются в помощи:
http://support.microsoft.com/default.aspx?scid=kb;en-us;320760