Поиск по этому блогу

28.07.2016

Применение 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 коммутатора.

Настройка dhcp-snooping на Eltex MES


Перечисляются vlan'ы, где есть dhcp-клиенты, включается хранение базы на флешке. На tftp сохранить нельзя.
ip dhcp snooping
ip dhcp snooping database
ip dhcp snooping vlan 100
ip dhcp snooping vlan 200
Настраиваются доверенные порты, т.е. те, за которыми располагается dhcp-сервер, либо те, данные с которых собирать в базу не нужно.
interface gigabitethernet 1/0/24
ip dhcp snooping trust
Например, есть последовательная цепочка из двух коммутаторов. Если настроить в качестве доверенного порта только аплинки обоих коммутаторов, то на первом коммутаторе будет собираться база клиентов обоих коммутаторов. Это не смертельно в общем случае, но при использовании всего свободного места на флешке коммутатор перезагрузится из-за возникшей ошибки, как у меня было с mes3124.
mes2124p#dir
Directory of flash:

File Name Permission Flash Size Data Size Modified
------------------- ---------- ---------- --------- -----------------------
copyhist rw 65520 12 17-Feb-2015 16:46:38
dhcpsn.prv -- 131040 -- 05-Mar-2015 13:32:16
directry.prv -- 65520 -- 09-Aug-2011 10:35:05
image-1 rw 6815744 6815744 25-Feb-2015 17:26:00
image-2 rw 6815744 6815744 17-Feb-2015 16:54:01
mirror-config rw 131040 3596 01-Jun-2016 06:19:39
sshkeys.prv -- 131040 -- 11-Aug-2011 12:35:14
startup-config rw 458640 86045 30-May-2016 18:19:59
syslog1.sys r- 131072 -- 31-May-2016 17:34:10
syslog2.sys r- 131072 -- 31-May-2016 17:34:10

Total size of flash: 16252928 bytes
Free size of flash: 1376496 bytes

Настройка dhcp-snooping на Juniper EX, кроме EX9200


Имеются противопоказания для настройки dhcp-snooping'а на джуниперах:
  • не работает для vlan'ов, которые маршрутизируются данным коммутатором, т.е. имеется RVI интерфейс и настроен dhcp-relay.
  • На ex9200 работает вроде, но я забыл уже. Там зато был регулярный косяк с dhcp-relay, который правили раза два минимум. Просто переставал релаить и привет;
  • локальную базу хранить небезопасно, так как при внеплановой перезагрузке она может быть удалена. Это специфика junos;
  • по умолчанию доверенными являются все транковые порты, а недоверенными - access-порты. Нигде не описывается, что транковый агрегированный интерфейс (ae) является недоверенным по умолчанию. В случае, когда в такой порт прописан vlan с настройкой dot1q-tunneling, то настроить порт ae доверенным не получится. Почитать про [EX/QFX] Error message: DHCP trusted configuration cannot be specified on a dot1q tunneled interfaces. Получить такой ответ при создании тикета я совсем не ожидал. Не работает и всё.
Настройка для всех vlan. Доверенные порты по умолчанию - это все транки, кроме ae.
ex2200> show configuration ethernet-switching-options secure-access-port 
vlan all {
examine-dhcp;
}
dhcp-snooping-file {
location /путь/имя_файла;
write-interval 300;
timeout 10;
}

Настройка dhcp-snooping на Cisco


Тут нет такого как на джуниперах и в случае L3 коммутатора dhcp-snooping работает. Есть ограничение на использование совсем старых флешек с файловой системой Low End File System, которая предусматривает очистку файловой системы от удаленных файлов вручную. На коммутаторе настраивается dhcp-snooping очень привычно.
ip dhcp snooping vlan [диапазон или список через запятую]
no ip dhcp snooping information option
ip dhcp snooping database flash:/имя_файла
ip dhcp snooping
Настройка доверенного порта.
interface GigabitEthernet0/1
ip dhcp snooping trust