Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

При настройке user-defined offset используется прямая битовая маска.


Пример настройки разрешения IGMPv2 Report сообщений на диапазон групп 239.4.4.0 /22 и IGMPv2 Leave сообщений в VLAN 10 через User-defined offset (весь остальной трафик запрещён):

...

1) Выделяем 9, 16, 18 байты. Расчёт ведётся с нуля и начинается с L3 заголовка. Помимо указанного байта обязательно захватывается следующий по счёту. Например, в offset 1 будут использоваться байты 9, 10. В данном примере 9 байт - номер протокола (2 для IGMP), 16-19 байты - Destination IP-адрес.

console(config)# user-defined offset 1 l3 9

console(config)# user-defined offset 2 l3 16

console(config)# user-defined offset 3 l3 18

2) Разбор mac access-list extended 1: в offset 1 в 1 байте берётся номер протокола IGMP 02 с маской ff, т.к не допустимо изменение данного байта. 10 байт нам не важен, поэтому выбираем значение 00 с маской 00, допуская любое значение данного байта. В offset 2 указываются первые 2 байта DST IP 239.4. Переведя их в HEX, получаем EF04. Байты изменяться не должны, поэтому используем маску ffff. В offset 3 указываются вторые 2 байта DST IP 4.0. При этом третий байт может принимать значения 4-7, что соответствует прямой маске fc (в двоичной системе счисления 3 байт маски выглядит как 11111100, что соответствует 252 в DEC или FC в HEX), а 4 байт нам не важен, поэтому выбираем значение 00 с маской 00, допуская любое значение данного байта.

Правило mac access-list extended 2 расчитывается по аналогии, только в расчёте используется DST IP 224.0.0.2 (IP-адрес, на который отправляется IGMPv2 Leave сообщение)

console(config)# mac access-list extended 1

console(config-ext-macl)# permit any any vlan 10 user-defined offset1 0x0200 0xff00 offset2 0xEF04 0xffff offset3 0x0400 0xfC00

console(config)# mac access-list extended 2

console(config-ext-macl)# permit any any vlan 10 user-defined offset1 0x0200 0xff00 offset2 0xE000 0xffff offset3 0x0002 0xffff

console(config-ext-macl)# exit

console(config)# interface gigabitethernet 0/1

console(config-if)# mac access-group 1 in

Для прохождения остальных пакетов на интерфейсе требуется добавить второй ACL, разрешающий прохождение пакетов, не попадающих под правило фильтрации padi/pado:

console(config

...

-

...

console(config-ext-macl)# permit any any

console(config-ext-macl)#  exit

console(config)# interface gigabitethernet 0/1

...

if)# mac access-group 2 in

user-defined offset 1 l3 9
user-defined offset 2 l3 16
user-defined offset 3 l3 18
!
mac access-list extended 1
permit any any vlan 10 user-defined offset1 0x0200 0xff00 offset2 0xEB04 0xffff offset3 0x0400 0xfC00
!
interface gigabitethernet 0/1
mac access-group 1 in


Все не разрешённые пакеты будут отброшены.