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

Конфигурация списков контроля доступа (ACL)

Обзор

Список контроля доступа (ACL) — это список записей контроля доступа (ACE). Каждая запись ACE в ACL определяет права доступа, которые разрешены или запрещены.

Каждый пакет, поступающий на устройство, сравнивается с каждой записью ACE в каждом ACL в порядке их определения. Устройство продолжает проверку до тех пор, пока не будет найдено совпадение. Если совпадение не найдено и устройство достигает конца списка, пакет отклоняется. По этой причине наиболее часто встречающиеся правила следует размещать в начале списка.

Устройство прекращает проверку правил после нахождения совпадения.

Примечание: Если совпадения нет, пакет отклоняется (неявный запрет). Поэтому ACL, предназначенный для запрета нескольких выбранных пакетов, должен содержать хотя бы один фильтр разрешения с более низким приоритетом; в противном случае весь трафик будет отклонен из-за фильтра неявного запрета по умолчанию.

Топология

Image

Рисунок 15-22: Пример топологии ACL

Конфигурация IPv4 ACL
#configure terminalПерейти в режим конфигурации.
(config)#ip access-list T1Создать IP ACL с именем T1.
(config-ip-acl)#deny any host 1.1.1.1 anyСоздать правило доступа для запрета IP-пакетов с исходным адресом 1.1.1.1.
(config-ip-acl)#permit any host 1.1.1.1/24 anyСоздать правило доступа для разрешения IP-пакетов с исходным адресом 1.1.1.1.
(config-ip-acl)#exitВыйти из режима конфигурации списка доступа.
(config)#interface xe10Перейти в режим конфигурации интерфейса.
(config-if)#no switchportНастроить интерфейс как уровень 3.
(config-if)#ip address 1.1.1.3/24Назначить IP-адрес.
(config-if)#ip access-group T1 inПрименить группу доступа T1 для входящего трафика на интерфейсе.
(config-if)#endВыйти из режима конфигурации интерфейса и режима конфигурации.
Проверка

Используйте команды ниже для проверки количества совпадений. Когда входящие IP-пакеты достигают интерфейса xe10 с исходным адресом 1.1.1.1, количество совпадений для правила доступа 10 увеличивается на количество отправленных пакетов.

#show ip access-lists T1
IP access list T1
10 deny any host 1.1.1.1 any [match=200]
20 permit any 1.1.1.1/24 any
default deny-all

Когда входящие IP-пакеты достигают интерфейса xe10 с исходным адресом в диапазоне от 1.1.1.1 до 1.1.1.254, количество совпадений для правила доступа 20 увеличивается на количество отправленных пакетов.

#show ip access-lists T1
IP access list T1
10 deny any host 1.1.1.1 any
20 permit any 1.1.1.1/24 any [match=2000]
default deny-all

Примечание: Используйте команду clear ip access-list counters для сброса статистики всех ACL или clear ip access-list <access-list name> counters для сброса статистики конкретного ACL.

Конфигурация ICMP ACL
#configure terminalПерейти в режим конфигурации.
(config)#ip access-list icmp-acl-01Создать IP ACL с именем icmp-acl-01.
(config-ip-acl)#10 deny icmp 1.1.1.2/24 2.2.2.2/24 dscp af11 fragmentsСоздать правило доступа с порядковым номером 10 для запрета ICMP-пакетов с определенного источника к определенному назначению с DSCP значением af11. Примечание: Порядковый номер является необязательным.
(config-ip-acl)#20 permit icmp 1.1.1.1/24 2.2.2.2/24 precedence flashСоздать правило доступа с порядковым номером 20 для разрешения ICMP-пакетов с определенного источника к определенному назначению с приоритетом flash.
(config-ip-acl)#exitВыйти из режима конфигурации списка доступа.
(config)#interface xe10Перейти в режим конфигурации интерфейса.
(config-if)#no switchportНастроить интерфейс как уровень 3.
(config-if)#ip address 1.1.1.3/24Назначить IP-адрес.
(config-if)#ip access-group icmp-acl-01 inПрименить группу доступа icmp-acl-01 для входящего трафика на интерфейсе.
(config-if)#endВыйти из режима конфигурации интерфейса и режима конфигурации.
Проверка

Используйте команды ниже для проверки количества совпадений. Когда входящие IP-пакеты достигают интерфейса xe10 с исходным адресом 1.1.1.X, адресом назначения 2.2.2.X, значением DSCP af11 и являются фрагментированными, количество совпадений для правила доступа 10 увеличивается на количество отправленных пакетов.

#show ip access-lists icmp-acl-01
IP access-list icmp-acl-01
10 deny icmp 1.1.1.2/24 2.2.2.2/24 dscp af11 [match=200]
20 permit icmp 1.1.1.1/24 2.2.2.2/24 precedence flash
default deny-all

Когда входящие IP-пакеты достигают интерфейса xe10 с исходным адресом 1.1.1.X, адресом назначения 2.2.2.X и значением приоритета flash, количество совпадений для правила доступа 20 увеличивается на количество отправленных пакетов.

#show ip access-lists icmp-acl-01
IP access-list icmp-acl-01
10 deny icmp 1.1.1.2/24 2.2.2.2/24 dscp af11
20 permit icmp 1.1.1.1/24 2.2.2.2/24 precedence flash [match=200]
default deny-all

Примечание: Используйте команду clear ip access-list counters для сброса статистики всех ACL или clear ip access-list <access-list name> counters для сброса статистики конкретного ACL.

Нумерация записей в списке доступа

Вы можете изменить порядковые номера правил в списке доступа.

Примечание: Перенумерация ACL, прикрепленного к интерфейсу управления, очищает счетчики ACL, связанные с ним.

#configure terminalПерейти в режим конфигурации.
(config)#ip access-list icmp-acl-01Перейти в режим конфигурации списка доступа для ACL icmp-acl-01.
(config-ip-acl)#resequence 100 200Перенумеровать список доступа, начиная с порядкового номера 100 и увеличивая на 200.
(config-ip-acl)#1000 deny icmp 1.1.1.2/24 2.2.2.2/24 dscp af11Перенумеровать конкретное правило доступа 100 с порядковым номером 1000.
(config-ip-acl)#exitВыйти из режима конфигурации списка доступа.
Проверка

До перенумерации:

#show access-lists icmp-acl-01
IP access list icmp-acl-01
10 deny icmp 1.1.1.2/24 2.2.2.2/24 dscp af11 log
20 permit icmp 1.1.1.1/24 2.2.2.2/24 precedence flash
default deny-all

После перенумерации списка доступа, начиная с порядкового номера 100 и увеличивая на 200:

#show access-lists icmp-acl-01
IP access list icmp-acl-01
100 deny icmp 1.1.1.2/24 2.2.2.2/24 dscp af11 log
300 permit icmp 1.1.1.1/24 2.2.2.2/24 precedence flash
default deny-all

После перенумерации конкретного правила доступа 100 с порядковым номером 1000:

#show access-lists icmp-acl-01
IP access list icmp-acl-01
300 permit icmp 1.1.1.1/24 2.2.2.2/24 precedence flash
1000 deny icmp 1.1.1.2/24 2.2.2.2/24 dscp af11 log
default deny-all
Конфигурация IPv6 ACL
#configure terminalПерейти в режим конфигурации.
(config)#ipv6 access-list ipv6-acl-01Создать IPv6 ACL с именем ipv6-acl-01.
(config-ipv6-acl)#11 deny ip any any flow-label 100Создать правило доступа с порядковым номером 11 для запрета IPv4 инкапсулированных пакетов в IPv6 с любым исходным адресом и любым адресом назначения с меткой потока 100.
(config-ipv6-acl)#default permit-allОбновить правило по умолчанию для разрешения всего трафика.
(config-ipv6-acl)#exitВыйти из режима конфигурации списка доступа.
(config)#interface xe10Перейти в режим конфигурации интерфейса.
(config-if)#no switchportНастроить интерфейс как уровень 3.
(config-if)#ipv6 address 1:1::1:3/64Назначить IPv6-адрес.
(config-if)#ipv6 access-group ipv6-acl-01 inПрименить группу доступа ipv6-acl-01 для входящего трафика на интерфейсе.
(config-if)#endВыйти из режима конфигурации интерфейса и режима конфигурации.
Проверка

Используйте команды ниже для проверки количества совпадений. Когда входящие IPv6-пакеты достигают интерфейса xe10 с инкапсулированными IPv4-пакетами с меткой потока 100, количество совпадений для правила доступа 11 увеличивается на количество отправленных пакетов.

#show ipv6 access-lists ipv6-acl-01
IPv6 access-list ipv6-acl-01
11 deny ip any any flow-label 100 [match=1000]
default permit all

Для всех остальных IPv6-пакетов вызывается правило доступа по умолчанию, и количество совпадений увеличивается на количество отправленных пакетов.

#show ipv6 access-lists ipv6-acl-01
IPv6 access-list ipv6-acl-01
11 deny ip any any flow-label 100
default permit-all [match=2000]

Примечание: Используйте команду clear ipv6 access-list counters для сброса статистики всех IPv6 ACL или clear ipv6 access-list <ipv6 access-list name> counters для сброса статистики конкретного IPv6 ACL.