DHCP Snooping - функционал коммутатора, предназначенный для защиты от атак с использованием протокола DHCP.
С помощью DHCP Snooping коммутатор контролирует процесс получения DHCP-клиентом IP-адреса для предотвращения атак DHCP и появления нелегитимных DHCP-серверов в сети, устанавливая доверенные и недоверенные порты.
Сообщения из доверенных портов передаются коммутатором без проверки. Обычно, доверенные порты используются для подключения DHCP-сервера или DHCP Relay, а недоверенные - для подключения DHCP-клиентов. Коммутатор передает DHCP-запросы из недоверенных портов, но не передает из них DHCP-ответы. Кроме того, при получении DHCP-ответа из недоверенного порта, коммутатор может выполнить предварительно настроенное действие: shutdown или blackhole.
Функционал DHCP Snooping Binding позволяет реализовать контроль доступа пользователей, получающих IP-адреса по DHCP, на основании анализа DHCP
пакетов проходящих через коммутатор. При включении DHCP Snooping Binding, DHCP пакеты в Vlan, где включен DHCP Snooping, анализируются коммутатором. При успешном получении IP-адреса клиентом создается запись в binding таблице, которая связывает полученный IP-адрес с MAC-адресом, VLAN и номером порта, к которому подключен
клиент.
Конфигурация DHCP Snooping и Option 82
SNR-S5210(config)#ip dhcp snooping SNR-S5210(config)#ip dhcp snooping vlan <> SNR-S5210(config)#ip dhcp snooping binding SNR-S5210(config)#ip dhcp snooping information option SNR-S5210(config)#ip dhcp snooping information option self-defined remote-id format hex SNR-S5210(config)#ip dhcp snooping information option self-defined subscriber-id format hex
Не забываем указать порт в сторону DHCP-сервера как Trust:
SNR-S5210(config)#interface <> SNR-S5210(config-if)#ip dhcp snooping trust
Также дополнительно рекомендуется включить функционал user-control на портах подключения абонентов, и указать максимальное количество абонентов, подключенных к порту:
SNR-S5210(config)#interface <> SNR-S5210(config-if)#ip dhcp snooping binding user-control SNR-S5210(config-if)#ip dhcp snooping binding user-control max-user 1
Конфигурация DHCP-сервера ISC DHCP
Создаем класс для коммутатора:
class "Switch1Clients"{ match if
Проверяем соответствие полученного в circuit-id, а также MAC-адреса коммутатора в agent.remote-id с необходимым:
option agent.circuit-id="Switch1ge1"and option agent.remote-id=f8f082753301 subnet 192.168.102.0 netmask 255.255.255.0 { option routers 192.168.102.2; option subnet-mask 255.255.255.0; option domain-name-servers 192.168.10.3; authoritative;
Выдаем IP-адрес согласно описанному выше классу:
pool { range 192.168.102.51 192.168.102.80; allow members of "Switch1Clients"; } }