| Оглавление | ||
|---|---|---|
|
Настройка ААА
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 |
| Scroll Pagebreak |
|---|
Создадим профиль аутентификации:
| Блок кода |
|---|
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 символов.
| Scroll Pagebreak |
|---|
Пример настройки привилегий команд
Задача:
Перевести все команды просмотра информации об интерфейсах на уровень привилегий 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.
| Scroll Pagebreak |
|---|
Решение:
Настроим список доступа для фильтрации по подсетям:
| Блок кода |
|---|
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 |
| Scroll Pagebreak |
|---|
Настройка списков доступа (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.
| Scroll Pagebreak |
|---|
Решение:
Настроим список доступа для фильтрации по протоколу и 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 |