Dynamic ARP Inspection (DAI) - проверяет корректность ARP-пакетов, сверяя указанные в них MAC- и IP-адреса с доверенной базой. Эта база формируется либо вручную (статические записи), либо автоматически через DHCP Snooping.
DAI пропускает только те ARP-пакеты, которые совпадают с доверенными данными.
Каждый порт, когда включен DAI, может быть либо trusted «доверенным», либо untrusted «недоверенным». На недоверенных портах производится проверка ARP-пакетов, на доверенных портах такой проверки нет.
Для работы данной функции необходимо настроить DHCP Snooping Binding, подробнее смотрите в соответствующем разделе.
Включение DAI в vlan 33:
SW1(config)#ip arp inspection vlan 33 |
По умолчанию все порты не являются доверенными
Настройка trust порта:
SW1(config)#int ethernet 1/0/8 SW1(config-if-ethernet1/0/8)#ip arp inspection trust |
Ограничение количества ARP пакетов на порту (50 в секунду):
SW1(config-if-ethernet1/0/1)#ip arp inspection limit-rate 50 |
Проверка:
Сначала очищаем ARP-кеш в Windows следующей командой: arp -d
Устанавливаем фиксированный IP-адрес на ПК1: 192.168.33.4, а затем пингуем адрес 192.168.33.100.
Включаем debug arp inspection:
SW1#debug ip arp inspection ip arp inspection debug is on SW1#%Jan 03 03:15:37 2006 Receive a arp message from port Ethernet1/0/1 %Jan 03 03:15:37 2006 Decode ARP message %Jan 03 03:15:37 2006 destination mac : ff-ff-ff-ff-ff-ff %Jan 03 03:15:37 2006 source mac : 3c-97-0e-d1-ad-29 %Jan 03 03:15:37 2006 sender ip 192.168.33.4 sender mac 3c-97-0e-d1-ad-29 %Jan 03 03:15:37 2006 target ip 192.168.33.100 target mac 00-00-00-00-00 %Jan 03 03:15:37 2006 Get no dhcp snooping binding for source and input port is untrusted, drop it |
Как видно из debug сообщений, пакет ARP отклоняется, поскольку порт не является доверенным и у нас нет соответствующей записи в таблице DHCP snooping binding.
Меняем адрес ПК1 на динамический. Соответствующая запись появится в таблице DHCP snooping binding:
SW1(config)#show ip dhcp snooping binding all ip dhcp snooping static binding count:0, dynamic binding count:1 MAC IP address Interface Vlan ID Flag 3c-97-0e-d1-ad-29 192.168.33.4 Ethernet1/0/1 33 D |
Включаем debug и пингуем адрес 192.168.33.100
SW1#debug ip arp inspection ip arp inspection debug is on SW1#%Jan 03 03:26:23 2006 Receive a arp message from port Ethernet1/0/1 %Jan 03 03:26:23 2006 Decode ARP message %Jan 03 03:26:23 2006 destination mac : ff-ff-ff-ff-ff-ff %Jan 03 03:26:23 2006 source mac : 3c-97-0e-d1-ad-29 %Jan 03 03:26:23 2006 sender ip 192.168.33.4 sender mac 3c-97-0e-d1-ad-29 %Jan 03 03:26:23 2006 target ip 192.168.33.100 target mac 00-00-00-00-00 %Jan 03 03:26:23 2006 Get dhcp snooping binding for source %Jan 03 03:26:23 2006 Source check OK %Jan 03 03:26:23 2006 Broadcast arp, get no output port by dhcp snooping binding table and forward it to ports in vlan 33 |
Пинг возможен, debug сообщения показывают, что проверка ARP-пакета прошла успешно.