Заметки о Windows и других программных продуктах Microsoft...

Последствия недоступности DHCP сервера

Последствия недоступности DHCP сервера

Внимание, вопрос — что произойдет при недоступности в сети сервера DHCP, и, главное, как быстро? На первый взгляд ответ очевиден — все устройства, получившие IP адреса по DHCP, потеряют выданный адрес и перестанут видеть сеть. Но произойдет это по истечению срока аренды, а до этого момента устройство сможет нормально функционировать в сети и при отсутствии DHCP сервера.

 Но в случае с операционными системами Windows после перезагрузки компьютер может потерять выданный адрес, даже если время аренды еще не истекло. Это может произойти в следующих ситуациях.

Недоступен шлюз по умолчанию

При загрузке клиент Windows (2K или более поздней версии) с адресом, полученным по DHCP, пытается возобновить свою аренду, для чего отправляет своему DHCP-серверу пакет DHCPRequest. Если DHCP-сервер отвечает пакетом DHCPAck, клиент возобновляет аренду. Если DHCP-сервер отвечает DHCPNack, клиент перезапускает процесс аренды. А если DHCP-сервер не отвечает, то клиент пингует шлюз по умолчанию, определенный в текущей аренде. Если шлюз доступен, клиент продолжает использовать свою текущую аренду, при этом не оставляя попыток ее продлить. Если же пинг не проходит, то клиент считает, что его перенесли в другую подсеть, и, соответственно, использование имеющегося адреса более невозможно. Он возвращает полученный по DHCP адрес, автоматически настраивает IP-адрес с использованием механизма APIPA (Automatic Private IP Addressing) и продолжает поиск доступного DHCP-сервера в фоновом режиме.

Это в теории, проверим ее на практике. Для теста возьмем три сервера — DHCP-сервер (192.168.0.2), шлюз (192.168.0.1) и клиент. Проверим доступность DHCP-сервера и шлюза.

доступен DHCP-сервер и шлюз

 

Посмотрим настройки на клиенте. Как видите, он получил по DHCP адрес 192.168.0.11, срок аренды составляет 8 дней.

Сетевые настройки, полученные по DHCP

 

Теперь выключим DHCP-сервер.

недоступен DHCP-сервер

 

Перезагрузим клиента и проверим еще раз. Ничего не поменялось, адрес остался прежним.

Сетевые настройки, полученные по DHCP

 

Гасим шлюз и перезагружаем клиента еще раз.

недоступны DHCP-сервер и шлюз

 

И видим такую вот картину. Как и было задумано, клиент потерял выданный ранее адрес и получил адрес APIPA.

настройки APIPA

Настройка на DHCP-сервере

Существует возможность принудительно заставить клиента каждый раз при перезагрузке\выключении возвращать выданный по DHCP адрес. Для операционных систем Microsoft на DHCP-сервере имеется специальная опция 002 Microsoft Release DHCP Lease On Shutdown. Для ее настройки надо запустить оснастку DHCP, открыть свойства области (Scope Options), перейти в раздел Advanced и в поле Vendor class выбрать Microsoft Windows 2000 Options.

Данная опция может принимать одно из трех значений:

• 0 — при выключении клиент не должен освобождать полученный адрес;
• 1 — при выключении клиент всегда должен освобождать полученный адрес;
• 2 — при выключении клиент поступает согласно локальным настройкам.

включение ReleaseOnSutdown на DHCP-сервере

 

При значении 1 клиент при выключении и перезагрузке всегда возвращает полученный адрес, и, соответственно, DHCP-сервер должен быть доступен. В противном случае при включении мы получаем знакомую картину.

настройки APIPA

 

Обратите внимание, что в поле Vendor class кроме раздела Microsoft Windows 2000 Options есть еще раздел Microsoft Options, в котором также имеется эта опция. И в некоторых источниках рекомендуется использовать именно ее. В моем случае опция из раздела Microsoft Options не сработала, проверял на Windows Server 2019 и Windows 10.

выбор раздела

Настройки на клиенте DHCP

Заставить клиента DHCP при выключении возвращать адрес можно и с помощью редактирования реестра. Для этого необходимо в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces найти подраздел с ID нужного сетевого интерфейса и в нем создать параметр типа DWORD с именем ReleaseOnShutdown. Значение параметра может быть:

• 0 — никогда не освобождать адрес при выключении;
• 1- всегда освобождать адрес при выключении;
• 2 — поступать согласно настройкам, полученным с DHCP сервера.

включение ReleaseOnSutdown через реестр

 

В качестве заключения скажу, что недоступность DHCP-сервера может проявиться гораздо быстрее, чем кажется на первый взгляд. Об этом необходимо помнить, особенно при переносе оборудования и проведении всякого рода работ, связанных с сетью. Проверено на себе 🙂

 
 
Комментарии

Пока нет комментариев.