Назад | Перейти на главную страницу

Некоторые клиенты XP периодически получают неправильный IP-адрес для статического IP-сервера

У нас есть сервер со статическим IP, скажем x.x.2.5. У нас есть несколько WinXP (но не все), которые иногда разрешают имя хоста в x.x.1.59 (x.x.1.x - это локальная подсеть).

Диапазон DHCP в маршрутизаторе установлен на x.x.50-199, и маршрутизатор выдал аренду на 1,59.

Теоретически возможно наличие какого-то хоста с таким же именем. Он отвечает на ping, но, похоже, не зарегистрировался на наших DNS-серверах Windows (нет записи для 1.59), поэтому я не думаю, что это так.

DNS для сервера 2.5 является статическим и появляется только один раз (другие записи для этого сервера не появляются).

На пораженном ПК, если я это сделаю:

ping THEHOST

я получил 1,59

если я сделаю

nslookup THEHOST

я получил 2,5

Итак, похоже, что локальный кеш несколько фубарен. Если я перезапущу компьютер XP, он получит правильный IP-адрес, и все будет хорошо. Отказ является периодическим и не воспроизводится после перезагрузки.

Наш локальный администратор Windows в тупике, и я тоже (но я не администратор Windows, поэтому это неудивительно). Есть ли способ отследить этот сумасшедший IP? Когда это произойдет снова, что мне проверить?

Когда Windows XP пытается разрешить имена NETBIOS, которые вы используете, если вы не указываете полное DNS-имя с суффиксом, он просматривает следующие ресурсы в этом порядке

  1. Кэш имен NetBIOS
  2. WINS сервер
  3. B-узел трансляции
  4. Файл LMHosts
  5. Файл хоста
  6. DNS сервер

При использовании nslookup происходит переход сразу к номеру 6, вероятно, поэтому вы не видите проблемы при использовании nslookup. Отравление кеша и несанкционированный доступ к WINS-серверу кажутся маловероятными, и если проблема не воспроизводится при перезагрузке, то это не проблема файла HOST или LMHOST. Это оставляет широковещательную передачу b-узла как наиболее вероятный источник проблемы. Я предполагаю, что у вас есть машина в том же сегменте сети, что и затронутые хосты, с NetBIOS-именем THEHOST. Один из способов узнать, является ли это проблемой netBIOS, - это проверить связь с THEHOST.DOMAIN и посмотреть, решит ли это проблему, если это определенно NetBIOS, если нет, то у вас проблема с DNS.

Я бы проверил hosts файл на пораженном сервере:

%SYSTEMDRIVE%\windows\System32\drivers\etc\hosts

И ищите мошенническую запись для THEHOST

Причина в том, что nslookup ВСЕГДА использует DNS-сервер по умолчанию для своего разрешения, но Ping проходит обычный метод Windows, который проверяет hosts файл, прежде чем он проверит DNS, и он может быть кэширован.

Другой путь - сделать ipconfig /flushdns и посмотрите, правильно ли он разрешится после этого.