Первичное получение адреса при включении компа идет через relay, D-Link перехватывает широковещательный пакет пользователя, подставляет Opt82 и шлет на DHCP-Server, который пользователю изначально недоступен, т.к. стоит в другом сегменте
Юзер - L2(DES-3028) - L3(DGS-3627) - BGDHCP
Вот конфиг 3028 на эту тему
Код:
enable dhcp_relay
config dhcp_relay hops 4 time 5
config dhcp_relay option_82 state enable
config dhcp_relay option_82 check enable
config dhcp_relay option_82 policy replace
config dhcp_relay option_82 remote_id default
config dhcp_relay add ipif System X.X.X.X
Эта процедура отрабатывается корректно, вот лог
Код:
DEBUG 15.02.2011 22:28:04,659 pool-1-thread-1 processing request
DEBUG 15.02.2011 22:28:04,659 pool-1-thread-1 OP_BOOT_REQUEST
DEBUG 15.02.2011 22:28:04,659 pool-1-thread-1 agent information found!
DEBUG 15.02.2011 22:28:04,659 pool-1-thread-1 DHCP_REQUEST or DHCP_DISCOVER
DEBUG 15.02.2011 22:28:04,659 pool-1-thread-1 request.giaddr =172.16.1.105
DEBUG 15.02.2011 22:28:04,659 pool-1-thread-1 gateId = 1
DEBUG 15.02.2011 22:28:04,660 pool-1-thread-1 port=2
DEBUG 15.02.2011 22:28:04,660 pool-1-thread-1 ip = х.х.х.х
DEBUG 15.02.2011 22:28:04,660 pool-1-thread-1 DHCP_DISCOVER
BGDHCP выдает юзеру адрес, днс, информацию про себя (IP-адрес)
Дальше, когда время аренды подходит к концу, юзер начинает просить продление, НО!
он уже шлет пакет не бродкастом, а юникастом, и напрямую на BGDHCP (это tcpdump показал)
поэтому DES-3028 уже эти пакеты не ловит и не ставит туда Opt82, ну и соответственно
раз в пакете нет инфы про агента, то BGDHCP их отфутболивает.
Код:
DEBUG 16.02.2011 06:44:14,652 pool-1-thread-7 processing request
DEBUG 16.02.2011 06:44:14,652 pool-1-thread-7 OP_BOOT_REQUEST
DEBUG 16.02.2011 06:44:14,652 pool-1-thread-7 agent information is not found
DEBUG 16.02.2011 06:44:14,652 pool-1-thread-7 trying to renew ip
Как быть в этой ситуации и кто что с этим делает ?