У меня есть DHCP-сервер Windows со многими областями, каждая из которых связана с VLAN, и у меня есть ПК, подключенный к порту коммутатора. Затем я меняю VLAN доступа на этом порту коммутатора, чтобы увидеть, получает ли ПК IP-адрес, принадлежащий такой VLAN, но клиент всегда получает один и тот же IP-адрес независимо от VLAN, настроенной на порту коммутатора. Я настроил ретранслятор DHCP на своем брандмауэре, и эта часть работает нормально. Теперь, когда я меняю порт переключения на новую VLAN, и когда я делаю tcpdump и вижу трассировку, я вижу, что клиент запрашивает старый IP-адрес 172.22.2.4 (старая VLAN), и сервер DHCP дает этот старый IP-адрес. , игнорируя поле «IP-адрес агента ретрансляции» (172.22.9.1), которое брандмауэр вставляет в пакет запроса DHCP. Не уверен, почему ПК запрашивает старый IP-адрес после выполнения ipconfig/release и ipconfig/renew.Но, насколько я понимаю, я думаю, что DHCP-сервер должен выдавать IP-адрес в диапазоне 172.22.9.0/24, поскольку IP-адрес агента ретрансляции равен 172.22.9.1, независимо от того, какой IP-адрес запрашивает ПК.
IP-адрес ретрансляции и маски подсети сконфигурированных областей сервера сравниваются с помощью логического И-сравнения, чтобы найти область, сетевой идентификатор которой соответствует сетевому идентификатору IP-адреса ретрансляции. Когда совпадение найдено, DHCP-сервер выделяет IP-адрес из этой области.
https://www.itgeared.com/dhcp-relay-agent/
Единственная странная вещь, которую я вижу, это то, что брандмауэр не вставляет «IP-адрес агента ретрансляции» в поле GIADDR или параметр DHCP 82, а только в основное поле DHCP, хотя это может быть правильно. Любые идеи?
Прикрепил трассировку DHCP-запроса и DHCP-ответа.
DCHP-запрос
DHCP-ответ
С уважением,
Джулиан