7.4. Настройка ACL

Назначение

Списки контроля доступа (ACL) предназначены для идентификации трафика по различным признакам. Списки ACL могут идентифицировать трафик по таким полям как IP-адрес, MAC-адрес, и запрещать или разрешать передачу пакетов с определенными признаками.

Описание

ACL может иметь несколько записей управления доступом (ACE), которые представляют собой команды, сопоставляющие свои записи с полями пакетов.

MAC ACL может фильтровать пакеты по MAC-SA и MAC-DA, а MAC-адрес может быть замаскирован, настроен как идентификатор узла, или настроен как любой (чтобы фильтровать все MAC-адреса). MAC ACL также может фильтровать другие поля L2, такие как COS, VLAN-ID, INNER-COS, INNER-VLAN-ID, тип L2, тип L3.

IPv4 ACL может фильтровать пакеты по IP-SA и IP-DA, а IP-адрес может быть скрыт, или настроен как идентификатор узла, или настроен как любой, чтобы фильтровать все IPv4-адреса. IPv4 ACL также может фильтровать другие поля L3, такие как DSCP, протокол L4 и поля L4, такие как порт TCP, порт UDP и так далее.

Настройка

image

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

В примере ниже на порте “eth-0-1” использован ACL на основе MAC-адреса, чтобы разрешить пакеты с MAC-адресом источника 0000.0000.1111 и запретить любые другие пакеты. На порте “eth-0-2” использован ACL по IPv4-адресу, чтобы разрешить пакеты с IP-адресом источника 1.1.1.1/24 и запретить любые другие пакеты.

Шаг 1: Вход в режим “Global config”

Switch# configure terminal

Шаг 2: Создание ACL

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

IPv4-ACL:

Switch(config)# ip access-list ipv4
Switch(config-ip-acl)# permit any 1.1.1.1 0.0.0.255 any
Switch(config-ip-acl)# deny any any any
Switch(config-ip-acl)# exit

Шаг 3: Создание классов и привязка ACL

Switch(config)# class-map cmap1
Switch(config-cmap)# match access-group mac
Switch(config-cmap)# exit
Switch(config)# class-map cmap2
Switch(config-cmap)# match access-group ipv4
Switch(config-cmap)# exit

Шаг 4: Настройка политик и привязка классов

Switch(config)# policy-map pmap1
Switch(config-pmap)# class cmap1
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# policy-map pmap2
Switch(config-pmap)# class cmap2
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit

Шаг 5: Применение политик на портах

Switch(config)# interface eth-0-1
Switch(config-if)# service-policy input pmap1
Switch(config-if)# exit
Switch(config-if)# interface eth-0-2
Switch(config-if)# service-policy input pmap2
Switch(config-if)# exit

Шаг 6: Выход из режима “Global config”

Switch(config)# end

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

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 
!
ip access-list ipv4
  10 permit any 1.1.1.0 0.0.0.255 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
!