Captive Portal используется для реализации политики безопасности, посредством проверки соответствия устройств и пользователей требованиям безопасности до предоставления доступа к корпоративной сети. С помощью Captive Portal гостевые и временные пользователи могут воспользоваться упрощенным процессом регистрации и получить ограниченный доступ к сетевым ресурсам.
Диаграмма портальной авторизации на ТД, подключенной через контроллер WLC:
![]()
В общем случае клиент проходит следующие шаги в ходе выполнения портальной авторизации:
Далее приведен приведен пример настройки Eltex WLC-30 (v.1.30.6) с точкой WEP-30L(2.8.0). Предполагается что на контроллере уже настроен IP-адрес, обеспечена сетевая связность с сервером NAICE. Руководство по обновлению ПО Eltex WLC-30 можно найти по ссылке. Полностью ознакомится с документацией по настройке контроллера можно на официальном сайте компании https://eltex-co.ru. За основу будет взята заводская конфигурация, пример настройки которой доступен по ссылке.
![]()
Добавить NAICE, как радиус сервер, и настроить проксирование RADIUS-запросов от ТД на него. Так же требуется настроить проксирование CoA запросов со стороны NAICE на ТД через WLC:
radius-server local
nas AP_subnet # Подсеть ТД, на которые будет выполняться проксирование CoA-запросов
key ascii-text testing123
network 192.168.1.0/24
exit
nas naice
key ascii-text testing123
network 100.110.3.124/32 # Адрес NAICE, для которого будет выполняться проксирование CoA-запросов на ТД
exit
virtual-server default
mode proxy
upstream-pool naice
das-server enable
nas-ip-address 100.127.0.136 # Адрес WLC, который будет заменять в поле NAS-IP-Address адрес ТД при выполнении проксирования RADIUS-запросов
enable
exit
upstream-server naice
host 100.110.3.124 # Адрес NAICE, на который выполняется проксирование RADIUS-запросов от ТД
server-type all
key ascii-text testing123
exit
upstream-pool naice
server-type all
upstream-server naice
exit
enable
exit |
Создать ACL с тем же именем, которое было указано при настройке профиля авторизации в NAICE:
ip access-list extended test-acl
rule 1
action permit
match destination-address 100.110.3.124 255.255.255.255 # Адрес NAICE
enable
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 68
match destination-port port-range 67
enable
exit
exit |
В настройке WLC настроить профиль SSID, включить портальную авторизацию, создать профиль для портала, включить das-server на ТД и в настройках RADIUS профиля указать настройку, чтобы MAC-адрес пользователя подставлялся в пароль:
wlc
outside-address 192.168.1.1 # Адрес WLC для точек доступа
service-activator
aps join auto
exit
ap-location default-location
mode tunnel
ap-profile default-ap
ssid-profile default-ssid
exit
ssid-profile default-ssid
ssid "default-ssid"
radius-profile default-radius
portal-enable
portal-profile default-portal
vlan-id 3
band 2g
band 5g
enable
exit
ap-profile default-ap
password ascii-text password
services
das-server enable
das-server key ascii-text testing123
exit
ipv4-acl test-acl
exit
portal-profile default-portal
preauth-filter-mode acl
disconnect-on-reject
verification-mode external-portal
exit
radius-profile default-radius
auth-address 192.168.1.1 # Адрес WLC во влане точек. Необходимо указать его, как адрес RADIUS-сервера для ТД.
# Иначе WLC не сможет выполнять проксирование и подмену NAS-IP при отправке RADIUS-запроса к NAICE.
auth-password ascii-text testing123
session password mac
auth-acct-id-send # Данная настройка является критичной, так как уникальность сессии определяется по атрибуту Acct-Session-Id
acct-enable
acct-address 192.168.1.1
acct-password ascii-text testing123
acct-periodic
domain default
exit
enable
exit |
Добавить правила firewall:
object-group service das
port-range 1700
exit
security zone-pair untrusted self
rule 2
action permit
match protocol udp
match destination-port object-group radius_auth # Разрешить UDP трафик для RADIUS-аутентификации
enable
exit
rule 3
action permit
match protocol udp
match destination-port object-group das # Разрешить UDP трафик для CoA-запросов
enable
exit
rule 4
action permit
match protocol tcp
match destination-port object-group ssh # Разрешить подключение по SSH
enable
exit
rule 5
action permit
match protocol icmp
enable
exit
exit |
object-group service ssh
port-range 22
exit
object-group service dhcp_server
port-range 67
exit
object-group service dhcp_client
port-range 68
exit
object-group service ntp
port-range 123
exit
object-group service netconf
port-range 830
exit
object-group service radius_auth
port-range 1812
exit
object-group service sa
port-range 8043-8044
exit
object-group service dns
port-range 53
exit
object-group service airtune
port-range 8099
exit
object-group service web
port-range 443
exit
object-group service das
port-range 1700
exit
syslog max-files 3
syslog file-size 512
syslog file tmpsys:syslog/default
severity info
exit
logging radius
radius-server local
nas AP_subnet
key ascii-text testing123
network 192.168.1.0/24
exit
nas local
key ascii-text testing123
network 127.0.0.1/32
exit
nas naice
key ascii-text testing123
network 100.110.3.124/32
exit
domain default
exit
virtual-server default
mode proxy
upstream-pool naice
das-server enable
nas-ip-address 100.127.0.136
enable
exit
upstream-server naice
host 100.110.3.124
server-type all
key ascii-text testing123
exit
upstream-pool naice
server-type all
upstream-server naice
exit
enable
exit
radius-server host 127.0.0.1
key ascii-text testing123
exit
aaa radius-profile default_radius
radius-server host 127.0.0.1
exit
boot host auto-config
boot host auto-update
vlan 3
force-up
exit
vlan 2
exit
no spanning-tree
domain lookup enable
security zone trusted
exit
security zone untrusted
exit
security zone users
exit
ip access-list extended test-acl
rule 1
action permit
match destination-address 100.110.3.124 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 68
match destination-port port-range 67
enable
exit
exit
bridge 1
vlan 1
security-zone trusted
ip address 192.168.1.1/24
no spanning-tree
enable
exit
bridge 2
vlan 2
security-zone untrusted
ip address dhcp
no spanning-tree
enable
exit
bridge 3
vlan 3
mtu 1458
security-zone users
ip address 192.168.2.1/24
no spanning-tree
enable
exit
interface gigabitethernet 1/0/1
mode switchport
switchport access vlan 2
exit
interface gigabitethernet 1/0/2
mode switchport
exit
interface gigabitethernet 1/0/3
mode switchport
exit
interface gigabitethernet 1/0/4
mode switchport
exit
interface gigabitethernet 1/0/5
mode switchport
switchport access vlan 2
exit
interface gigabitethernet 1/0/6
mode switchport
exit
tunnel softgre 1
mode data
local address 192.168.1.1
default-profile
enable
exit
security zone-pair trusted untrusted
rule 1
action permit
enable
exit
exit
security zone-pair trusted trusted
rule 1
action permit
enable
exit
exit
security zone-pair trusted self
rule 10
action permit
match protocol tcp
match destination-port object-group ssh
enable
exit
rule 20
action permit
match protocol icmp
enable
exit
rule 30
action permit
match protocol udp
match source-port object-group dhcp_client
match destination-port object-group dhcp_server
enable
exit
rule 40
action permit
match protocol udp
match destination-port object-group ntp
enable
exit
rule 50
action permit
match protocol tcp
match destination-port object-group dns
enable
exit
rule 60
action permit
match protocol udp
match destination-port object-group dns
enable
exit
rule 70
action permit
match protocol tcp
match destination-port object-group netconf
enable
exit
rule 80
action permit
match protocol tcp
match destination-port object-group sa
enable
exit
rule 90
action permit
match protocol udp
match destination-port object-group radius_auth
enable
exit
rule 100
action permit
match protocol gre
enable
exit
rule 110
action permit
match protocol tcp
match destination-port object-group airtune
enable
exit
rule 120
action permit
match protocol tcp
match destination-port object-group web
enable
exit
exit
security zone-pair untrusted self
rule 1
action permit
match protocol udp
match source-port object-group dhcp_server
match destination-port object-group dhcp_client
enable
exit
rule 2
action permit
match protocol udp
match destination-port object-group radius_auth
enable
exit
rule 3
action permit
match protocol udp
match destination-port object-group das
enable
exit
rule 4
action permit
match protocol tcp
match destination-port object-group ssh
enable
exit
rule 5
action permit
match protocol icmp
enable
exit
exit
security zone-pair users self
rule 10
action permit
match protocol icmp
enable
exit
rule 20
action permit
match protocol udp
match source-port object-group dhcp_client
match destination-port object-group dhcp_server
enable
exit
rule 30
action permit
match protocol tcp
match destination-port object-group dns
enable
exit
rule 40
action permit
match protocol udp
match destination-port object-group dns
enable
exit
exit
security zone-pair users untrusted
rule 1
action permit
enable
exit
exit
security passwords default-expired
nat source
ruleset factory
to zone untrusted
rule 10
description "replace 'source ip' by outgoing interface ip address"
action source-nat interface
enable
exit
exit
exit
ip dhcp-server
ip dhcp-server pool ap-pool
network 192.168.1.0/24
address-range 192.168.1.2-192.168.1.254
default-router 192.168.1.1
dns-server 192.168.1.1
option 42 ip-address 192.168.1.1
vendor-specific
suboption 12 ascii-text "192.168.1.1"
suboption 15 ascii-text "https://192.168.1.1:8043"
exit
exit
ip dhcp-server pool users-pool
network 192.168.2.0/24
address-range 192.168.2.2-192.168.2.254
default-router 192.168.2.1
dns-server 192.168.2.1
exit
softgre-controller
nas-ip-address 127.0.0.1
data-tunnel configuration wlc
aaa radius-profile default_radius
keepalive-disable
service-vlan add 3
enable
exit
wlc
outside-address 192.168.1.1
service-activator
aps join auto
exit
ap-location default-location
mode tunnel
ap-profile default-ap
ssid-profile default-ssid
exit
ssid-profile default-ssid
ssid "default-ssid"
radius-profile default-radius
portal-enable
portal-profile default-portal
vlan-id 3
band 2g
band 5g
enable
exit
ap-profile default-ap
password ascii-text password
services
das-server enable
das-server key ascii-text testing123
exit
ipv4-acl test-acl
exit
portal-profile default-portal
preauth-filter-mode acl
disconnect-on-reject
verification-mode external-portal
exit
radius-profile default-radius
auth-address 192.168.1.1
auth-password ascii-text testing123
session password mac
auth-acct-id-send
acct-enable
acct-address 192.168.1.1
acct-password ascii-text testing123
acct-periodic
domain default
exit
enable
exit
ip-pool default-ip-pool
description "default-ip-pool"
ap-location default-location
exit
ip ssh server
ntp enable
ntp broadcast-client enable |
В заводской конфигурации WLC-30 предусмотрено автоматическое подключение точек доступа к контроллеру. Для этого требуется подключить точку доступа в порт gi1/0/2 и контроллер WLC сам выполнит обновление, если версия ПО на точке доступа не соответствует версии, которая размещена на контроллере, выполнит конфигурирование в соответствие с настройками: выбранными профилями конфигурации и SSID. Инструкцию по загрузке актуальной версии ПО точек доступа на контроллер можно найти по ссылке.
Подробная информация о настройках для каждого раздела содержится во встроенной документации, которую можно просмотреть, нажав кнопку |
Для быстроты и удобства в NAICE реализованы дефолтные сущности для настройки портала , которые можно использовать, редактировать, или использовать свои. Разберем настройку на примере Eltex WLC.
Перейти в раздел Администрирование → Сетевые ресурсы → Профили устройств. Создать или отредактировать существующий профиль устройства:

В блоке Аутентификация/Авторизация необходимо настроить условия RADIUS-атрибутов, для определения того, каким образом подключается пользователь.
В блоке MAB включить:
Настроить MAB - включить для возможности выполнения MAB-аутентификации.PAP - включить возможность аутентификации по протоколу PAP.Проверять совпадение Calling-Station-Id и MAC-адреса - включить проверку совпадение MAC-адреса в атрибуте User-Name и Calling-station-Id.Условие пароля - INTERNAL_RADIUS:Cleartext-Password = RADIUS:User-Name.Далее раскрыть блоки "Настройки RADIUS CoA" и "Настройки перенаправления на портал"

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

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

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

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

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

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

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

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

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

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

Добавить условие «Guest endpoints·Registered guest Равно NO», которое позволит авторизовываться ранее незарегистрированным клиентам и проходить авторизацию на портале. Для данного условия выбрать ранее созданный профиль авторизации Portal Profile.
Добавить условие «Guest endpoints·Registered guest Равно YES», которое позволит авторизовываться уже зарегистрированнымклиентам без прохождения повторной портальной авторизации.
С мобильного устройства подключиться к созданному SSID и дождаться редиректа на портал.
В открывшемся окне ввести номер телефона и капчу для получения смс-кода. Нажать Выслать код.

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

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

Если возникли проблемы во время авторизации пользователя, то инструкция по траблшутингу доступна по ссылке.