stash-agent-options вообще обязательна к применению при opt82. При ней ISC DHCPD запоминает для клиентской лизы эту самую opt82. Так как запросы клиента на продление идут юникастом и в подавляющем большинстве случаев без opt82 - то сервер при таких запросах сопоставляет эти запомненые данные, и правила где матчится opt82 нормально срабатывают. Ибо без opt82 совпадения не будет и клиент получит отлуп и не сможет продлить адрес. Вот выжимка из мана по ISC DHCPD:
If the stash-agent-options parameter is true for a given client, the server will record the relay agent information options sent during the client's initial DHCPREQUEST message when the client was in the SELECTING state and behave as if those options are included in all subsequent DHCPREQUEST messages sent in the RENEWING state. This works around a problem with relay agent information options, which is that they usually not appear in DHCPREQUEST messages sent by the client in the RENEWING state, because such messages are unicast directly to the server and not sent through a relay agent.
В случае же с DES-3200, когда он релеит юникасты с заменой opt82 на себя, имеем след ситуацию.
Если есть цепочка коммутаторов на доступе (при этом SW1, SW2 могут быть любыми с opt82)
Код:
[DHCP-SERV] - [РОУТЕР] - [DES-3200] - [SW1] - [SW2]
172.16.22.51 172.16.124.229 172.16.124.92
Когда с коммутаторов SW1 или SW2 прилетают запросы на продление юникастом, то DES-3200 их перехватывает и переписывает opt82 на свои, например на DES_3200_MAC/port25. Но сервер то выдавал адррес клиенту по данным SW1_MAC/port1. Имеем несовпадение и клиент получает DHCNACK
Пример НЕПРАВИЛЬНОЙ работы. Время аренды адреса 10минут. Первым в цепочке DES-3200 (как на вышеуказанной схеме). На коммутаторах, подключенных через него - у клиентов проблемы при получении адресов.
Цитата:
Oct 8 14:31:14 dhcp dhcpd: OPT82 HW=1:20:cf:30:99:7b:b8 switch 1c:bd:b9:e6:3f:cb sw_ip 172.16.124.92 port 0/14 VLAN 4091
Oct 8 14:31:14 dhcp dhcpd: DHCPDISCOVER from 20:cf:30:99:7b:b8 (company-d207629) via 172.16.124.92
Oct 8 14:31:14 dhcp dhcpd: DHCPOFFER on 172.16.0.4 to 20:cf:30:99:7b:b8 (company-d207629) via 172.16.124.92
Oct 8 14:31:14 dhcp dhcpd: OPT82 HW=1:20:cf:30:99:7b:b8 switch 1c:bd:b9:e6:3f:cb sw_ip 172.16.124.92 port 0/14 VLAN 4091
Oct 8 14:31:14 dhcp dhcpd: DHCPREQUEST for 172.16.0.4 (172.16.22.51) from 20:cf:30:99:7b:b8 (company-d207629) via 172.16.124.92
Oct 8 14:31:14 dhcp dhcpd: DHCPACK on 172.16.0.4 to 20:cf:30:99:7b:b8 (company-d207629) via 172.16.124.92
Oct 8 14:41:14 dhcp dhcpd: DHCPREQUEST for 172.16.0.4 from 20:cf:30:99:7b:b8 via 172.16.124.229: lease 172.16.0.4 unavailable. # запрос поломан, идет от неправильного коммутатора
Oct 8 14:41:14 dhcp dhcpd: DHCPNAK on 172.16.0.4 to 20:cf:30:99:7b:b8 via 172.16.124.229 # клиент не может продлить адрес, освобождает адрес с потерей связи и далее заново получает адрес
Oct 8 14:41:15 dhcp dhcpd: OPT82 HW=1:20:cf:30:99:7b:b8 switch 1c:bd:b9:e6:3f:cb sw_ip 172.16.124.92 port 0/14 VLAN 4091
Oct 8 14:41:15 dhcp dhcpd: DHCPDISCOVER from 20:cf:30:99:7b:b8 (company-d207629) via 172.16.124.92
Пример ПРАВИЛЬНОЙ работы. Первым в цепочке другой коммутатор - НЕ DES-3200 (схема аналогична, настройки на коммутаторах идентичны). На коммутаторах, подключенных через него - у клиентов никаких проблем при получении адресов.
Цитата:
Oct 8 19:03:27 dhcp dhcpd: OPT82 HW=1:0:8:a1:98:3e:4a switch 0:1e:58:9e:94:72 sw_ip 172.16.124.66 port 0/1 VLAN 4020
Oct 8 19:03:27 dhcp dhcpd: DHCPDISCOVER from 00:08:a1:98:3e:4a via 172.16.124.66
Oct 8 19:03:27 dhcp dhcpd: DHCPOFFER on 172.16.121.115 to 00:08:a1:98:3e:4a (hawks-3150273df) via 172.16.124.66
Oct 8 19:03:27 dhcp dhcpd: OPT82 HW=1:0:8:a1:98:3e:4a switch 0:1e:58:9e:94:72 sw_ip 172.16.124.66 port 0/1 VLAN 4020
Oct 8 19:03:27 dhcp dhcpd: DHCPREQUEST for 172.16.121.115 (172.16.22.51) from 00:08:a1:98:3e:4a (hawks-3150273df) via 172.16.124.66
Oct 8 19:03:27 dhcp dhcpd: DHCPACK on 172.16.121.115 to 00:08:a1:98:3e:4a (hawks-3150273df) via 172.16.124.66
Oct 8 19:13:46 dhcp dhcpd: OPT82 HW=1:0:8:a1:98:3e:4a switch 0:1e:58:9e:94:72 sw_ip 0.0.0.0 port 0/1 VLAN 4020
Oct 8 19:13:46 dhcp dhcpd: DHCPREQUEST for 172.16.121.115 from 00:08:a1:98:3e:4a (hawks-3150273df) via fxp0 # запрос идет от клиента прямо на DHCP сервер
Oct 8 19:13:46 dhcp dhcpd: DHCPACK on 172.16.121.115 to 00:08:a1:98:3e:4a (hawks-3150273df) via fxp0 # клиент продлевает аренду IP
Oct 8 19:23:46 dhcp dhcpd: OPT82 HW=1:0:8:a1:98:3e:4a switch 0:1e:58:9e:94:72 sw_ip 0.0.0.0 port 0/1 VLAN 4020
Oct 8 19:23:46 dhcp dhcpd: DHCPREQUEST for 172.16.121.115 from 00:08:a1:98:3e:4a (hawks-3150273df) via fxp0
Oct 8 19:23:46 dhcp dhcpd: DHCPACK on 172.16.121.115 to 00:08:a1:98:3e:4a (hawks-3150273df) via fxp0