6.6 Настройка IPv6 ACL
6.6.1 Обзор
Введение в функциональность
Списки управления доступом для IPv6 (ACLv6) классифицируют трафик с одинаковыми характеристиками. ACLv6 могут содержать множество записей (Access Control Entries, ACE), которые сопоставляют поля пакета с заданными критериями. ACLv6 могут фильтровать пакеты, полученные на интерфейсе, по множеству параметров, таких как IPv6-адрес, а также разрешать или запрещать передачу пакетов.
Описание принципа работы
Для описания ACLv6 используются следующие термины и концепции:
- Access Control Entry (ACE): Каждая запись включает действие (разрешить или запретить) и фильтры, основанные на таких критериях, как адрес источника, адрес назначения, протокол и параметры протокола.
- IPv6 ACL: Фильтрует пакеты по ipv6-sa и ipv6-da. IPv6-адрес может быть задан в виде маски, как конкретный адрес (host id) или как любой адрес (any). Также можно фильтровать другие поля L3 (например, L4 протокол) и поля L4 (например, TCP-порт, UDP-порт).
- Time Range: Определяет период времени, в течение которого ACE действует, если он связан с временным диапазоном.
6.6.2 Конфигурация

Рисунок 6-4: IPv6 ACL
Шаг 1: Перейдите в режим настройки
Switch# configure terminal
Шаг 2: Включите IPv6 глобально
Switch(config)# ipv6 enable
Шаг 3: Создайте списки доступа
MAC ACL:
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
IPv6 ACL:
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
Шаг 4: Создайте class-map и привяжите списки доступа
Class-map для MAC ACL:
Switch(config)# class-map cmap1
Switch(config-cmap)# match access-group mac
Switch(config-cmap)# exit
Class-map для IPv6 ACL:
Switch(config)# class-map cmap2
Switch(config-cmap)# match access-group ipv6
Switch(config-cmap)# exit
Шаг 5: Создайте policy-map и привяжите class-map
Policy-map для MAC ACL:
Switch(config)# policy-map pmap1
Switch(config-pmap)# class cmap1
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Policy-map для IPv6 ACL:
Switch(config)# policy-map pmap2
Switch(config-pmap)# class cmap2
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Шаг 6: Примените policy к интерфейсу
Для интерфейса eth-0-1:
Switch(config)# interface eth-0-1
Switch(config-if)# service-policy input pmap1
Switch(config-if)# exit
Для интерфейса eth-0-2:
Switch(config)# interface eth-0-2
Switch(config-if)# service-policy input pmap2
Switch(config-if)# exit
Шаг 7: Выйдите из режима настройки
Switch(config)# end
Шаг 8: Проверка
Если IPv6 включён глобально, пакеты IPv6 не будут подчиняться правилам MAC ACL.
Результат выполнения команды show running-config:
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
!
class-map match-any cmap1
match access-group mac
!
class-map match-any cmap2
match access-group ipv4
!
policy-map pmap1
class cmap1
!
policy-map pmap2
class cmap2
!
interface eth-0-1
service-policy input pmap1
!
interface eth-0-2
service-policy input pmap2
!