Алгоритм настройки

Шаг

Описание

Команда

Ключи

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
  • [0-1000] – для ESR-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
  • [0-1000] – для ESR-100/200

Пример настройки с 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
CODE

 Сконфигурируем параметры публичного порта и сразу пропишем шлюз по умолчанию:

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
CODE

Сконфигурируем порт в сторону сервера 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
CODE

Сконфигурируем порт для подключения 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
CODE

Подключать клиентов необходимо через сабинтерфейсы в бриджи, причем от параметра 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
CODE

Создадим профиль 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
CODE

Укажем параметры доступа к 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
CODE

До аутентификации весь трафик из зоны 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
CODE

Далее создаем правила для редиректа на портал и пропуска трафика в Интернет:

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
CODE

Зададим web-ресурсы доступные без авторизации:

esr(config)# object-group url defaultservice
esr(config-object-group-url)# url http://eltex.nsk.ru
esr(config-object-group-url)# exit
CODE

Списки фильтрации по URL находятся на сервере SoftWLC (меняется только IP-адрес сервера SoftWLC, если используется адресация отличная от данного примера, все остальное в URL оставить без изменения):

esr(config)# subscriber-control filters-server-url http://192.0.2.20:7070/Filters/file/
CODE

Сконфигурируем и включим 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
CODE

Далее необходимо сконфигурировать правила перехода между зонами безопасности.

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
CODE

Разрешим доступ в Интернет из зон 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
CODE

Разрешим прохождение 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
CODE

Разрешим прохождение 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
CODE

Активируем DHCP-Relay:

esr(config)# ip dhcp-relay 
CODE

Настроим 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
CODE

Пример настройки без SoftWLC

Задача:

Настроить BRAS без поддержки SoftWLC.

Дано:

Подсеть с клиентами 10.10.0.0/16, подсеть для работы с FreeRADIUS-сервером 192.168.1.1/24

Решение:

Шаг 1:

Настройка RADIUS-сервера.

Для FreeRADIUS-сервера нужно задать подсеть, из которой могут приходить запросы и добавить список пользователей. Для этого в файл users в директории с файлами конфигурации FreeRADIUS сервера нужно добавить:

Профиль пользователя:

<MACADDR> Cleartext-Password := <MACADDR> 
CODE

#Имя пользователя

 User-Name = <USER_NAME>, 
CODE

#Максимальное время жизни сессии

 Session-Timeout = <SECONDS>, 
CODE

#Максимальное время жизни сессии при бездействии пользователя

 Idle-Timeout = <SECONDS>, 
CODE

#Время на обновление статистики по сессии

 Acct-Interim-Interval = <SECONDS>, 
CODE

#Имя сервиса для сессии (A – сервис включен, N – сервис выключен)

 Cisco-Account-Info = "{A|N}<SERVICE_NAME>" 
CODE

Профиль сервиса:

 <SERVICE_NAME> Cleartext-Password := <MACADDR> 
CODE

# Соответствует имени class-map в настройках ESR

 Cisco-AVPair = "subscriber:traffic-class=<CLASS_MAP>", 
CODE

# Действие, которое применяет ESR к трафику (permit, deny, redirect)

 Cisco-AVPair = "subscriber:filter-default-action=<ACTION>", 
CODE

# Возможность прохождения IP-потоков (enabled-uplink, enabled-downlink, enabled, disabled)

 Cisco-AVPair = "subscriber:flow-status=<STATUS>" 
CODE

В файл clients.conf нужно добавить подсеть, в которой находится ESR:

client ESR {
ipaddr = <SUBNET>
secret = <RADIUS_KEY>
} 
CODE

В нашем случае настройка RADIUS-сервера будет выглядеть так:

в файл «clients.conf» добавляем строки:

client BRAS {
ipaddr = 192.168.1.1
secret = password
} 
CODE

В файл «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"
CODE

Шаг 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
CODE

Настройка параметров для взаимодействия с 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
CODE

Создадим профиль 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
CODE

Укажем параметры к 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
CODE

Далее создаем правила для редиректа на портал и пропуска трафика в Интернет:

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
CODE
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
CODE

Настройка действие фильтрации по 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
CODE

Сконфигурируем и включим 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
CODE

На интерфейсах, для которых требуется работа 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
CODE

Сконфигурируем порт в сторону 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
CODE

Порт в сторону Клиента:

esr(config)#  interface gigabitethernet 1/0/3.10
esr(config-subif)#  bridge-group 10
esr(config-subif)# ip firewall disable
esr(config-subif)#  exit
CODE

Настройка 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
CODE

Изменения конфигурации вступят в действие после применения:

esr(config) # do commit
esr(config) # do confirm
CODE

Для просмотра информации и статистики по сессиям контроля пользователей – можно воспользоваться командой:

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     --   
CODE