Портальная авторизация (Captive Portal) — это самостоятельная регистрация, аутентификация и авторизация пользователей в открытых Wi-Fi сетях для получения доступа к глобальной сети Интернет. В рамках данной технологии осуществляется перенаправление новых (неизвестных) пользователей на специально созданный HTTP/HTTPS-портал (Captive Portal) с формой регистрации и последующим подтверждением регистрационных данных посредством кода подтверждения, который передаётся при помощи SMS-уведомления.
Диаграмма портальной авторизации на ТД, подключенной через контроллер WLC:

В общем случае клиент проходит следующие шаги в ходе выполнения портальной авторизации:
Требования:
Подробная информация о настройках для каждого раздела содержится во встроенной документации, которую можно просмотреть, нажав кнопку вверху справа. |
Для быстроты и удобства в NAICE реализованы дефолтные сущности для настройки портала, которые можно использовать, редактировать или применять свои. В примере будет представлен Eltex WLC.
Перейти в раздел Администрирование → Сетевые ресурсы → Профили устройств. Создать или отредактировать существующий профиль устройства:

В блоке «Аутентификация/Авторизация» необходимо настроить условия RADIUS-атрибутов для определения того, каким образом подключается пользователь.
На вкладке Аутентификация/Авторизация настроить:
В блоке Условия определения типа подключения включить Wireless 802.1x и Wireless MAB. Использовать предложенные автозаполнением атрибуты.

В блоке MAB включить:
Далее раскрыть блоки «Настройки RADIUS CoA» и «Настройки перенаправления на портал»:

В блоке «Настройки RADIUS CoA» минимально необходимо настроить:
В блоке «Настройки перенаправления на портал» необходимо заполнить:
Нажать кнопку Сохранить.
Перейти в раздел Администрирование → Сетевые ресурсы → Устройства. Создать или отредактировать существующее сетевое устройство.

Нажать Сохранить.
Возможность аутентификации MAB по умолчанию отключена. Необходимо явно разрешить использовать MAB-аутентификацию. Это можно сделать в предустановленном списке доступных протоколов Default protocols или создать новый. В данном примере будет создан новый список.
Перейти в раздел Политики доступа → Элементы → Разрешенные протоколы, добавить новый список или отредактировать существующий:

Настроить:
Нажать кнопку Добавить.
Перейти в раздел Администрирование → Управление идентификацией → Цепочки идентификации, добавить новую цепочку или отредактировать существующую:

В цепочке обязательно необходимо добавить следующий источник идентификации:
Для того чтобы в дальнейшем успешно настроить профиль авторизации, необходимо создать сам портал.
Перейти в раздел Гостевые порталы → Управление порталами → Конструктор порталов, добавить новый портал или отредактировать существующий:

Для работы портала минимально необходимо заполнить следующие поля:
В поле СМС-шлюз выбрать Demo gateway. Это специально созданный шлюз, который позволяет проверить работу портала без настройки реальной интеграции.
Нажать Далее. Откроется окно кастомизации портала:

На данной странице нет обязательных настроек, поэтому необходимо нажать Далее. Откроется окно редактирования страниц портала.

Необходимо нажать кнопку Добавить.
Для корректной работы портала также необходимо дополнительно настроить профиль авторизации для клиентов, которые попадут на портал.
Перейти в раздел Политики → Элементы → Профили авторизации, добавить новый профиль, или отредактировать существующий:

Необходимо заполнить следующие поля:
Нажать Сохранить.
Учитывая гибкие возможности по настройке политик в NAICE, процесс аутентификации с помощью Captive Portal может быть настроен с использованием различных условий. В данном примере приведена простейшая настройка.
В разделе Политики доступа → Наборы политик добавить политику:

Произвести настройку:
Нажать кнопку Сохранить.
После этого новая политика будет добавлена в список.
После сохранения новой политики в колонке Настройка справа станет доступна кнопка , по нажатию на которую будет выполнен переход в режим редактирования политики.
После перехода в режим редактирования ранее созданной политики MABAuth в блоке Политика аутентификации:

Необходимо выбрать в политике аутентификации по умолчанию Default ранее созданную цепочку идентификации Portal sequence.
Оставаясь в созданной ранее политике MAB Auth в блоке Политика авторизации, добавить новую политику авторизации:

Добавить условие Guest endpoints·Registered guest Равно NO, которое позволит авторизовываться ранее незарегистрированным клиентам и проходить авторизацию на портале. Для данного условия выбрать ранее созданный профиль авторизации Portal Profile.
Добавить условие Guest endpoints·Registered guest Равно YES, которое позволит авторизовываться уже зарегистрированным клиентам без прохождения повторной портальной авторизации.
Далее приведен приведен пример настройки Eltex WLC-30 (v.1.30.6) с точкой WEP-30L (2.8.0). Предполагается, что на контроллере уже настроен IP-адрес, обеспечена сетевая связность с сервером NAICE.
Полностью ознакомится с документацией по настройке контроллера можно на официальном сайте компании https://eltex-co.ru. За основу будет взята заводская конфигурация, пример настройки которой доступен по ссылке.
Добавить NAICE как Radius-сервер и настроить проксирование RADIUS-запросов от ТД на него. В том числе требуется настроить проксирование CoA-запросов со стороны NAICE на ТД через WLC:
wlc(config)# radius-server local wlc(config-radius)# nas AP_subnet wlc(config-radius-nas)# key ascii-text testing123 wlc(config-radius-nas)# network 100.125.3.16/28 wlc(config-radius-nas)# exit wlc(config-radius)# nas naice wlc(config-radius-nas)# key ascii-text testing123 wlc(config-radius-nas)# network 100.110.3.186/32 wlc(config-radius-nas)# exit wlc(config-radius)# virtual-server default wlc(config-radius-vserver)# mode proxy wlc(config-radius-vserver)# upstream-pool naice wlc(config-radius-vserver)# das-server enable wlc(config-radius-vserver)# nas-ip-address 100.109.2.198 wlc(config-radius-vserver)# enable wlc(config-radius-vserver)# exit wlc(config-radius)# upstream-server naice wlc(config-radius-upstream-server)# host 100.110.3.168 wlc(config-radius-upstream-server)# server-type all wlc(config-radius-upstream-server)# key ascii-text testing123 wlc(config-radius-upstream-server)# exit wlc(config-radius)# upstream-pool naice wlc(config-radius-upstream-pool)# server-type all wlc(config-radius-upstream-pool)# upstream-server naice wlc(config-radius-upstream-pool)# exit wlc(config-radius)# enable |
# Указываем подсеть ТД, на которые будет выполняться проксирование CoA-запросов #Указываем адрес NAICE, для которого будет выполняться проксирование CoA-запросов на ТД #Указываем адрес WLC, который будет заменять в поле NAS-IP-Address адрес ТД при выполнении проксирования RADIUS-запросов # Адрес NAICE, на который выполняется проксирование RADIUS-запросов от ТД |
Создать ACL с тем же именем, которое было указано при настройке профиля авторизации в NAICE:
ip access-list extended test-acl
rule 1
action permit
match destination-address 100.110.3.186 255.255.255.255
exit
rule 2
action permit
match protocol udp
match destination-port port-range 53
enable
exit
rule 3
action permit
match protocol udp
match source-port port-range 67-68
match destination-port port-range 67
enable
exit
exit |
В настройке WLC включить портальную авторизацию, создать профиль для портала, включить das-server на ТД и в настройках RADIUS-профиля указать настройку, чтобы MAC-адрес пользователя подставлялся в пароль.
wlc
ssid-profile default-ssid
portal-enable
portal-profile default-portal
exit
ap-profile default-ap
password ascii-text testing123
services
das-server enable
das-server port 1700
das-server key ascii-text testing123
exit
exit
portal-profile default-portal
preauth-filter-mode acl
disconnect-on-reject
verification-mode external-portal
ipv4-acl test-acl
exit
radius-profile default-radius
auth-address 100.111.134.1 — адрес WLC во VLAN точек. Принципиально важно указать его, так как иначе WLC не подменит NAS-IP при отправке запроса в
auth-password ascii-text testing123
session password mac
auth-acct-id-send — данная настройка является критичной, так как уникальность сессии определяется по атрибуту Acct-Session-Id
acct-enable
acct-address 100.111.134.1
acct-password ascii-text testing123
acct-periodic
domain default
exit
exit |
С мобильного устройства подключиться к созданному SSID и дождаться редиректа на портал.
В открывшемся окне ввести номер телефона и капчу для получения смс-кода. Нажать Выслать код.

Перейти в раздел Мониторинг → Система → Системные события. В открывшейся таблице появится событие об отправке СМС через демо-шлюз с кодом подтверждения.

Ввести полученный код на телефоне, после чего отобразится сообщение об успешной авторизации.
