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 в соответствии с представленной сетевой конфигурацией.

image

Рис. 8.4 Конфигурация сети

Шаг 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
!