8.6. Настройка IPv6 ACL
Назначение
IPv6 ACL (ACLv6) предназначены для фильтрации трафика IP версии 6.
Описание
Список контроля доступа IPv6 (ACLv6) состоит из нескольких элементов управления доступом (ACE), которые представляют собой команды, сопоставляющие свои параметры с содержимым пакетов IPv6. ACLv6 способен сравнивать различные поля трафика IPv6, поступающего на интерфейс, и на основании результатов сравнения принимать решение о разрешении или запрете прохождения пакетов
ACLv6 обеспечивает фильтрацию пакетов, принятых портом, по IPv6-SA и IPv6-DA. IPv6-адрес можно задать с помощью маски, настроить как идентификатор сетевого узла, или настроить как любой для фильтрации всех IPv6-адресов.
IPv6 ACL также позволяет фильтровать другие L3-поля, такие как протокол L4, или поля L4, такие как TCP-порт, UDP-порт и т.д.
Настройка
Ниже показана настройка IPv6 ACL в соответствии с представленной сетевой конфигурацией.
Шаг 1: Вход в режим “Global config”
Switch# configure terminal
Шаг 2: Включение IPv6
Switch(config)# ipv6 enable
Шаг 3: Создание ACL
ACL по MAC-адресу:
Switch(config)# mac access-list mac
Switch(config-mac-acl)# permit src-mac host 0000.0000.1111 dest-mac any
Switch(config-mac-acl)# deny src-mac any dest-mac any
Switch(config-mac-acl)# exit
ACL по IPv6:
Switch(config)# ipv6 access-list ipv6
Switch(config-ipv6-acl)# permit any 2001::/64 any
Switch(config-ipv6-acl)# deny any any any
Switch(config-ipv6-acl)# exit
Важно!
Перед выполнением команды ipv6 access-list необходимо установить профиль STM “default” или “IPv6”.
Применение IPv6 ACL при помощи команды access-group
Созданный IPv6 ACL может быть применен для входящего или исходящего трафика на интерфейсе коммутатора с помощью команды access-group.
Шаг 4: Применение политики на порте
Switch(config)# interface eth-0-1
Switch(config-if)# access-group input mac
Switch(config-if)# exit
Switch(config-if)# interface eth-0-2
Switch(config-if)# access-group input ipv6
Switch(config-if)# exit
Шаг 5: Выход из режима “Global config”
Switch(config)# end
Шаг 6: Проверка
Если на коммутаторе включен IPv6, пакеты IPv6 не будут подчиняться MAC ACL:
Switch# show running-config
mac access-list mac
10 permit src-mac host 0000.0000.1111 dest-mac any
20 deny src-mac any dest-mac any
!
ipv6 access-list ipv6
10 permit any 2001::/64 any
20 deny any any any
!
interface eth-0-1
access-group input mac
!
interface eth-0-2
access-group input ipv6
!
Применение ACL при помощи class-map и policy-map
Созданный расширенный ACL может быть применен для входящего или исходящего трафика на интерфейсе коммутатора с помощью применения на интерфейсе политики (service-policy), настроенной с использованием class-map, ссылающегося на ACL и policy-map, ссылающегося на class-map. Преимуществом данного подхода является возможность более гибкой настройки и возможность включения статистки по срабатыванию строк ACL с помощью команды statistic enable для class-map в настройке policy-map.
Шаг 4: Создание классов и привязка ACL
Switch(config-cmap)# match access-group mac
Switch(config-cmap)# exit
Switch(config-cmap)# match access-group ipv6
Switch(config-cmap)# exit
Шаг 5: Настройка политик и привязка классов
Switch(config-pmap)# class cmap1
Switch(config-pmap-c)# statistics enable
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config-pmap)# class cmap2
Switch(config-pmap-c)# statistics enable
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Шаг 6: Применение политики на порте
Switch(config-if)# service-policy input pmap1
Switch(config-if)# exit
Switch(config-if)# service-policy input pmap2
Switch(config-if)# exit
Шаг 7: Выход из режима “Global config”
Шаг 8: Проверка
Если на коммутаторе включен IPv6, пакеты IPv6 не будут подчиняться MAC ACL:
mac access-list mac
10 permit src-mac host 0000.0000.1111 dest-mac any
20 deny src-mac any dest-mac any
!
ipv6 access-list ipv6
10 permit any 2001::/64 any
20 deny any any any
!
class-map match-any cmap1
match access-group mac
!
class-map match-any cmap2
match access-group ipv4
!
policy-map pmap1
class cmap1
statistics enable
!
policy-map pmap2
class cmap2
statistics enable
!
interface eth-0-1
service-policy input pmap1
!
interface eth-0-2
service-policy input pmap2
!