DHCP snooping

Есть ряд программных ограничений, которые иногда не позволяют использовать функционал dhcp-snooping на коммутаторах. Этапы получения ip-адреса клиентом от сервера выглядят как-то так:

CLIENT -> DHCPDISCOVER
SERVER -> DHCPOFFER
CLIENT -> DHCPREQUEST
SERVER -> DHCPACK

Dhcp-snooping нужен на коммутаторах чтобы:

  • блокировать ответы dhcp-серверов (DHCPOFFER) с недоверенных портов;
  • следить за запросами с доверенных портов и все ответы сервера фиксировать в базе с привязкой к конкретному порту, vlan'у, удалять запись из базы при истечении времени leased time.

База dhcp-snooping'а используется для работы таких фич на коммутаторах как:

  • dynamic arp inspection (DAI). При использовании DAI с недоверенных портов разрешаются только arp-запросы от хоста, данные о котором есть в базе. Есть возможность ограничивать rate-limit для arp на любом порту.
  • ip source guard. При включении фичи на порту коммутатора будет осуществляться проверка на соответствие ip,mac,vlan данным в базе.

Некоторые принтера используют протокол bootp, который функционалом dhcp-snooping не поддерживается. bootp и dhcp - разные протоколы. Запросы bootp в базу не попадут и будут заблокированы DAI, например. Необходимо отключить bootp в настройка сетевого принтера. В зависимости от реализации конкретного ПО для коммутатора, база может хранится в оперативной памяти или локально в энергонезависимой памяти (флешке) в виде файла, или на удаленном tftp-сервере. Если коммутатор позволяет хранить данные только в оперативной памяти, то использовать функционалы dai и ip source guard нельзя, так как после перезагрузки база данных будет пуста и все запросы с недоверенных портов dai и с портов, где включен ip source guard, будут отброшены. Если база пишется на флешку или tftp, то вероятность заблокировать пользователя существенно меньше. При включении dhcp-snooping, dynamic arp inspection, ip source guard будет использован ресурс CPU коммутатора, аппаратные ресурсы tcam, т.к все перечисленное - это acl.