Перейти к основному содержимому

6.5 Настройка Extend ACL

6.5.1 Обзор

Введение в функциональность

Extend IPv4 (ACL) объединяет фильтры MAC и IP в одном списке доступа. В отличие от MAC и IP ACL, расширенный ACL может управлять доступом ко всем пакетам (IP и не-IP). Расширенный ACL поддерживает функции Extend IPv4 ACL.

Описание принципа работы

Следующие термины и концепции описывают расширенный ACL:

  • Extend IPv4 ACL - Объединяет MAC ACE и IPv4 ACE в одном ACL, что позволяет предоставлять более мощные функции управления доступом к транзитным пакетам.
  • MAC ACE - Фильтрует пакеты по mac-sa и mac-da. MAC-адрес может быть задан в виде маски, как конкретный адрес (host id) или как любой адрес (any). Также можно фильтровать другие поля L2, такие как COS, VLAN-ID, INNER-COS, INNER-VLAN-ID, L2 type, L3 type.
  • IPv4 ACE - Фильтрует пакеты по ip-sa и ip-da. IP-адрес может быть задан в виде маски, как конкретный адрес (host id) или как любой адрес (any). Также можно фильтровать поля L3 (например, DSCP) и поля L4 (например, TCP-порт, UDP-порт).

MAC ACE и IPv4 ACE в расширенном IPv4 ACL могут быть настроены в любом порядке, полностью определяемом пользователем.

6.5.2 Конфигурация

Рисунок 6-3: Extend ACL

Рисунок 6-3: Extend ACL

В этом примере используется расширенный IPv4 ACL на интерфейсе eth-0-1, чтобы:

  • Разрешить пакеты с исходным MAC-адресом 0000.0000.1111 и значением COS 2,
  • Разрешить все TCP-пакеты,
  • Запретить любые другие пакеты.

Шаг 1: Перейдите в режим настройки

Switch# configure terminal

Шаг 2: Создайте список доступа

Switch(config)# ip access-list ipxacl extend
Switch(config-ex-ip-acl)# permit src-mac host 0000.0000.1111 dest-mac any cos 2
Switch(config-ex-ip-acl)# permit tcp any any
Switch(config-ex-ip-acl)# deny src-mac any dest-mac any
Switch(config-ex-ip-acl)# end

Шаг 3: Создайте class-map и привяжите список доступа

Switch(config)# class-map cmap
Switch(config-cmap)# match access-group ipxacl
Switch(config-cmap)# exit

Шаг 4: Создайте policy-map и привяжите class-map

Switch(config)# policy-map pmap
Switch(config-pmap)# class cmap
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit

Шаг 5: Примените policy к интерфейсу

Switch(config)# interface eth-0-1
Switch(config-if)# service-policy input pmap
Switch(config-if)# exit

Шаг 6: Выйдите из режима настройки

Switch(config)# end

Шаг 7: Проверка

Результат выполнения команды show running-config:

Switch# show running-config
ip access-list ipxacl extend
10 permit src-mac host 0000.0000.1111 dest-mac any cos 2
20 permit tcp any any
30 deny src-mac any dest-mac any
!
class-map match-any cmap
match access-group ipxacl
!
policy-map pmap
class cmap
!
interface eth-0-1
service-policy input pmap
!

Результат выполнения команды show access-list ip:

Switch# show access-list ip
ip access-list ipxacl extend
10 permit src-mac host 0000.0000.1111 dest-mac any cos 2
20 permit tcp any any
30 deny src-mac any dest-mac any