Хочу рассказать, как настроить DHCP Snooping и DAI (Dynamic Arp Inspection). Материал будет полезен начинающим сетевым администраторам.
Коротко о технологии DHCP Snooping и DAI
Данные функции защищают вашу сеть от подмены DHCP сервера. На коммутаторах вручную настраиваются доверенные порты, которые как правило подключены к маршрутизатору или DHCP серверу. Также доверенными портами назначаются UpLink порты.
Другая возможность это Dynamic Arp inspection. Тоже защитная функция, предотвращающая атаку типа Man-in-The-Middle. Это такой вид атаки, когда к вашей сети подключается устройство злоумышленника и, например, объявляет, что IP адрес, принадлежащий авторизованному серверу, принадлежит ему. После этого все данные, которые отправляются на сервер переходят через устройство злоумышленника.
Настройка DHCP Snooping и DAI
Чтобы включить функцию DHCP Snooping нужно для начала задать доверенные и не доверенные порты. Все порты, к которому подключены конечные пользователи считаются не доверенными. Так как DHCP Snooping и DAI настраиваются в связке я не буду делить это на отдельные части:
AccSwitch#conf t AccSwitch(config)# AccSwitch(config)#int ra gi1/0/1-46 AccSwitch(config-if-range)#ip dhcp snooping limit rate 15 AccSwitch(config-if-range)#ip arp inspection limit rate 100
Тут мы задаем количество пакетов, которые должны проходить через не доверенный интерфейс. Обычно такого числа пакетов хватает для получения и обновления IP адреса. Далее настраиваем доверенные интерфейсы:
AccSwitch(config)#int ra gi1/0/47-48 AccSwitch(config-if-range)#ip dhcp snooping trust AccSwitch(config-if-range)#ip arp inspection trust
После этого глобально включаем DHCP Snooping, но НЕ ARP Inspection:
AccSwitch(config)#ip dhcp snooping AccSwitch(config)#ip dhcp snooping vlan 200 AccSwitch(config)#no ip dhcp snooping information option
Последняя команда отключает опцию 82, которая используется коммутатором в DHCP пакетах, идущих от DHCP клиента через коммутатор к DHCP серверу. Опция 82 содержит информацию об устройстве (например, MAC адрес коммутатора) и информацию о номере порта с которого идет запрос для того, чтобы сервер, опираясь на полученную информацию, смог выдать IP адрес DHCP клиенту из нужной подсети.
Далее переходим к настройке DAI. Если у вас в сети есть устройства со статическим IP адресом, то нужно как-то сказать коммутатору, чтобы порты, к которым подключены такие устройства не проверялись. Для этого существуют ARP списки доступа. Важно, чтобы название access-list-а было именно DAI. По личному опыту знаю, что в противном случае нужно вводить дополнительные команды. А так все работает без лишних команд.
AccSwitch(config)# AccSwitch(config)# arp access-list DAI AccSwitch(config-arp-nacl)# permit ip host 192.168.200.25 mac host 0017.6111.a309
В таком порядке добавляем IP адреса всех устройств со статическим IP. Дополнительно можно настроить Sorce Guard. Этим мы конкретное устройство к порту коммутатора, таким образом другое устройство подключенное к указанному порту не сможет выдать себя за привязанное:
AccSwitch(config)#ip source binding 0017.6111.a309 vlan 200 192.168.200.14 interface Gi1/0/5
Также под не доверенными интерфейсами нужно ввести команду ip verify source, которые проверяет источник запросов.
Важно! После всех настроек, приведенных выше, ждем сутки-две чтобы DHCP Snooping таблица заполнилась. В противном случае DAI будет блокировать все запросы, и пользователи не смогут работать в сети. Когда таблица заполнена включаем arp inspection:
AccSwitch(config)#ip arp inspection vlan 200