Серверная (www.it-simple.ru)

Очистка кэшей сетевых адресов


ОС Windows очень бережно работает с сетью. Настолько бережно, что устаревшие данные об узлах могут храниться в кэше годами.

Симптомы устаревших данных могут быть самыми разнообразными:

Почему такое происходит? Потому что сетевых кэшей несколько, а данные в них перестают соответствать не только реальному положению дел в сети, но и друг другу.

Излечить можно по вполне стандартной процедуре.

0. Разрываем подключение к локальной сети

Работающая сеть может помешать корректно очистить все существующие кэши.

1. Очищаем кэш ARP

arp –d *

В локальной сети компьютеры общаются между собой не по IP, а по MAC-адресам, то есть на более низком (канальном) уровне.
При обращении к удалённому компьютеру по IP, первым делом идёт широковещательный запрос на получение его физического адреса. Полученный адрес падает в кэш ARP, для ускорения последующих обращений. И только потом идёт подключение к удалённой машине, но уже не по IP, а по MAC-адресу.
В нормальном режиме запись кэша ARP хранится в течении двух минут с момента последнего обращения, но не более 10 минут.

2. Очищаем кэш NetBIOS

nbtstat –R

В этом кэше находятся сопоставления NetBIOS-имён компьютеров с их IP-адресами. Если вам посчастливилось и в сети присутствует ещё и сервер WINS (что-то типа DNS для NetBIOS имён), есть смысл почистить и его.
Сразу после очистки этого кэша туда подгружаются записи из файла LMHOSTS (%SystemRoot%\System32\drivers\etc\lmhosts).

Многие считают протокол NetBIOS устаревшим, однако микрософт носится с ним как с писаной торбой. Без него Windows ведёт себя в сети неадекватно. В то же время, с ним - создаёт дикий широковещательный флуд по портам 137 и 138 (http://port.it-simple.ru/?search=137,138).

Вирус kido одобряет использование NetBIOS.

3. Очищаем кэш DNS

ipconfig /flushdns

Здесь всё понятно. Кэш DNS - это сопоставление сетевых имён узлов с их IP-адресами.
В него же подгружаются записи из файла HOSTS (%SystemRoot%\System32\drivers\etc\hosts)

Кстати, вирусы очень любят менять местоположение файла HOSTS.

А путь к нему задаётся в реестре, ветка HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters, ключ DataBasePath, тип REG_EXPAND_SZ.

Если команда возвращает ошибку — надо запустить (или перезапустить) службу DNS-клиента.

4. Восстанавливаем подключение к локальной сети

5. Обновляем сетевые настройки по DHCP

ipconfig /renew

Команда посылает запрос последнему использовавшемуся серверу DHCP (адрес этого сервера берётся из реестра (http://www.it-simple.ru/?p=1901)) на получение сетевых настроек.


Все описанные процедуры можно сделать толпой и из графики.

В ХР: ПускПанель управленияСетевые подключения.
На нужном подключении нажимаем правую кнопку мыши и выбираем из меню «Восстановить». После этого будут выполнены следующие операции:

  1. Широковещательный DHCP-запрос. Ответы приходят со всех DHCP-серверов.
  2. Очистка кэша ARP
  3. Очистка кэша NetBIOS. С последующей загрузкой файла LMHOSTS.
  4. Очистка кэша DNS. С последующей загрузкой файла HOSTS.
  5. Попытка регистрации в WINS (актуально только если он есть)
  6. Попытка регистрации в DNS (актуально только для AD)

К сожалению, этот лёгкий метод работает криво и не всегда.