У меня есть 4 области DHCP.
10.200.0.0 <-------- Здесь находится DHCP-сервер
10.54.0.0
10.16.0.0
10.32.0.0
На мой DHCP-сервер отправляется широковещательный запрос DHCP. Как он решает, из какой области выбрать адрес?
Моя проблема в том, что клиент, который должен получать адрес 10.200.0.0, на самом деле получает IP-адрес из области 10.16.0.0, и я не могу понять, почему.
Это не ожидаемое поведение, поэтому я думаю, что происходит что-то более сложное, чем простая трансляция, принимаемая DHCP-сервером.
Когда DHCP-сервер получает широковещательную рассылку DHCPREQUEST уровня 2, он выполнит этот запрос за пределами области, соответствующей подсети интерфейса, на котором был получен DHCPREQUEST, как и следовало ожидать. Когда он получает запрос в виде одноадресной передачи уровня 3 от агента ретрансляции DHCP (с установленным адресом GIADDR), он выполнит запрос вне области действия подсети, которая включает адрес GIADDR.
Я бы обнюхал трафик, поступающий на ваш DHCP-сервер (с Microsoft NetMon или Wireshark), чтобы убедиться, что запрос действительно поступает в виде широковещательной передачи уровня 2.
В дополнение к тому, что Эван сказал в своем ответе, действительно ли у вас есть сети 10.54.x.x, 10.16.x.x и 10.32.x.x, разделенные маршрутизатором или маршрутизаторами? Похоже, вы просто настроили несколько областей для клиентов, которые все находятся в одной сети. Так ли это?
Кроме того, (как заявил Эван) широковещательные сообщения DHCP от клиентов в сети, отличной от DHCP-сервера, необходимо «ретранслировать» на сервер через агент ретрансляции DHCP (обычно настраиваемый на самом маршрутизаторе). Агент ретрансляции DHCP преобразует широковещательные сообщения в одноадресные, поэтому вы не должны видеть никаких широковещательных сообщений, поступающих на сервер из сетей, отличных от самой сети DHCP-сервера. Вы должны видеть одноадресные сообщения от агента ретрансляции DHCP для клиентов в разных сетях. Это то, что вы видите?