Доброго дня.
Помогите пожалуйста разобраться с DHCP флудом в сети.
Сеть построена на коммутаторах DES-3200 (ревизии B1 и C1) и DES-3028. На всех настроен DHCP relay:
Код:
enable dhcp_relay
config dhcp_relay hops 4 time 0 
config dhcp_relay option_82 state enable
config dhcp_relay option_82 check disable
config dhcp_relay option_82 policy replace
config dhcp_relay option_82 remote_id default
config dhcp_relay add ipif System 1.1.1.1
Так же на портах абонентов разрешен DHCP трафик:
Код:
create access_profile  ip  destination_ip 255.255.255.255 udp dst_port_mask 0xFFFF    profile_id 4
config access_profile profile_id 4  add access_id 1  ip  destination_ip 255.255.255.255 udp dst_port 67  port 1 permit
config access_profile profile_id 4  add access_id 2  ip  destination_ip 255.255.255.255 udp dst_port 67  port 2 permit
config access_profile profile_id 4  add access_id 3  ip  destination_ip 255.255.255.255 udp dst_port 67  port 3 permit
config access_profile profile_id 4  add access_id 4  ip  destination_ip 255.255.255.255 udp dst_port 67  port 4 permit
config access_profile profile_id 4  add access_id 5  ip  destination_ip 255.255.255.255 udp dst_port 67  port 5 permit
config access_profile profile_id 4  add access_id 6  ip  destination_ip 255.255.255.255 udp dst_port 67  port 6 permit
config access_profile profile_id 4  add access_id 7  ip  destination_ip 255.255.255.255 udp dst_port 67  port 7 permit
config access_profile profile_id 4  add access_id 8  ip  destination_ip 255.255.255.255 udp dst_port 67  port 8 permit
config access_profile profile_id 4  add access_id 9  ip  destination_ip 255.255.255.255 udp dst_port 67  port 9 permit
config access_profile profile_id 4  add access_id 10  ip  destination_ip 255.255.255.255 udp dst_port 67  port 10 permit
config access_profile profile_id 4  add access_id 11  ip  destination_ip 255.255.255.255 udp dst_port 67  port 11 permit
config access_profile profile_id 4  add access_id 12  ip  destination_ip 255.255.255.255 udp dst_port 67  port 12 permit
config access_profile profile_id 4  add access_id 13  ip  destination_ip 255.255.255.255 udp dst_port 67  port 13 permit
config access_profile profile_id 4  add access_id 14  ip  destination_ip 255.255.255.255 udp dst_port 67  port 14 permit
config access_profile profile_id 4  add access_id 15  ip  destination_ip 255.255.255.255 udp dst_port 67  port 15 permit
config access_profile profile_id 4  add access_id 16  ip  destination_ip 255.255.255.255 udp dst_port 67  port 16 permit
config access_profile profile_id 4  add access_id 17  ip  destination_ip 255.255.255.255 udp dst_port 67  port 17 permit
config access_profile profile_id 4  add access_id 18  ip  destination_ip 255.255.255.255 udp dst_port 67  port 18 permit
config access_profile profile_id 4  add access_id 19  ip  destination_ip 255.255.255.255 udp dst_port 67  port 19 permit
config access_profile profile_id 4  add access_id 20  ip  destination_ip 255.255.255.255 udp dst_port 67  port 20 permit
config access_profile profile_id 4  add access_id 21  ip  destination_ip 255.255.255.255 udp dst_port 67  port 21 permit
config access_profile profile_id 4  add access_id 22  ip  destination_ip 255.255.255.255 udp dst_port 67  port 22 permit
config access_profile profile_id 4  add access_id 23  ip  destination_ip 255.255.255.255 udp dst_port 67  port 23 permit
config access_profile profile_id 4  add access_id 24  ip  destination_ip 255.255.255.255 udp dst_port 67  port 24 permit
Все коммутаторы сидят в одной управляющей сети.
Суть проблемы в следующем. Периодически появляется флуд в сети от большого количества коммутаторов доступа (наших) с пакетами DHCP Release. Client MAC Address у всех один и тот же - абонентский. Source как уже и писал - множество, все наши коммутаторы.
Методом дедукции нашли проблемный девайс - это оказался абонентский роутер Zyxel Kenetik (вроде так называется), из свежих. Проверили - так и есть, при подключении этого роутера к сети в любом месте приводит к такому эффекту.
Что интересно, на аггрегации этот МАК валится совсем с другого порта, не с того, куда подключен абонентский коммутатор доступа. Порт каждый раз один и тот же.
Лечится отключением этого порта аггрегации на пару секунд.
Вопрос - правильно ли я понимаю хождение DHCP пакетов?
1. Коммутатор доступа получает на порту абонента DHCP запрос
2. Коммутатор доступа отправляет от своего имени DHCP запрос на DHCP сервер (отрабатывает dhcp_relay) по управляющей сетке
3. Ответ идет на коммутатор доступа (ибо он запрашивал) и он отдает его уже абоненту
Если все правильно, то нужно ли открывать доступ к DHCP на порту абонента?
Я вижу, что DHCP запросы приходят еще и по абонентским сеткам, то есть в обход dhcp_relay. Возможно это уже юникасты на renew и они не перехватываются коммутатором доступа?
В общем что-то я не совсем понимаю как оно должно быть. Расскажите пожалуйста как правильно и возможно это решит проблему. Или если это другая проблема, то может вы знаете как ее решить.
Спасибо.