Управление BRAS (Broadband Remote Access Server)
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Добавить RADIUS-сервер в список используемых серверов и перейти в режим его конфигурирования. | esr(config)# radius-server host 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> – строка [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> – 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> – строка [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> – имя профиля RADIUS-серверов, задается строкой до 31 символа. |
12 | Выбрать профиль RADIUS-серверов для получения параметров сессии пользователя. | esr(config-subscriber-control)# aaa sessions-radius-profile | <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-NAME> – имя профиля URL, задаётся строкой до 31 символа; <REMOTE-NAME> – имя списка URL на удаленном сервере, задаётся строкой до 31 символа. |
19 | Указать действия, которые должны быть применены для HTTP/HTTPS-пакетов, URL которых входит в список URL, назначенных командой «filter-name». | esr(config-subscriber-default-service)# filter-action<ACT> | <ACT> – назначаемое действие:
redirect <URL> – будет выполнен редирект на указанный URL, задается строкой до 255 символов. |
20 | Указать действия, которые должны быть применены для HTTP/HTTPS-пакетов, URL которых не входит в список URL, назначенных командой «filter-name». | esr(config-subscriber-default-service)# default -action<ACT> | <ACT> – назначаемое действие:
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 | <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 | |
27 | Задать интервал, по истечении которого с устройства будут удалены неиспользуемые в текущий момент списки URL (не обязательно). | esr(config)# subscriber-control unused-filters-remove-delay | <DELAY> – временной интервал в секундах, принимает значения [10800..86400]. |
28 | Задать интервал, по истечении которого, если не было пакетов от пользователя, сессия считается устаревшей и удаляется с устройства (не обязательно). | esr(config-subscriber-default-service)# session-timeout | <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:
|
38 | Установить/сбросить нижнюю границу количества сессий BRAS (не обязательно). | esr(config-subscriber-control)# thresholds sessions-number low <Threshold> | <Threshold> – количество сессий BRAS:
|
Пример настройки с SoftWLC
Задача:
Предоставлять доступ до ресурсов сети Интернет, только для авторизованных пользователей.
Решение:
За хранение учетных данных пользователей и параметров тарифных планов отвечает сервер SoftWLC. Информацию по установке и настройке сервера SoftWLC можно найти по ссылкам ниже:
https://docs.eltex-co.ru/display/doc/v1.17_SoftWLC – общая статья о SoftWLC;
https://docs.eltex-co.ru/pages/viewpage.action?pageId=76808938 – установка 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-subif)# bridge-group 1
esr(config-subif)# 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
До аутентификации весь трафик из зоны 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
Списки фильтрации по 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
Разрешим доступ в Интернет из зон 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>",
# Действие, которое применяет 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"
Шаг 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
Далее создаем правила для редиректа на портал и пропуска трафика в Интернет:
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
На интерфейсах, для которых требуется работа BRAS настроить (для успешного запуска требуется как минимум один интерфейс):
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-subif)# bridge-group 10
esr(config-subif)# ip firewall disable
esr(config-subif)# 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
Для просмотра информации и статистики по сессиям контроля пользователей – можно воспользоваться командой:
esr # sh subscriber-control sessions status
Session id User name IP address MAC address Interface Domain
-------------------- --------------- --------------- -----------------
1729382256910270473 Bras_user 10.10.0.3 54:e1:ad:8f:37:35 gi1/0/3.10 --