Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

Введение

Начиная с версии ПО WLC 1.39.2 поддержан функционал external-portal-manager, который позволяет обрабатывать входящие HTTP-запросы от внешнего портала , для авторизации беспроводных клиентов.

...

Информация

Функционал работает на ТД моделей: WOP-20L, WEP-200L, WEP-30L, WEP-30L-NB, WEP-30L-Z, WOP-30L, WOP-30LS, WOP-30LI начиная с версии ПО 2.12.0 

Схема взаимодействия при первом подключении клиента

...

draw.io Diagram
bordertrue
diagramNameДиаграмма без названия-1785911265130Схема первичного подключения клиента
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth1636
height1702
revision191


Описание схемы взаимодействия при первичном подключении клиента

...

:

  1. Установка соединения клиента с ТД.
  2. ТД выполняет MAB для клиента на RADIUS-сервере.
  3. Проверка наличия УЗ клиента для MAB
  4. авторизации
  5. в БД.
  6. Т.к
  7. Так как клиент подключается впервые, УЗ клиента для MAB отсутствует в БД.
  8. ТД получает Access-Reject от RADIUS-сервера.
  9. Клиент пытается посетить какой-либо ресурс, через HTTP GET-запрос.
  10. ТД перехватывает запрос клиента, подставляет значения
  11. wildcard 
  12. wildcard-параметров из redirect-url-custom и перенаправляет
  13. на страницу
  14. запрос на страницу портала.
  15. Клиент попадает на страницу редиректа, проходит процесс авторизации и отправляет учетные данные на внешний портал.
  16. Внешний портал проверяет и сохраняет учетные данные клиента в БД.
  17. Внешний портал, получив учетные данные клиента, обрабатывает их и после отправляет HTTP POST-запрос к WLC. Куда отправить ответный HTTP-запрос, внешний портал узнает из параметра LOGIN_URL, который содержится в redirect-url-custom.
  18. WLC валидирует наличие обязательных параметров в HTTP POST-запросе для аутентификации клиента. В случае,
  19. в случае
  20. если все обязательные параметры
  21. присутствует
  22. присутствуют,
  23. проверяет
  24. проверяется наличие информации по клиенту, и к какой ТД он подключен
  25. и
  26. , затем
  27. отправляет
  28. отправляется запрос на ТД для аутентификации клиента.
  29. ТД отправляет RADIUS
  30. запроса
  31. -запрос Acess-Request, подставляя в RADIUS-атрибуты значений User-name и User-Password
  32. значения
  33. , которые были переданы от внешнего портала в виде параметров username и password в http-запросе на шаге №4. После отправки RADIUS-запроса запускается таймаут, который задается через
  34. параметр: radius
  35. параметрradius-response-timeout (10 секунд по умолчанию).
  36. RADIUS-сервер проверяет наличие УЗ клиента в БД.
  37. RADIUS-сервер получает результат проверки наличия УЗ клиента в БД. 
  38. RADIUS-сервер отправляет ответ Access-Accept на запрос ТД на шаге
  39. #12
  40. 12.
  41. ТД отправляет уведомление на WLC, что клиент успешно авторизован. Запись сохраняется в журнале клиентов.
  42. WLC отправляет HTTP RESPONSE на HTTP REQUEST, который был отправлен на шаге
  43. #4
  44. 4 от внешнего портала.
  45. Внешний портал сохраняет УЗ клиента для MAB. Каждый раз при подключении к новой ТД либо роуминге, ТД будет выполнять
  46. MAB  и т.к
  47. MAB и, так как УЗ клиента уже будет храниться в БД, клиент будет аутентифицирован
  48.  без
  49. без взаимодействия со
  50. страницой
  51. страницей портала.
  52. ТД перенаправляет клиента на изначально запрошенный ресурс.

Схема взаимодействия повторного подключения клиента

...

draw.io Diagram
bordertrue
diagramNameCopy of Диаграмма без названия-1785911265130Диаграмма повторного подключения клиента
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth1636
height740
revision62

Описание схемы взаимодействия

...

при повторном подключении клиента

...

или роуминге между ТД.

  1. Установка соединения клиента с ТД.
  2. ТД выполняет MAB для клиента на RADIUS-сервере.
  3. Проверка наличия УЗ клиента для MAB авторизации в БД.Т
  4. УЗ клиента присутствует в БД, так как клиент подключается повторно к новой ТД , либо совершает роуминг, УЗ клиента для MAB присутствует в БД.
  5. ТД получает Access-Accept от RADIUS-сервера.
  6. Клиент пытается посетить какой-либо ресурс , через запрос HTTP GET запрос.
  7. ТД разрешает предоставляет доступ клиенту на запрошенный внешний ресурс.

Структура запроса от внешнего портала

Данные передаются в теле запроса HTTP POST запроса в строке вида: <ключ>=<значение>, разделенных знаком &.

Пример тела HTTP-запроса:

Блок кода
cmd=login&client-mac=60a5e22c74be&ip-address=10.25.229.12&username=eltex-user&password=0i10EGAKP0TAHkratgWKKZEzOk9HL2ZMAyEH5luq

Таблица описание параметров:

ПараметрОписаниеОбязательный или необязательный
cmdНа текущий момент, начиная с версии WLC 1.39.2, поддерживается только команда: loginОбязательный
client-mac 

MAC-адрес клиента в одном из форматов:

  • xxxxxxxxxxxx 
  • xx:xx:xx:xx:xx
Обязательный
ip-address

IP-адрес клиента в формате:

  • xxx.xxx.xxx.xxx
Обязательный
usernameUsername клиента. Значение данного параметра передаются в RADIUS-запросе Acess-Request в рамках атрибута User-name Обязательный
passwordПароль клиента. Значение данного параметра передается в RADIUS-запросе Acess-Request в рамках атрибута User-password. Обязательный

Структура ответа внешнему порталу от WLC

Данные передаются  передаются в теле HTTP-ответа в формате xml.

Пример HTTP-ответа от WLC:

Блок кода
<?xml version="1.0"?><response><client-mac>7a:c5:b8:80:07:eb</client-mac><ip-address>10.25.229.12</ip-address><result>success</result><errcode>0</errcode></response>
запроса
ПараметрОписаниеОбязательный или необязательный
client-mac 

MAC-адрес клиента в формате:

  • xx:xx:xx:xx:xx
Необязательный
ip-address

IP-адрес клиента в формате:

  • xxx.xxx.xxx.xx
Обязательный
result

Результат авторизации клиента по параметрам из запроса HTTP POST

:

  • success 
  • fail 
Обязательный
errcode

Код ошибки:

  • 0: success
  • 1: fail
Обязательный

Пошаговая настройка

Настройка external-portal-manager

Для того, чтобы WLC начал обрабатывать входящие http HTTP-запросы от внешнего портала, необходимо:

  1. Включить external-portal-manager с помощью настройки enable.
  2. Задать параметр ip-address, который будет использоваться для приема входящих http HTTP-запросов. Если используется схема failover, необходимо использовать vrrp VRRP-адрес , для обеспечения отказоустойчивости.

...

  1. Параметр login-url, который задает значение у параметра <LOGIN_URL> в произвольной строке редиректа: redirect-url-custom. Это необходимо, чтобы передать внешнему порталу dns имя контроллера , вместо ip-adress+port (по умолчанию).
  2. Параметр port, который будет использоваться для приема входящих http HTTP-запросов.   По умолчанию используется порт: 8045.
  3. Параметр radius-response-timeout - , который задает время ожидания авторизации клиента на RADIUS-сервере.
Блок кода
external-portal-agent
  enable
  ip-address 100.139.31.1
exit

Настройка portal-profile

Настраиваем portal-profile.

...

  • <ORIGINAL_URL>
  • <CLIENT_IP>
  • <CLIENT_MAC>
  • <LOGIN_URL>

Тип

...

проверки:

...

external-portal

Блок кода
  portal-profile eltex-external-portal
    redirect-url-custom http://eltex-co.ru/?redirect-url=<ORIGINAL_URL>&user-ip=<CLIENT_IP>&user-mac=<CLIENT_MAC>&login-url=<LOGIN_URL>
    verification-mode external-portal
  exit

Настройка radius-profile

Необходимо создать и настроить radius-profile, чтобы задать на ТД адрес RADIUS-сервер, который будет выполнять авторизацию беспроводного клиента.

В целевой схеме указывается адрес WLC, который проксирует запрос на RADIUS-сервер. Подробнее в статье Настройка проксирования на внешний RADIUS.

При необходимости можно задать адрес RADIUS-сервера для взаимодействия между ТД и внешним порталомс внешним сервером, минуя WLC.

Блок кода
  radius-profile default-radius
    description "default-radius"
    auth-address 100.139.31.1
    auth-password ascii-text encrypted 8CB5107EA7005AFF
    domain default
  exit

Настройка ssid-profile

Необходимо создать ssid-profile, включить в нём портальную авторизацию и привязать portal-profile и radius-profile на предыдущих шагах и , затем привязать его к необходимой локации либо переопределить в  в индивидуальном профиле точки доступа.

...