| Оглавление | ||
|---|---|---|
|
Алгоритм настройки
...
Шаг
...
Описание
...
Команда
...
Ключи
...
1
...
Добавить RADIUS-сервер в список используемых серверов и перейти в режим его конфигурирования.
...
esr(config)# radius-server host
{ <IP-ADDR> | <IPV6-ADDR> }
[ vrf <VRF> ]
esr(config-radius-server)#
...
<IP-ADDR> – IP-адрес RADIUS-сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];
<IPV6-ADDR> – IPv6-адрес RADIUS-сервера, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF];
<VRF> – имя экземпляра VRF, задается строкой до 31 символа.
...
2
...
Задать пароль для аутентификации на удаленном RADIUS-сервере.
...
esr(config-radius-server)# key ascii-text
{ <TEXT> | encrypted <ENCRYPTED-TEXT> }
...
<TEXT> – строка [8..16] ASCII-символов;
<ENCRYPTED-TEXT> – зашифрованный пароль, размером [8..16] байт, задаётся строкой [16..32] символов.
...
3
...
Создать профиль ААА.
...
esr(config)# aaa radius-profile <NAME>
...
<NAME> – имя профиля сервера, задается строкой до 31 символа.
...
4
...
В профиле AAA указать RADIUS-сервер.
...
esr(config-aaa-radius-profile)# radius-server host
{ <IP-ADDR> | <IPV6-ADDR> }
...
<IP-ADDR> – IP-адрес RADIUS-сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];
<IPV6-ADDR> – IPv6-адрес RADIUS-сервера, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF].
...
5
...
Создать DAS-сервер.
...
esr(config)# das-server <NAME>
...
<NAME> – имя DAS-сервера, задается строкой до 31 символа.
...
6
...
Задать пароль для аутентификации на удаленном DAS-сервере.
...
esr(config-das-server)# key ascii-text
{<TEXT>|encrypted <ENCRYPTED-TEXT> }
...
<TEXT> – строка [8..16] ASCII-символов;
<ENCRYPTED-TEXT> – зашифрованный пароль, размером [8..16] байт, задаётся строкой [16..32] символов.
...
7
...
Создать AAA DAS-профиль.
...
esr(config)# aaa das-profile <NAME>
...
<NAME> – имя DAS-профиля, задается строкой до 31 символа.
...
8
...
Указать DAS-сервер в DAS-профиле.
...
esr(config-aaa-das-profile)# das-server <NAME>
...
<NAME> – имя DAS-сервера, задается строкой до 31 символа.
...
9
...
Сконфигурировать BRAS.
...
esr(config)# subscriber-control [ vrf <VRF> ]
...
<VRF> – имя экземпляра VRF, задается строкой до 31 символа, в рамках которого будет работать контроль пользователей.
...
10
...
Выбрать профиль серверов динамической авторизации (DAS), на которые будут приходить CoA-запросы от PCRF.
...
esr(config-subscriber-control)# aaa das-profile <NAME>
...
<NAME> – имя профиля серверов динамической авторизации (DAS), задается строкой до 31 символа.
...
11
...
Выбрать профиль RADIUS-серверов для получения параметров сервисов пользователя.
...
esr(config-subscriber-control)# aaa services-radius-profile
<NAME>
...
<NAME> – имя профиля RADIUS-серверов, задается строкой до 31 символа.
...
12
...
Выбрать профиль RADIUS-серверов для получения параметров сессии пользователя.
...
esr(config-subscriber-control)# aaa sessions-radius-profile
<NAME>
...
<NAME> – имя профиля RADIUS-серверов, задается строкой до 31 символа.
...
13
...
Определить IP-адрес маршрутизатора, который будет использоваться в качестве IP-адреса источника в отправляемых RADIUS-пакетах.
...
esr(config-subscriber-control)# nas-ip-address <ADDR>
...
<ADDR> – IP-адрес источника, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].
...
14
...
Включить аутентификацию сессий по MAC-адресу (не обязательно).
...
esr(config-subscriber-control)# session mac-authentication
...
15
...
Организовать прозрачное пропускание служебного трафика (DHCP, DNS и т. д.) на основе фильтров.
...
esr(config-subscriber-control)# bypass-traffic-a с l <NAME>
...
<NAME> – имя привязываемого ACL, задается строкой до 31 символа.
...
16
...
Перейти в режим конфигурирования сервиса по умолчанию.
...
esr(config-subscriber-control)# default-service
...
17
...
Привязать указанный QoS-класс к сервису по умолчанию.
...
esr(config-subscriber-default-service)# class-map <NAME>
...
<NAME> – имя привязываемого класса, задается строкой до 31 символа.
...
18
...
Указать имя списка URL, который будет использоваться для фильтрации HTTP/HTTPS-трафика не аутентифицированных пользователей.
...
esr(config-subscriber-default-service)# filter-name
{ local<LOCAL-NAME> | remote<REMOTE-NAME> }
...
<LOCAL-NAME> – имя профиля URL, задаётся строкой до 31 символа;
<REMOTE-NAME> – имя списка URL на удаленном сервере, задаётся строкой до 31 символа.
...
19
...
Указать действия, которые должны быть применены для HTTP/HTTPS-пакетов, URL которых входит в список URL, назначенных командой «filter-name».
...
esr(config-subscriber-default-service)# filter-action<ACT>
...
<ACT> – назначаемое действие:
- permit – прохождение трафика разрешается;
- deny – прохождение трафика запрещается.
redirect <URL> – будет выполнен редирект на указанный URL, задается строкой до 255 символов.
...
20
...
Указать действия, которые должны быть применены для HTTP/HTTPS-пакетов, URL которых не входит в список URL, назначенных командой «filter-name».
...
esr(config-subscriber-default-service)# default -action<ACT>
...
<ACT> – назначаемое действие:
- permit – прохождение трафика разрешается;
- deny – прохождение трафика запрещается.
redirect <URL> – будет выполнен редирект на указанный URL, задается строкой до 255 символов.
...
21
...
Активировать профиль контроля пользователей.
...
esr(config-subscriber-control)# enable
...
22
...
Изменить идентификатор сетевого интерфейса (физического, саб-интерфейса или сетевого моста) (не обязательно).
...
esr(config-if)# location <ID>
...
<ID> – идентификатор сетевого интерфейса, задаётся строкой до 220 символов.
...
23
...
Включить контроль пользователей на интерфейсе.
...
esr(config-if-gi)# service-subscriber-control
{any| object-group <NAME>}
...
<NAME> – имя профиля IP-адресов, задаётся строкой до 31 символа.
...
24
...
Включить перезапрос значения квоты при ее истечении для сервисов пользователя с настроенным ограничением по объему трафика или времени (не обязательно).
...
esr(config-subscriber-control)# quota-expired-reauth
...
25
...
Включить аутентификацию сессий по IP-адресу (не обязательно).
...
esr(config-subscriber-control)# session ip-authentication
...
26
...
Включить прозрачное пропускание трафика в состоянии backup для BRAS (не обязательно).
...
esr(config-subscriber-control)# backup traffic-processing
transparent
...
27
...
Задать интервал, по истечении которого с устройства будут удалены неиспользуемые в текущий момент списки URL (не обязательно).
...
esr(config)# subscriber-control unused-filters-remove-delay
<DELAY>
...
<DELAY> – временной интервал в секундах, принимает значения [10800..86400].
...
28
...
Задать интервал, по истечении которого, если не было пакетов от пользователя, сессия считается устаревшей и удаляется с устройства (не обязательно).
...
esr(config-subscriber-default-service)# session-timeout
<SEC>
...
<SEC> – период времени в секундах, принимает значения [120..3600].
...
29
...
Определить VRRP-группу, на основе которой определяется состояние сервиса контроля абонентов (основной/резервный) (не обязательно).
...
esr(config-subscriber-control)# vrrp-group <GRID>
...
<GRID> – идентификатор группы VRRP-маршрутизатора, принимает значения [1..32].
...
30
...
Определить, с каких TCP-портов назначения трафик будет перенаправлен на HTTP Proxy-сервер маршрутизатора (не обязательно).
...
esr(config-subscriber-control)# ip proxy http listen-ports <NAME>
...
<NAME> – имя профиля TCP/UDP-портов, задаётся строкой до 31 символа.
...
31
...
Определить порт HTTP Proxy-сервера на маршрутизаторе (не обязательно).
...
esr(config-subscriber-control)# ip proxy http redirect-port <PORT>
...
<PORT> – номер порта, указывается в диапазоне [1..65535].
...
32
...
Определить, с каких TCP-портов назначения трафик будет перенаправлен на HTTPS Proxy-сервер маршрутизатора (не обязательно).
...
esr(config-subscriber-control)# ip proxy https listen-ports <NAME>
...
<NAME> – имя профиля TCP/UDP-портов, задаётся строкой до 31 символа.
...
33
...
Определить порт HTTPS Proxy-сервера на маршрутизаторе (не обязательно).
...
esr(config-subscriber-control)# ip proxy https redirect-port <PORT>
...
<PORT> – номер порта, указывается в диапазоне [1..65535].
...
34
...
Определить IP-адрес маршрутизатора, который будет использоваться в качестве IP-адреса источника в отправляемых Proxy-сервером HTTP/HTTPS-пакетах (не обязательно).
...
esr(config-subscriber-control)# ip proxy source-address <ADDR>
...
<ADDR> – IP-адрес источника, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].
...
35
...
Задать URL-адрес сервера, предоставляющего списки приложений для фильтрации трафика (не обязательно).
...
esr(config)# subscriber-control apps-server-url <URL>
...
<URL> – адрес ссылки, задаётся строкой от 8 до 255 символов.
...
36
...
Включить контроль приложений на интерфейсе (не обязательно).
...
esr(config-if-gi)# subscriber-control application-filter <NAME>
...
<NAME> – имя профиля приложений, задаётся строкой до 31 символа.
...
37
...
Установить/сбросить верхнюю границу количества сессий BRAS (не обязательно).
esr(config-subscriber-control)# thresholds sessions-number high <Threshold>
...
<Threshold> – количество сессий BRAS:
- [0-50000] – для ESR-1700;
- [0-10000] – для ESR-1200/1000/1500/
1511/3100/3200/
3200L/3300; - [0-1000] – для ESR-30/31/100/200.
...
38
...
Установить/сбросить нижнюю границу количества сессий BRAS (не обязательно).
...
esr(config-subscriber-control)# thresholds sessions-number low <Threshold>
...
<Threshold> – количество сессий BRAS:
- [0-50000] – для ESR-1700;
- [0-10000] – для ESR-1200/1000/1500/
1511/3100/3200/
3200L/3300; - [0-1000] – для ESR-30/31/100/200.
Пример настройки с SoftWLC
Задача:
Предоставлять доступ до ресурсов сети Интернет, только для авторизованных пользователей.
Решение:
За хранение учетных данных пользователей и параметров тарифных планов отвечает сервер SoftWLC. Информацию по установке и настройке сервера SoftWLC можно найти по ссылкам ниже:
Для маршрутизатора необходимо наличие лицензии BRAS, после ее активации можно переходить к конфигурированию устройства.
Создадим три зоны безопасности на устройстве, согласно схеме сети:
| Блок кода |
|---|
esr# configure
esr(config)# security zone trusted
esr(config-zone)# exit
esr(config)# security zone untrusted
esr(config-zone)# exit
esr(config)# security zone dmz
esr(config-zone)# exit |
Сконфигурируем параметры публичного порта и сразу пропишем шлюз по умолчанию:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/1
esr(config-if-gi)# security-zone untrusted
esr(config-if-gi)# ip address 203.0.113.2/30
esr(config-if-gi)# service-policy dynamic upstream
esr(config-if-gi)# exit
esr(config)# ip route 0.0.0.0/0 203.0.113.1 |
Сконфигурируем порт в сторону сервера SoftWLC:
| Блок кода |
|---|
esr (config)# interface gigabitethernet 1/0/24
esr (config-if-gi)# security-zone dmz
esr (config-if-gi)# ip address 192.0.2.1/24
esr (config-if-gi)# exit |
Сконфигурируем порт для подключения Wi-Fi точки доступа:
| Блок кода |
|---|
esr(config)# bridge 2
esr(config-bridge)# security-zone trusted
esr(config-bridge)# ip address 192.168.0.254/24
esr(config-bridge)# ip helper-address 192.0.2.20
esr(config-bridge)# service-subscriber-control object-group users
esr(config-bridge)# location ssid1
esr(config-bridge)# enable
esr(config-bridge)# exit
esr(config)# interface gigabitethernet 1/0/2.2000
esr(config-if-sub)# bridge-group 1
esr(config-if-sub)# exit
esr(config)# interface gigabitethernet 1/0/2
esr(config-if-gi)# service-policy dynamic downstream
esr (config-if-gi)# exit |
| Примечание |
|---|
Подключать клиентов необходимо через саб-интерфейсы в бриджи, причем от параметра location (см. конфигурацию bridge 2) зависит выбор тарифного плана. |
Модуль, отвечающий за ААА-операции, основан на eltex-radius и доступен по IP-адресу сервера SoftWLC. Номера портов для аутентификации и аккаунтинга в нашем примере – это значения по умолчанию для SoftWLC.
Зададим параметры для взаимодействия с этим модулем:
| Блок кода |
|---|
esr(config)# radius-server host 192.0.2.20
esr(config-radius-server)# key ascii-text password
esr(config-radius-server)# auth-port 31812
esr (config-radius-server)# acct-port 31813
esr (config-radius-server)# exit |
Создадим профиль AAA:
| Блок кода |
|---|
esr(config)# aaa radius-profile RADIUS
esr(config-aaa-radius-profile)# radius-server host 192.0.2.20
esr(config-aaa-radius-profile)# exit |
Укажем параметры доступа к DAS (Direct-attached storage)-серверу:
| Блок кода |
|---|
esr(config)# object-group network server
esr(config-object-group-network)# ip address-range 192.0.2.20
esr(config-object-group-network)# exit
esr(config)# das-server CoA
esr(config-das-server)# key ascii-text password
esr(config-das-server)# port 3799
esr(config-das-server)# clients object-group server
esr(config-das-server)# exit
esr(config)# aaa das-profile CoA
esr(config-aaa-das-profile)# das-server CoA
esr(config-aaa-das-profile)# exit |
| Scroll Pagebreak |
|---|
До аутентификации весь трафик из зоны trusted блокируется, в том числе DHCP- и DNS-запросы. Необходимо настроить разрешающие правила для пропуска DHCP- и DNS-запросов:
| Блок кода |
|---|
esr(config)# ip access-list extended DHCP
esr(config-acl)# rule 10
esr(config-acl-rule)# action permit
esr(config-acl-rule)# match protocol udp
esr(config-acl-rule)# match source-address any
esr(config-acl-rule)# match destination-address any
esr(config-acl-rule)# match source-port 68
esr(config-acl-rule)# match destination-port 67
esr(config-acl-rule)# enable
esr(config-acl-rule)# exit
esr(config-acl)# rule 11
esr(config-acl-rule)# action permit
esr(config-acl-rule)# match protocol udp
esr(config-acl-rule)# match source-address any
esr(config-acl-rule)# match destination-address any
esr(config-acl-rule)# match source-port any
esr(config-acl-rule)# match destination-port 53
esr(config-acl-rule)# enable
esr(config-acl-rule)#exit
esr(config-acl)# exit |
Далее создаем правила для редиректа на портал и пропуска трафика в Интернет:
| Блок кода |
|---|
esr(config)# ip access-list extended WELCOME
esr(config-acl)# rule 10
esr(config-acl-rule)# action permit
esr(config-acl-rule)# match protocol any
esr(config-acl-rule)# match source-address any
esr(config-acl-rule)# match destination-address any
esr(config-acl-rule)# enable
esr(config-acl-rule)# exit
esr(config-acl)# exit
esr (config)# ip access-list extended INTERNET
esr(config-acl)# rule 10
esr(config-acl-rule)# action permit
esr(config-acl-rule)# match protocol any
esr(config-acl-rule)# match source-address any
esr(config-acl-rule)# match destination-address any
esr(config-acl-rule)# enable
esr(config-acl-rule)# exit
esr(config-acl)# exit |
Зададим web-ресурсы, доступные без авторизации:
| Блок кода |
|---|
esr(config)# object-group url defaultservice
esr(config-object-group-url)# url http://eltex.nsk.ru
esr(config-object-group-url)# exit |
| Scroll Pagebreak |
|---|
Списки фильтрации по URL находятся на сервере SoftWLC (меняется только IP-адрес сервера SoftWLC, если используется адресация отличная от данного примера, все остальное в URL оставить без изменения):
| Блок кода |
|---|
esr(config)# subscriber-control filters-server-url http://192.0.2.20:7070/Filters/file/ |
Сконфигурируем и включим BRAS, в качестве NAS IP укажем адрес интерфейса на стыке с SoftWLC, в данном примере – это IP-адрес интерфейса gigabitethernet 1/0/24:
| Блок кода |
|---|
esr(config)# subscriber-control
esr(config-subscriber-control)# aaa das-profile CoA
esr(config-subscriber-control)# aaa sessions-radius-profile RADIUS
esr(config-subscriber-control)# nas-ip-address 192.0.2.1
esr(config-subscriber-control)# session mac-authentication
esr(config-subscriber-control)# bypass-traffic-acl DHCP
esr(config-subscriber-control)# default-service
esr(config-subscriber-default-service)# class-map INTERNET
esr(config-subscriber-default-service)# filter-name local defaultservice
esr(config-subscriber-default-service)# filter-action permit
esr(config-subscriber-default-service)# default-action redirect http://192.0.2.20:8080/eltex_portal/
esr(config-subscriber-default-service)# session-timeout 3600
esr(config-subscriber-default-service)# exit
esr(config-subscriber-control)# enable
esr(config-subscriber-control)# exit |
Далее необходимо сконфигурировать правила перехода между зонами безопасности:
| Блок кода |
|---|
esr(config)# object-group service telnet
esr(config-object-group-service)# port-range 23
esr(config-object-group-service)# exit
esr(config)# object-group service ssh
esr(config-object-group-service)# port-range 22
esr(config-object-group-service)# exit
esr(config)# object-group service dhcp_server
esr(config-object-group-service)# port-range 67
esr(config-object-group-service)# exit
esr(config)# object-group service dhcp_client
esr(config-object-group-service)# port-range 68
esr(config-object-group-service)# exit
esr(config)# object-group service ntp
esr(config-object-group-service)# port-range 123
esr(config-object-group-service)# exit |
| Scroll Pagebreak |
|---|
Разрешим доступ в Интернет из зон trusted и dmz:
| Блок кода |
|---|
esr(config)# security zone-pair trusted untrusted
esr(config-zone-pair)# rule 10
esr(config-zone-pair-rule)# action permit
esr(config-zone-pair-rule)# match protocol any
esr(config-zone-pair-rule)# match source-address any
esr(config-zone-pair-rule)# match destination-address any
esr(config-zone-pair-rule)# enable
esr(config-zone-pair-rule)# exit
esr(config-zone-pair)# exit
esr(config)# security zone-pair dmz untrusted
esr(config-zone-pair)# rule 10
esr(config-zone-pair-rule)# action permit
esr(config-zone-pair-rule)# match protocol any
esr(config-zone-pair-rule)# match source-address any
esr(config-zone-pair-rule)# match destination-address any
esr(config-zone-pair-rule)# enable
esr(config-zone-pair-rule)# exit
esr(config-zone-pair)# exit
esr(config)# security zone-pair dmz trusted
esr(config-zone-pair)# rule 10
esr(config-zone-pair-rule)# action permit
esr(config-zone-pair-rule)# match protocol any
esr(config-zone-pair-rule)# match source-address any
esr(config-zone-pair-rule)# match destination-address any
esr(config-zone-pair-rule)# enable
esr(config-zone-pair-rule)# exit
esr(config-zone-pair)# exit |
Разрешим прохождение DHCP из trusted в dmz:
| Блок кода |
|---|
esr (config)# security zone-pair trusted dmz
esr (config-zone-pair)# rule 10
esr(config-zone-pair-rule)# action permit
esr(config-zone-pair-rule)# match protocol udp
esr(config-zone-pair-rule)# match source-address any
esr(config-zone-pair-rule)# match destination-address any
esr(config-zone-pair-rule)# match source-port dhcp_client
esr(config-zone-pair-rule)# match destination-port dhcp_server
esr(config-zone-pair-rule)# enable
esr(config-zone-pair-rule)# exit
esr(config-zone-pair)# exit |
Разрешим прохождение ICMP к устройству, для работы BRAS необходимо открыть порты для веб-проксирования – TCP 3129/3128 (NetPort Discovery Port/Active API Server Port):
| Блок кода |
|---|
esr(config)# object-group service bras
esr(config-object-group-service)# port-range 3129
esr(config-object-group-service)# port-range 3128
esr(config-object-group-service)# exit
esr(config)# security zone-pair trusted self
esr(config-zone-pair)# rule 10
esr(config-zone-pair-rule)# action permit
esr(config-zone-pair-rule)# match protocol tcp
esr(config-zone-pair-rule)# match source-address any
esr(config-zone-pair-rule)# match destination-address any
esr(config-zone-pair-rule)# match source-port any
esr(config-zone-pair-rule)# match destination-port bras
esr(config-zone-pair-rule)# enable
esr (config-zone-pair-rule)# exit
esr(config-zone-pair)# rule 20
esr(config-zone-pair-rule)# action permit
esr(config-zone-pair-rule)# match protocol icmp
esr(config-zone-pair-rule)# match source-address any
esr(config-zone-pair-rule)# match destination-address any
esr(config-zone-pair-rule)# enable
esr(config-zone-pair-rule)# exit
esr(config-zone-pair-rule)# exit
esr(config)# security zone-pair dmz self
esr(config-zone-pair)# rule 20
esr(config-zone-pair-rule)# action permit
esr(config-zone-pair-rule)# match protocol icmp
esr(config-zone-pair-rule)# match source-address any
esr(config-zone-pair-rule)# match destination-address any
esr(config-zone-pair-rule)# enable
esr(config-zone-pair-rule)# exit
esr(config-zone-pair-rule)# exit
esr(config)# security zone-pair untrusted self
esr(config-zone-pair)# rule 20
esr(config-zone-pair-rule)# action permit
esr(config-zone-pair-rule)# match protocol icmp
esr(config-zone-pair-rule)# match source-address any
esr(config-zone-pair-rule)# match destination-address any
esr(config-zone-pair-rule)# enable
esr(config-zone-pair-rule)# exit
esr(config-zone-pair-rule)# exit |
Активируем DHCP-Relay:
| Блок кода |
|---|
esr(config)# ip dhcp-relay |
Настроим SNAT в порт gigabitethernet 1/0/1:
| Блок кода |
|---|
esr(config)# nat source
esr(config-snat)# ruleset inet
esr(config-snat-ruleset)# to interface gigabitethernet 1/0/1
esr(config-snat-ruleset)# rule 10
esr(config-snat-rule)# match source-address any
esr(config-snat-rule)# action source-nat interface
esr(config-snat-rule)# enable
esr(config-snat-rule)# end |
Пример настройки без SoftWLC
Задача:
Настроить BRAS без поддержки SoftWLC.
Дано:
Подсеть с клиентами 10.10.0.0/16, подсеть для работы с FreeRADIUS-сервером 192.168.1.1/24.
Решение:
Шаг 1:
Настройка RADIUS-сервера.
Для FreeRADIUS-сервера нужно задать подсеть, из которой могут приходить запросы и добавить список пользователей. Для этого в файл users в директории с файлами конфигурации FreeRADIUS-сервера нужно добавить:
Профиль пользователя:
| Блок кода |
|---|
<MACADDR> Cleartext-Password := <MACADDR> |
#Имя пользователя
| Блок кода |
|---|
User-Name = <USER_NAME>, |
#Максимальное время жизни сессии
| Блок кода |
|---|
Session-Timeout = <SECONDS>, |
#Максимальное время жизни сессии при бездействии пользователя
| Блок кода |
|---|
Idle-Timeout = <SECONDS>, |
#Время на обновление статистики по сессии
| Блок кода |
|---|
Acct-Interim-Interval = <SECONDS>, |
#Имя сервиса для сессии (A – сервис включен, N – сервис выключен)
| Блок кода |
|---|
Cisco-Account-Info = "{A|N}<SERVICE_NAME>" |
Профиль сервиса:
| Блок кода |
|---|
<SERVICE_NAME> Cleartext-Password := <MACADDR> |
#Соответствует имени class-map в настройках ESR
| Блок кода |
|---|
Cisco-AVPair = "subscriber:traffic-class=<CLASS_MAP>", |
| Scroll Pagebreak |
|---|
#Действие, которое применяет ESR к трафику (permit, deny, redirect)
| Блок кода |
|---|
Cisco-AVPair = "subscriber:filter-default-action=<ACTION>", |
# Возможность прохождения IP-потоков (enabled-uplink, enabled-downlink, enabled, disabled)
| Блок кода |
|---|
Cisco-AVPair = "subscriber:flow-status=<STATUS>" |
В файл clients.conf нужно добавить подсеть, в которой находится ESR:
| Блок кода |
|---|
client ESR {
ipaddr = <SUBNET>
secret = <RADIUS_KEY>
} |
В нашем случае настройка RADIUS-сервера будет выглядеть так:
в файл «clients.conf» добавляем строки:
| Блок кода |
|---|
client BRAS {
ipaddr = 192.168.1.1
secret = password
} |
В файл «users» добавляем строки (вместо <MAC> нужно указать MAC-адрес клиента):
| Блок кода |
|---|
"54-E1-AD-8F-37-35" Cleartext-Password := "54-E1-AD-8F-37-35"
User-Name = "Bras_user",
Session-Timeout = 259200,
Idle-Timeout = 259200,
Cisco-AVPair += "subscriber:policer-rate-in=1000",
Cisco-AVPair += "subscriber:policer-rate-out=1000",
Cisco-AVPair += "subscriber:policer-burst-in=188",
Cisco-AVPair += "subscriber:policer-burst-out=188",
Cisco-Account-Info = "AINTERNET"
INTERNET Cleartext-Password := "INTERNET"
User-Name = "INTERNET",
Cisco-AVPair = "subscriber:traffic-class=INTERNET",
Cisco-AVPair += "subscriber:filter-default-action=permit" |
| Scroll Pagebreak |
|---|
Шаг 2:
Настройка ESR.
Для настройки функционала BRAS необходимо наличие лицензии BRAS.
| Блок кода |
|---|
esr(config)# do sh licence
Licence information
-------------------
Name: Eltex
Version: 1.0
Type: ESR-X
S/N: NP00000000
MAC: XX:XX:XX:XX:XX:XX
Features:
BRAS – Broadband Remote Access Server |
Настройка параметров для взаимодействия с RADIUS-сервером:
| Блок кода |
|---|
esr(config)# radius-server host 192.168.1.2
esr(config-radius-server)# key ascii-text encrypted 8CB5107EA7005AFF
esr(config-radius-server)# source-address 192.168.1.1
esr(config-radius-server)# exit |
Создадим профиль AAA:
| Блок кода |
|---|
esr(config)# aaa radius-profile bras_radius
esr(config-aaa-radius-profile)# radius-server host 192.168.1.2
esr(config-aaa-radius-profile)# exit
esr(config)# aaa radius-profile bras_radius_servers
esr(config-aaa-radius-profile)# radius-server host 192.168.1.2
esr(config-aaa-radius-profile)# exit |
Укажем параметры к DAS-серверу:
| Блок кода |
|---|
esr(config)# das-server das
esr(config-das-server)# key ascii-text encrypted 8CB5107EA7005AFF
esr(config-das-server)# exit
esr(config)# aaa das-profile bras_das
esr(config-aaa-das-profile)# das-server das
esr(config-aaa-das-profile)# exit
esr(config)# vlan 10
esr(config-vlan)# exit |
| Scroll Pagebreak |
|---|
Далее создаем правила для редиректа на портал и пропуска трафика в Интернет:
| Блок кода |
|---|
esr(config)# ip access-list extended BYPASS
esr(config-acl)# rule 1
esr(config-acl-rule)# action permit
esr(config-acl-rule)# match protocol udp
esr(config-acl-rule)# match source-address any
esr(config-acl-rule)# match destination-address any
esr(config-acl-rule)# match source-port 68
esr(config-acl-rule)# match destination-port 67
esr(config-acl-rule)# enable
esr(config-acl-rule)# exit
esr(config-acl)# rule 2
esr(config-acl-rule)# action permit
esr(config-acl-rule)# match protocol udp
esr(config-acl-rule)# match source-address any
esr(config-acl-rule)# match destination-address any
esr(config-acl-rule)# match source-port any
esr(config-acl-rule)# match destination-port 53
esr(config-acl-rule)# enable
esr(config-acl-rule)# exit
esr(config)# ip access-list extended INTERNET
esr(config-acl)# rule 1
esr(config-acl-rule)# action permit
esr(config-acl-rule)# match protocol any
esr(config-acl-rule)# match source-address any
esr(config-acl-rule)# match destination-address any
esr(config-acl-rule)# enable
esr(config-acl-rule)# exit
esr(config)# ip access-list extended WELCOME
esr(config-acl)# rule 10
esr(config-acl-rule)# action permit
esr(config-acl-rule)# match protocol tcp
esr(config-acl-rule)# match source-address any
esr(config-acl-rule)# match destination-address any
esr(config-acl-rule)# match source-port any
esr(config-acl-rule)# match destination-port 443
esr(config-acl-rule)# enable
esr(config-acl-rule)# exit
esr(config-acl)# rule 20
esr(config-acl-rule)# action permit
esr(config-acl-rule)# match protocol tcp
esr(config-acl-rule)# match source-address any
esr(config-acl-rule)# match destination-address any
esr(config-acl-rule)# match source-port any
esr(config-acl-rule)# match destination-port 8443 |
| Блок кода |
|---|
esr(config-acl-rule)# enable
esr(config-acl-rule)# exit
esr(config-acl)# rule 30
esr(config-acl-rule)# action permit
esr(config-acl-rule)# match protocol tcp
esr(config-acl-rule)# match source-address any
esr(config-acl-rule)# match destination-address any
esr(config-acl-rule)# match source-port any
esr(config-acl-rule)# match destination-port 80
esr(config-acl-rule)# enable
esr(config-acl-rule)# exit
esr(config-acl)# rule 40
esr(config-acl-rule)# action permit
esr(config-acl-rule)# match protocol tcp
esr(config-acl-rule)# match source-address any
esr(config-acl-rule)# match destination-address any
esr(config-acl-rule)# match source-port any
esr(config-acl-rule)# match destination-port 8080
esr(config-acl-rule)# enable
esr(config-acl-rule)# exit |
Настройка действия фильтрации по URL обязательна, необходимо настроить фильтрацию http-proxy на BRAS для неавторизованных пользователей:
| Блок кода |
|---|
esr(config)# object-group url defaultserv
esr(config-object-group-url)# url http://eltex.nsk.ru
esr(config-object-group-url)# url http://ya.ru
esr(config-object-group-url)# url https://ya.ru
esr(config-object-group-url)# exit |
Сконфигурируем и включим BRAS, в качестве NAS IP указываем адрес интерфейса на стыке с RADIUS-сервером в данном примере – это IP-адрес интерфейса gigabitethernet 1/0/2:
| Блок кода |
|---|
esr(config)# subscriber-control
esr(config-subscriber-control)# aaa das-profile bras_das
esr(config-subscriber-control)# aaa sessions-radius-profile bras_radius
esr(config-subscriber-control)# aaa services-radius-profile bras_radius_servers
esr(config-subscriber-control)# nas-ip-address 192.168.1.1
esr(config-subscriber-control)# session mac-authentication
esr(config-subscriber-control)# bypass-traffic-acl BYPASS
esr(config-subscriber-control)# default-service
esr(config-subscriber-default-service)# class-map BYPASS
esr(config-subscriber-default-service)# filter-name local defaultserv
esr(config-subscriber-default-service)# filter-action permit
esr(config-subscriber-default-service)# default-action redirect http://192.
168.1.2:8080/eltex_portal
esr(config-subscriber-default-service)# session-timeout 121
esr(config-subscriber-default-service)# exit
esr(config-subscriber-control)# enable
esr(config-subscriber-control)# exit |
| Scroll Pagebreak |
|---|
| Блок кода |
|---|
esr(config)# bridge 10
esr(config-bridge)# vlan 10
esr(config-bridge)# ip firewall disable
esr(config-bridge)# ip address 10.10.0.1/16
esr(config-bridge)# ip helper-address 192.168.1.2
esr(config-bridge)# service-subscriber-control any
esr(config-bridge)# location USER
esr(config-bridge)# protected-ports
esr(config-bridge)# protected-ports exclude vlan
esr(config-bridge)# enable
esr(config-bridge)# exit |
Сконфигурируем порт в сторону RADIUS-сервера:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/2
esr(config-if-gi)# ip firewall disable
esr(config-if-gi)# ip address 192.168.1.1/24
esr(config-if-gi)# exit |
Порт в сторону клиента:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/3.10
esr(config-if-sub)# bridge-group 10
esr(config-if-sub)# ip firewall disable
esr(config-if-sub)# exit |
Настройка SNAT в порт gigabitethernet 1/0/2:
| Блок кода |
|---|
esr(config)# nat source
esr(config-snat)# ruleset factory
esr(config-snat-ruleset)# to interface gigabitethernet 1/0/2
esr(config-snat-ruleset)# rule 10
esr(config-snat-rule)# description "replace 'source ip' by outgoing interface ip address"
esr(config-snat-rule)# match protocol any
esr(config-snat-rule)# match source-address any
esr(config-snat-rule)# match destination-address any
esr(config-snat-rule)# action source-nat interface
esr(config-snat-rule)# enable
esr(config-snat-rule)# exit
esr(config-snat-ruleset)# exit
esr(config-snat)# exit
esr(config)# ip route 0.0.0.0/0 192.168.1.2 |
Изменения конфигурации вступят в действие после применения:
| Блок кода |
|---|
esr(config) # do commit
esr(config) # do confirm |
| Scroll Pagebreak |
|---|
...
Данный раздел см. в документации ESR.
