Настройка ААА
AAA (Authentication, Authorization, Accounting) — используется для описания процесса предоставления доступа и контроля над ним.
- Authentication (аутентификация) — сопоставление персоны (запроса) существующей учетной записи в системе безопасности. Осуществляется по логину, паролю.
- Authorization (авторизация, проверка полномочий, проверка уровня доступа) — сопоставление учетной записи в системе и определенных полномочий.
- Accounting (учет) — слежение за подключением пользователя или внесенным им изменениям.
Алгоритм настройки локальной аутентификации
Шаг | Описание | Команда | Ключи |
|---|---|---|---|
1 | Задать список методов аутентификации по умолчанию (default)/с именем <NAME> и указать local. | scs(config)# aaa authentication login { default | <NAME> } <METHOD 1> | <NAME> — имя списка, задается строкой до 31 символа. Способы аутентификации:
|
2 | Задать список методов аутентификации повышения привилегий пользователей по умолчанию (default)/с именем <NAME> и указать enable. | scs(config)# aaa authentication enable <NAME><METHOD 1> [ <METHOD 2> ] | <NAME> — имя списка, задается строкой до 31 символа. Способы аутентификации:
|
3 | Указать способ перебора методов аутентификации в случае отказа (необязательно). | scs(config)# aaa authentication mode <MODE> | <MODE> — способы перебора методов:
Значение по умолчанию: chain. |
4 | Указать количество неудачных попыток аутентификации для блокировки логина пользователя и время блокировки (необязательно). | scs(config)# aaa authentication attempts max-fail <COUNT> <TIME> | <COUNT> — количество неудачных попыток аутентификации, после которых произойдет блокировка пользователя, принимает значения [1..65535]; <TIME> — интервал времени в минутах, на который будет заблокирован пользователь, принимает значения [1..65535]. Значение по умолчанию: |
| 5 | Включить запрос на смену пароля по умолчанию для пользователя admin (необязательно). | scs(config)# security passwords default-expired | |
| 6 | Включить режим запрета на использование ранее установленных паролей локальных пользователей (необязательно). | scs(config)# security passwords history <COUNT> | <COUNT> — количество паролей, сохраняемых в памяти сервера. Принимает значение в диапазоне [1..15]. Значение по умолчанию: 0. |
| 7 | Установить время действия пароля локального пользователя (необязательно). | scs(config)# security passwords lifetime <TIME> | <TIME> — интервал времени действия пароля в днях. Принимает значение в диапазоне [1..365]. По умолчанию: время действия пароля локального пользователя не ограничено. |
| 8 | Установить ограничение на минимальную длину пароля локального пользователя и ENABLE-пароля (необязательно). | scs(config)# security passwords min-length <NUM> | <NUM> — минимальное количество символов в пароле. Принимает значение в диапазоне [8..128]. Значение по умолчанию: 0. |
| 9 | Установить ограничение на максимальную длину пароля локального пользователя и ENABLE-пароля (необязательно). | scs(config)# security passwords max-length <NUM> | <NUM> — максимальное количество символов в пароле. Принимает значение в диапазоне [8..128]. Значение по умолчанию: не ограничено. |
| 10 | Установить минимальное количество типов символов, которые должны присутствовать в пароле локального пользователя и ENABLE-пароле (необязательно). | scs(config)# security passwords symbol-types <COUNT> | <COUNT> — минимальное количество типов символов в пароле. Принимает значение в диапазоне [1..4]. Значение по умолчанию: 1. |
| 11 | Установить минимальное количество строчных букв в пароле локального пользователя и ENABLE-пароле (необязательно). | scs(config)# security passwords lower-case <COUNT> | <COUNT> — минимальное количество строчных букв в пароле локального пользователя и ENABLE-пароле. Принимает значение в диапазоне [0..128]. Значение по умолчанию: 0. |
| 12 | Установить минимальное количество прописных (заглавных) букв в пароле локального пользователя и ENABLE-пароле (необязательно). | scs(config)# security passwords upper-case <COUNT> | <COUNT> — минимальное количество прописных (заглавных) букв в пароле. Принимает значение в диапазоне [0..128]. Значение по умолчанию: 0. |
| 13 | Установить минимальное количество цифр в пароле локального пользователя и ENABLE-пароле (необязательно). | scs(config)# security passwords numeric-count <COUNT> | <COUNT> — минимальное количество цифр в пароле. Принимает значение в диапазоне [0..128]. Значение по умолчанию: 0. |
| 14 | Установить минимальное количество специальных символов в пароле локального пользователя и ENABLE-пароле (необязательно). | scs(config)# security passwords special-case <COUNT> | <COUNT> — минимальное количество специальных символов в пароле. Принимает значение в диапазоне [0..128]. Значение по умолчанию: 0. |
| 15 | Добавить пользователя в локальную базу и перейти в режим настройки параметров пользователя. | scs(config)# username <NAME> | <NAME> — имя пользователя, задается строкой до 31 символа. |
| 16 | Установить пароль пользователя. | scs(config-user)# password { <CLEAR-TEXT> | encrypted <HASH_SHA512> } | <CLEAR-TEXT> — пароль, задается строкой [8 .. 32] символов, принимает значения [0-9a-fA-F]; <HASH_SHA512> — хеш пароля по алгоритму sha512, задаётся строкой из 110 символов. |
| 17 | Установить уровень привилегий пользователя. | scs(config-user)# privilege <PRIV> | <PRIV> — необходимый уровень привилегий. Принимает значение [1..15]. |
| 18 | Установить режим работы учетной записи пользователя (необязательно). | scs(config-user)# mode <MODE> | <MODE> — режим работы учетной записи пользователя. Может принимать значения:
|
| 19 | Указать метод аутентификации SSH-сессий для пользователя (необязательно). | scs(config-user)# ssh authentication method <METHOD> | <METHOD> — метод аутентификации SSH-сессий. Может принимать значения:
|
| 20 | Указать имя файла публичного ключа, который будет использован при аутентификации SSH-сессии пользователя (необязательно). | scs(config-user)# ssh pubkey <NAME> | <NAME> — имя файла публичного ключа, расположенного в разделе crypto:public-key, задаётся строкой до 31 символа. |
| 21 | Отключить авторизацию для предустановленного пользователя admin (необязательно). | scs(config)# no admin login enable | |
| 22 | Перейти в режим конфигурирования соответствующего терминала. | scs(config)# line <TYPE> | <TYPE> — тип консоли:
|
| 23 | Активировать список аутентификации входа пользователей в систему. | scs(config-line-console)# login authentication <NAME> | <NAME> — имя списка, задается строкой до 31 символа. Создан на шаге 1. |
| 24 | Активировать список аутентификации повышения привилегий пользователей. | scs(config-line-console)# enable authentication <NAME> | <NAME> — имя списка, задается строкой до 31 символа. Создан на шаге 2. |
| 25 | Задать интервал, по истечении которого будет разрываться бездействующая сессия. | scs(config-line-console)# exec-timeout <SEC> | <SEC> — период времени в минутах, принимает значения [1..65535]. |
Алгоритм настройки AAA по протоколу RADIUS
Шаг | Описание | Команда | Ключи |
|---|---|---|---|
1 | Задать глобальное значение кода DSCP для использования в IP-заголовках исходящих пакетов RADIUS-сервера (необязательно). | scs(config)# radius-server dscp <DSCP> | <DSCP> — значение кода DSCP, принимает значения в диапазоне [0..63]. Значение по умолчанию: 63. |
2 | Задать глобальное значение количества перезапросов к последнему активному RADIUS-серверу (необязательно). | scs(config)# radius-server retransmit <COUNT> | <COUNT> — количество перезапросов к RADIUS-серверу, принимает значения [1..10]. Значение по умолчанию: 1. |
3 | Задать глобальное значение интервала, по истечении которого консольный сервер считает, что RADIUS-сервер недоступен (необязательно). | scs(config)# radius-server timeout <SEC> | <SEC> — период времени в секундах, принимает значения [1..30]. Значение по умолчанию: 3 секунды. |
4 | Добавить RADIUS-сервер в список используемых серверов и перейти в режим его конфигурирования. | scs(config)# radius-server host | <IP-ADDR> — IP-адрес RADIUS-сервера, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <IPV6-ADDR> — IPv6-адрес RADIUS-сервера, задается в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF] |
| 5 | Задать описание конфигурируемого RADIUS-сервера (необязательно). | scs(config-radius-server)# description <description> | <description> — описание RADIUS-сервера, задается строкой до 255 символов. |
6 | Указать количество неудачных попыток аутентификации для блокировки логина пользователя и времени блокировки (необязательно). | scs(config-radius-server)# aaa authentication attempts max-fail <COUNT> <TIME> | <COUNT> — количество неудачных попыток аутентификации, после которых произойдет блокировка пользователя, принимает значения [1..65535]; <TIME> — интервал времени в секундах, на который будет заблокирован пользователь, принимает значения [1..65535]. Значение по умолчанию: <COUNT> — 5; <TIME> — 300. |
7 | Задать пароль для аутентификации на удаленном RADIUS-сервере. | scs(config-radius-server)# key ascii-text | <TEXT> — строка [8..16] ASCII-символов; <ENCRYPTED-TEXT> — зашифрованный пароль, размером [8..16] байт, задается строкой [16..32] символов. |
8 | Задать приоритет использования удаленного RADIUS-сервера (необязательно). | scs(config-radius-server)# priority <PRIORITY> | <PRIORITY> — приоритет использования удаленного сервера, принимает значения [1..65535]. Чем ниже значение, тем приоритетнее сервер. Значение по умолчанию: 1. |
9 | Задать интервал, по истечении которого консольный сервер считает, что данный RADIUS-сервер недоступен (необязательно). | scs(config-radius-server)# timeout <SEC> | <SEC> — период времени в секундах, принимает значения [1..30]. Значение по умолчанию: используется значение глобального таймера. |
10 | Задать IPv4/IPv6-адрес, который будет использоваться в качестве IPv4/IPv6-адреса источника в отправляемых RADIUS-пакетах. | scs(config-radius-server)# source-address { <ADDR> | object-group <NETWORK_OBJ_GROUP_NAME> } | <ADDR> — IP-адрес источника, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <NETWORK_OBJ_GROUP_NAME> — список адресов, которые будут использоваться в качестве source address. |
| 11 | Задать интерфейс консольного сервера, IPv4/IPv6-адрес которого будет использоваться в качестве IPv4/IPv6-адреса источника в отправляемых RADIUS-пакетах. | scs(config-radius-server)# source-interface <IF> | <IF> — имя интерфейса устройства, задается в виде, описанном в разделе Типы и порядок именования интерфейсов консольного сервера. |
12 | Задать список методов аутентификации по умолчанию (default)/с именем <NAME> и указать radius. | scs(config)# aaa authentication login { default | <NAME> } <METHOD 1> | <NAME> — имя списка, задается строкой до 31 символа. Способы аутентификации:
|
13 | Задать список методов аутентификации повышения привилегий пользователей по умолчанию (default)/с именем <NAME> и указать radius. | scs(config)# aaa authentication enable <NAME><METHOD 1> | <NAME> — имя списка строка до 31 символа;
<METHOD> — способы аутентификации:
|
14 | Указать способ перебора методов аутентификации в случае отказа (необязательно). | scs(config)# aaa authentication mode <MODE> | <MODE> — способы перебора методов:
Значение по умолчанию: chain. |
15 | Сконфигурировать RADIUS в списке способов учета сессий пользователей (необязательно). | scs(config)# aaa accounting login start-stop <METHOD 1> | <METHOD> — способы учета:
|
16 | Перейти в режим конфигурирования соответствующего терминала. | scs(config)# line <TYPE> | <TYPE> — тип консоли:
|
<NAME> — имя списка, задается строкой до 31 символа. Создан на шаге 12. | |||
18 | Активировать список аутентификации повышения привилегий пользователей. | scs(config-line-console)# enable authentication <NAME> | <NAME> — имя списка, задается строкой до 31 символа. Создан на шаге 13. |
Алгоритм настройки AAA по протоколу TACACS
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Задать глобальное значение кода DSCP для использования в IP-заголовках исходящих пакетов TACACS-сервера (необязательно). | scs(config)# tacacs-server dscp <DSCP> | <DSCP> — значение кода DSCP, принимает значения в диапазоне [0..63]. Значение по умолчанию: 63. |
| 2 | Задать глобальное значение интервала, по истечении которого консольный сервер считает, что TACACS-сервер недоступен (необязательно). | scs(config)# tacacs-server timeout <SEC> | <SEC> — период времени в секундах, принимает значения [1..30]. Значение по умолчанию: 3 секунды. |
| 3 | Добавить TACACS-сервер в список используемых серверов и перейти в режим его конфигурирования. | scs(config)# tacacs -server host
| <IP-ADDR> — IP-адрес TACACS-сервера, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255] <IPV6-ADDR> — IPv6-адрес TACACS-сервера, задается в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF] |
| 4 | Задать описание конфигурируемого TACACS-сервера (необязательно). | scs(config-tacacs-server)# description <description> | <description> — описание TACACS-сервера, задается строкой до 255 символов. |
| 5 | Указать количество неудачных попыток аутентификации для блокировки логина пользователя и время блокировки (необязательно) | scs(config-tacacs-server)# aaa authentication attempts max-fail <COUNT> <TIME> | <COUNT> — количество неудачных попыток аутентификации, после которых произойдет блокировка пользователя, принимает значения [1..65535]; <TIME> — интервал времени в минутах, на который будет заблокирован пользователь, принимает значения [1..65535]. Значение по умолчанию: <COUNT> — 5; <TIME> — 300. |
| 6 | Задать пароль для аутентификации на удаленном TACACS-сервере | scs(config-tacacs-server)# key ascii-text { <TEXT> | encrypted <ENCRYPTED-TEXT> } | <TEXT> — строка [8..16] ASCII-символов; <ENCRYPTED-TEXT> — зашифрованный пароль, размером [8..16] байт, задаётся строкой [16..32] символов. |
| 7 | Задать номер порта для обмена данными c удаленным TACACS-сервером (необязательно). | scs(config-tacacs-server)# port <PORT> | <PORT> — номер TCP-порта для обмена данными c удаленным сервером, принимает значения [1..65535]. Значение по умолчанию: 49 для TACACS-сервера. |
8 | Задать приоритет использования удаленного TACACS сервера (необязательно). | scs(config-tacacs-server)# priority <PRIORITY> | <PRIORITY> — приоритет использования удаленного сервера, принимает значения [1..65535]. Чем ниже значение, тем приоритетнее сервер. Значение по умолчанию: 1. |
9 | Задать IPv4/IPv6-адрес, который будет использоваться в качестве IP/IPv6-адреса источника в отправляемых TACACS-пакетах. | scs(config-tacacs-server)# source-address { <ADDR> | object-group <NETWORK_OBJ_GROUP_NAME> } | <ADDR> — IP-адрес источника, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <NETWORK_OBJ_GROUP_NAME> — список адресов, которые будут использоваться в качестве source address. |
| 10 | Задать интерфейс консольного сервера, IPv4/IPv6-адрес которого будет использоваться в качестве IPv4/IPv6-адреса источника в отправляемых TACACS-пакетах. | scs(config-tacacs-server)# source-interface <IF> | <IF> — имя интерфейса устройства, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов консольного сервера. |
| 11 | Задать список методов аутентификации по умолчанию (default)/с именем <NAME> и указать tacacs. | scs(config)# aaa authentication login { default | <NAME> } <METHOD 1> [ <METHOD 2> ] [ <METHOD 3> ] | <NAME> — имя списка, задается строкой до 31 символа. Способы аутентификации:
|
12 | Задать список методов аутентификации повышения привилегий пользователей по умолчанию (default)/с именем <NAME> и указать tacacs. | scs(config)# aaa authentication enable <NAME><METHOD 1> | <NAME> — имя списка строка до 31 символа;
<METHOD> — способы аутентификации:
|
13 | Задать список методов авторизации команд, вводимых пользователем в систему по умолчанию (default)/с именем <NAME> и указать tacacs. | scs(config)# aaa authorization commands { default | <NAME> } <METHOD 1>[ <METHOD 2> ] | <NAME> — имя списка, задается строкой до 31 символа. Способы аутентификации: |
14 | Указать способ перебора методов аутентификации в случае отказа (необязательно). | scs(config)# aaa authentication mode <MODE> | <MODE> — способы перебора методов:
Значение по умолчанию: chain. |
15 | Сконфигурировать список способов учета команд, введенных в CLI (необязательно). | scs(config)# aaa accounting commands stop-only <METHOD> | <METHOD> — способы учета: tacacs — учет введенных команд по протоколу TACACS. |
| 16 | Сконфигурировать tacacs в списке способов учета сессий пользователей (необязательно). | scs(config)# aaa accounting login start-stop <METHOD 1> | <METHOD> — способы учета:
|
| 17 | Перейти в режим конфигурирования соответствующего терминала. | scs(config)# line <TYPE> | <TYPE> — тип консоли:
|
| 18 | Активировать список аутентификации входа пользователей в систему. | scs(config-line-console)# login authentication <NAME> | <NAME> — имя списка, задается строкой до 31 символа. Создан на шаге 11. |
| 19 | Активировать список аутентификации повышения привилегий пользователей. | scs(config-line-console)# enable authentication <NAME> | <NAME> — имя списка, задается строкой до 31 символа. Создан на шаге 12. |
| 20 | Активировать список авторизации команд вводимых пользователем в систему. | scs(config-line-console)# commands authorization <NAME> | <NAME> — имя списка, задается строкой до 31 символа. Создан на шаге 13. |
Пример настройки аутентификации по Telnet через RADIUS-сервер
Задача:
Настроить аутентификацию пользователей, подключающихся по Telnet, через RADIUS (192.0.2.12/24).
Решение:
Настроим подключение к RADIUS-серверу и укажем ключ (password):
scs# configure scs(config)# radius-server host 192.0.2.12 scs(config-radius-server)# key ascii-text encrypted 8CB5107EA7005AFF scs(config-radius-server)# exit
Создадим профиль аутентификации:
scs(config)# aaa authentication login log radius
Укажем режим аутентификации, используемый при подключении по Telnet-протоколу:
scs(config)# line telnet scs(config-line-telnet)# login authentication log scs(config-line-telnet)# exit scs(config)# exit
Просмотреть информацию по настройкам подключения к RADIUS-серверу можно командой:
scs# show aaa radius-servers
Посмотреть профили аутентификации можно командой:
scs# show aaa authentication
Настройка привилегий команд
Настройка привилегий команд является гибким инструментом, который позволяет назначить набору команд минимально необходимый уровень пользовательских привилегий (1-15). В дальнейшем при создании пользователя можно задать уровень привилегий, определяя доступный ему набор команд.
- 1-9 уровни — позволяют использовать все команды мониторинга (show …);
- 10-14 уровни — позволяют использовать все команды кроме команд перезагрузки устройства, управления пользователями и ряда других;
- 15 уровень — позволяет использовать все команды.
Алгоритм настройки
Для изменения минимального уровня привилегий необходимого для выполнения команды CLI используется команда:
scs(config)# privilege <COMMAND-MODE> level <PRIV><COMMAND>
<COMMAND-MODE> — командный режим;
<PRIV> — необходимый уровень привилегий поддерева команд, принимает значение [1..15];
<COMMAND> — поддерево команд, задается строкой до 255 символов.
Пример настройки привилегий команд
Задача:
Перевести все команды просмотра информации об интерфейсах на уровень привилегий 10, кроме команды «show interfaces port-channel». Команду «show interfaces bridges» перевести на уровень привилегий 3.
Решение:
В режиме конфигурирования определим команды, разрешенные на использование с уровнем привилегий 10 и уровнем привилегий 3:
scs(config)# privilege root level 3 "show interfaces port-channel" scs(config)# privilege root level 10 "show interfaces"
Настройка списков доступа (IP ACL)
IP Access Control List или IP ACL — список контроля доступа, содержит правила, определяющие прохождение трафика через интерфейс.
Алгоритм настройки
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Создать список контроля доступа и перейти в режим его конфигурирования. | scs(config)# ip access-list extended <NAME> | <NAME> — имя создаваемого списка контроля доступа, задается строкой до 31 символа. |
| 2 | Указать описание конфигурируемого списка контроля доступа (необязательно). | scs(config-acl-ip)# description <DESCRIPTION> | <DESCRIPTION> — описание списка контроля доступа, задаётся строкой до 255 символов. |
| 3 | Создать правило и перейти в режим его конфигурирования. Правила обрабатываются сервером в порядке возрастания их номеров. | scs(config-acl-ip)# rule <ORDER> | <ORDER> — номер правила, принимает значения [1...4094]. |
| 4 | Указать действие, которое должно быть применено для трафика, удовлетворяющего заданным критериям. | scs(config-acl-ip-rule)# action <ACT> | <ACT> — назначаемое действие:
|
| 5 | Установить имя/номер протокола, для которого должно срабатывать правило (необязательно). | scs(config-acl-ip-rule)# match protocol <TYPE> | <TYPE> — тип протокола, принимает значения: esp, icmp, icmp6, ah, eigrp, ospf, igmp, ipip, tcp, pim, udp, vrrp, rsvp, l2tp, gre. При указании значения «any» правило будет срабатывать для любых протоколов. |
scs(config-acl-ip-rule)# match protocol-id <ID> | <ID> — идентификационный номер IP-протокола, принимает значения [0x00-0xFF]. | ||
6 | Установить IP-адреса отправителя, для которых должно срабатывать правило (необязательно). | scs(config-acl-ip-rule)# match source-address { <ADDR> <MASK> | any } | <ADDR> — IP-адрес отправителя, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <MASK> — маска IP-адреса, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. Биты маски, установленные в 0, задают биты IP-адреса, исключаемые из сравнения при поиске. При указании значения «any» правило будет срабатывать для любого IP-адреса отправителя/получателя. |
7 | Установить IP-адреса получателя, для которых должно срабатывать правило (необязательно). | scs(config-acl-ip-rule)# match destination-address { <ADDR> <MASK> | any } | |
8 | Установить MAC-адреса отправителя, для которых должно срабатывать правило (необязательно). | scs(config-acl-ip-rule)# match source-mac <ADDR><WILDCARD> | <ADDR> — МАС-адрес отправителя, задается в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]; <WILDCARD> — маска МАС-адреса, задается в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]. Биты маски, установленные в 0, задают биты MAC-адреса, исключаемые из сравнения при поиске. |
9 | Установить MAC-адреса получателя, для которых должно срабатывать правило (необязательно). | scs(config-acl-ip-rule)# match destination-mac <ADDR><WILDCARD> | |
10 | Установить номер TCP/UDP-порта отправителя, для которого должно срабатывать правило (если указан протокол). | scs(config-acl-ip-rule)# match source-port <TYPE> {<FROM-PORT> - <TO-PORT> | <PORT>} | <TYPE> — тип аргумента, устанавливаемый в качестве порта:
<FROM-PORT> — начальный порт диапазона; <TO-PORT> — конечный порт диапазона; <PORT> — указание единичного порта. |
11 | Установить номер TCP/UDP-порта получателя, для которого должно срабатывать правило (если указан протокол). | scs(config-acl-ip-rule)# match destination-port <TYPE> {<FROM-PORT> - <TO-PORT> | <PORT>} | |
12 | Установить значение 802.1p приоритета, для которого должно срабатывать правило (необязательно). | scs(config-acl-ip-rule)# match сos <COS> | <COS> — значение 802.1p приоритета, принимает значения [0..7]. |
13 | Установить значение кода DSCP, для которого должно срабатывать правило (необязательно). Невозможно использовать совместно с IP Precedence. | scs(config-acl-ip-rule)# match dscp <DSCP> | <DSCP> — значение кода DSCP, принимает значения [0..63]. |
14 | Установить значение кода IP Precedence, для которого должно срабатывать правило (необязательно). Невозможно использовать совместно с DSCP. | scs(config-acl-ip-rule)# match ip-precedence <IPP> | <IPP> — значение кода IP Precedence, принимает значения [0..7]. |
15 | Установить значение идентификационного номера VLAN, для которого должно срабатывать правило (необязательно). | scs(config-acl-ip-rule)# match vlan <VID> | <VID> — идентификационный номер VLAN, принимает значения [1..4094]. |
16 | Активировать правило. | scs(config-acl-ip-rule)# enable | |
17 | Указать список контроля доступа к конфигурируемому интерфейсу для фильтрации входящего трафика. | scs(config-if-gi)# service-acl ip input <NAME> | <NAME> — имя списка контроля доступа, задается строкой до 31 символа. |
| 18 | Указать список контроля доступа к конфигурируемому интерфейсу для фильтрации исходящего трафика. | scs(config-if-gi)# service-acl ip output <NAME> | <NAME> — имя списка контроля доступа, задается строкой до 31 символа. |
Пример настройки списка доступа
Задача:
Разрешить прохождения трафика только из подсети 192.168.20.0/24.
Решение:
Настроим список доступа для фильтрации по подсетям:
scs# configure scs(config)# ip access-list extended white scs(config-acl-ip)# rule 1 scs(config-acl-ip-rule)# action permit scs(config-acl-ip-rule)# match source-address 192.168.20.0 255.255.255.0 scs(config-acl-ip-rule)# enable scs(config-acl-ip-rule)# exit scs(config-acl-ip)# exit
Применим список доступа на интерфейс Gi1/0/19 для входящего трафика:
scs(config)# interface gigabitethernet 1/0/1 scs(config-if-gi)# service-acl ip input white
Просмотреть детальную информацию о списке доступа возможно через команду:
scs# show ip access-list white
Настройка списков доступа (MAC ACL)
MAC Access Control List или MAC ACL — список контроля доступа, содержит правила на основе L2 заголовка, определяющие прохождение трафика через интерфейс.
Алгоритм настройки
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Создать список контроля доступа и перейти в режим его конфигурирования. | scs(config)# mac access-list extended <NAME> | <NAME> — имя создаваемого списка контроля доступа, задаётся строкой до 31 символа. |
| 2 | Указать описание конфигурируемого списка контроля доступа (необязательно). | scs(config-acl-mac)# description <DESCRIPTION> | <DESCRIPTION> — описание списка контроля доступа, задаётся строкой до 255 символов. |
| 3 | Создать правило и перейти в режим его конфигурирования. Правила обрабатываются сервером в порядке возрастания их номеров. | scs(config-acl-mac)# rule <ORDER> | <ORDER> — номер правила, принимает значения [1...4094]. |
| 4 | Указать действие, которое должно быть применено для трафика, удовлетворяющего заданным критериям. | scs(config-acl-mac-rule)# action <ACT> | <ACT> — назначаемое действие:
|
| 5 | Установить имя/номер протокола, для которого должно срабатывать правило (необязательно). | scs(config-acl-mac-rule)# match protocol <TYPE> | <TYPE> — тип протокола, принимает значения: arp, ip, ipv6, lacp, lldp, cdp, stp, vtp. При указании значения «any» правило будет срабатывать для любых протоколов. |
scs(config-acl-mac-rule)# match ethertype <ID> | <ID> — идентификационный номер инкапсулированного протокола, принимает значения [0x0600-0xFFFF]. | ||
8 | Установить MAC-адреса отправителя, для которых должно срабатывать правило (необязательно). | scs(config-acl-mac-rule)# match source-mac <ADDR><WILDCARD> | <ADDR> — МАС-адрес отправителя, задается в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]; <WILDCARD> — маска МАС-адреса, задается в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]. Биты маски, установленные в 0, задают биты MAC-адреса, исключаемые из сравнения при поиске. |
9 | Установить MAC-адреса получателя, для которых должно срабатывать правило (необязательно). | scs(config-acl-mac-rule)# match destination-mac <ADDR><WILDCARD> | |
12 | Установить значение 802.1p приоритета, для которого должно срабатывать правило (необязательно). | scs(config-acl-mac-rule)# match сos <COS> | <COS> — значение 802.1p приоритета, принимает значения [0..7]. |
15 | Установить значение идентификационного номера VLAN, для которого должно срабатывать правило (необязательно). | scs(config-acl-mac-rule)# match vlan <VID> | <VID> — идентификационный номер VLAN, принимает значения [1..4094]. |
16 | Активировать правило. | scs(config-acl-mac-rule)# enable | |
17 | Указать список контроля доступа к конфигурируемому интерфейсу для фильтрации входящего трафика. | scs(config-if-gi)# service-acl mac input <NAME> | <NAME> — имя списка контроля доступа, задается строкой до 31 символа. |
| 18 | Указать список контроля доступа к конфигурируемому интерфейсу для фильтрации исходящего трафика. | scs(config-if-gi)# service-acl mac output <NAME> | <NAME> — имя списка контроля доступа, задается строкой до 31 символа. |
Пример настройки списка доступа
Задача:
Разрешить прохождение ARP запросов только c VLAN 343.
Решение:
Настроим список доступа для фильтрации по протоколу и vlan:
scs# configure scs(config)# mac access-list extended white scs(config-acl-mac)# rule 1 scs(config-acl-mac-rule)# action permit scs(config-acl-mac-rule)# match protocol arp scs(config-acl-mac-rule)# match vlan 343 scs(config-acl-mac-rule)# enable scs(config-acl-mac-rule)# exit scs(config-acl)# exit
Применим список доступа на интерфейс Gi1/0/19 для входящего трафика:
scs(config)# interface gigabitethernet 1/0/19 scs(config-if-gi)# service-acl mac input white
Просмотреть детальную информацию о списке доступа возможно через команду:
scs# show mac access-list white