Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 11 Текущий »

Введение

Начиная с версии ПО 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 

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


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

  1. Установка соединения клиента с ТД.
  2. ТД выполняет MAB для клиента на RADIUS-сервере.
  3. Проверка наличия УЗ клиента для MAB в БД.
  4. Т.к клиент подключается впервые, УЗ клиента для MAB отсутствует в БД.
  5. ТД получает Access-Reject от RADIUS-сервера.
  6. Клиент пытается посетить какой либо ресурс, через HTTP GET запрос.
  7. ТД перехватывает запрос клиента, подставляет значения wildcard  параметров из redirect-url-custom и перенаправляет на страницу портала.
  8. Клиент попадает на страницу редиректа, проходит процесс авторизации и отправляет учетные данные на внешний портал.
  9. Внешний портал проверяет и сохраняет учетные данные клиента в БД.
  10. Внешний портал получив учетные данные клиента обрабатывает их и после отправляет HTTP POST запрос к WLC. Куда отправить ответный HTTP запрос, внешний портал узнает из параметра LOGIN_URL, который содержится в redirect-url-custom.
  11. WLC валидирует наличие обязательных параметров в HTTP POST запросе для аутентификации клиента, в случае если все обязательные параметры присутствует, проверяет наличие информации по клиенту и к какой ТД он подключен и затем отправляет запрос на ТД для аутентификации клиента.
  12. ТД отправляет RADIUS запроса Acess-Request подставляя в RADIUS атрибуты User-name и User-Password значения, которые были переданы от внешнего портала в виде параметров username и password в http запросе на шаге №4. После отправки RADIUS-запроса запускается таймаут, который задается через параметр: radius-response-timeout (10 секунд по умолчанию).
  13. RADIUS-сервер проверяет наличие УЗ клиента в БД.
  14. RADIUS-сервер получает результат проверки наличия УЗ клиента в БД. 
  15. RADIUS-сервер отправляет ответ Access-Accept на запрос ТД на шаге #12
  16. ТД отправляет уведомление на WLC, что клиент успешно авторизован. Запись сохраняется в журнале клиентов.
  17. WLC отправляет HTTP RESPONSE на HTTP REQUEST, который был отправлен на шаге #4 от внешнего портала.
  18. Внешний портал сохраняет УЗ клиента для MAB. Каждый раз при подключении к новой ТД либо роуминге, ТД будет выполнять MAB  и т.к УЗ клиента уже будет храниться в БД, клиент будет аутентифицирован без взаимодействия со страницой портала.
  19. ТД перенаправляет клиента на изначально запрошенный ресурс.


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

Описание схемы взаимодействия при повторном подключении клиента или роуминге между ТД.

  1. Установка соединения клиента с ТД.
  2. ТД выполняет MAB для клиента на RADIUS-сервере.
  3. Проверка наличия УЗ клиента для MAB в БД.
  4. УЗ клиента присутствует в БД, т.к клиент подключается повторно к новой ТД, либо совершает роуминг.
  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 запросы от внешнего портала, необходимо:

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

Опционально можно настроить:

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

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

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

В строке ридеректа (redirect-url-custom) должны быть заданы обязательные параметры:

  • <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 на предыдущих шагах и затем привязать его к необходимой локации либо переопределить в  индивидуальном профиле точки доступа.

ssid-profile exter-external-portal
  ssid "exltex-portal"
  radius-profile default-radius
  portal-enable
  portal-profile eltex-external-portal
  vlan-id 2955
  band 5g
  enable
exit









  • Нет меток