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

Как Windows Server обрабатывает локальные DHCP-запросы, когда локальная область не определена / неактивна?

Предположим, есть Windows Server, обрабатывающий несколько подсетей DHCP. Сам сервер имеет IP-адрес 10.0.0.1 и находится в подсети 10.0.0.0/24. Он имеет области, определенные для 10.0.1.0/24, 10.0.2.0/24, но НЕ для 10.0.0.0/24. Что делает Windows, если приходит локальный DHCP DISCOVER (НЕ через ретранслятор)? Будет ли он назначать адрес из 10.0.0.0? 10.0.1.0? 10.0.2.0? Случайно? Игнорируй это?

Последующий вопрос: если Windows Server игнорирует запрос, а другой DHCP-сервер находится в сегменте локальной сети и имеет определенное значение 10.0.0.0/24, сможет ли этот второй сервер правильно назначить IP-адрес и все будет хорошо работать?

DHCP-сервер не будет предоставлять адреса ни в одном из подключенных сегментов сети (определяемых IP-конфигурацией сетевого интерфейса сервера), которые не соответствуют настроенным подсетям DHCP. Только реле может запросить IP в другой подсети, и сервер ответит. Это поведение описано в RFC 2131 подраздел 4.3.1.

Итак, в вашем случае сервер игнорирует все запросы.

Если вы пытаетесь использовать Server 2016, который поддерживает RFC 3527 и RFC 3011 на самом деле вам нужно создать пул фиктивных адресов в той же сети, из которой ретранслятор отправляет запросы, или он все еще игнорирует запросы для других сетей.

Если два DHCP-сервера Windows обнаруживают друг друга (в одном сегменте сети), один или другой будет отключен. Даже если они используют разные подсети в DHCP. В этом случае рассматриваемый сервер обнаружит второй рабочий сервер в той же сети, к которой он подключен. Это поведение можно отключить с помощью:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DHCPServer\Parameters

    Name: DisableRogueDetection
    Type: REG_DWORD
    Data: 0x1