Описание
В статье будет рассмотрена настройка проксирования RADIUS запросов от ТД через контроллер WLC в NAC систему. ТД является устройством идентификации (NAS клиент), RADIUS запросы будут исходить от ТД. Контроллер WLC выполняет роль посредника в общении ТД и NAC системы.
Диаграмма взаимодействия
ТД самостоятельное устройство идентификации, возможно несколько схем взаимодействия ТД и RADIUS-сервера:
- Взаимодействие ТД с локальным RADIUS-сервером, настроенным на контроллере WLC;
Список пользователей Wi-Fi хранится в конфигурации контроллера. На контроллере запущен RADIUS-сервер, который выполняет проверку пользователей самостоятельно. Подробное описание в статье Настройка локального RADIUS-сервера - Взаимодействие ТД с внешним RADIUS-сервером.
Список пользователей хранится на внешнем сервере. На контроллере запущен RADIUS-сервер, который выполняет проксирование RADIUS запросов на вышестоящий сервер.
В статье описана настройка контроллера для проксирования RADIUS-запросов при работе с внешним RADIUS-сервером, т.е. вторая схема.
Проксирование RADIUS запросов позволяет использовать общее хранилище учетных данных пользователи Wi-Fi.
Для успешной авторизации, на внешнем RADIUS-сервере необходимо:
- Наличие учетных записей пользователей;
- IP-адреса контроллера WLC нужно прописать в качестве NAS клиента;
- Настроить подмену NAS-IP в конфигурации WLC. NAS-IP будет меняться в RADIUS запросах от ТД при прохождении через контроллер. В таком случае на внешнем RADIUS-сервере нужно добавить один NAS объект, которым WLC.
Рекомендуется ознакомиться с базовой настройкой подключения ТД к контроллеру WLC, которая описана в статье Настрoйка WLC.
Логика работы Enterprise авторизации
Успешная авторизация клиента
Рассмотрим поэтапную работу при Enterprise авторизации. Ниже на диаграмме представлен пример успешной авторизации пользователя с проксированием на внешний RADIUS-сервер.
При подключении к SSID клиент вводит учетные данные в виде логина (username) и пароля (password), которые приходят на ТД. ТД отправляет запрос (Access-Request) на RADIUS-сервер WLC, в атрибуте NAS-IP будет задан IP-адрес ТД. На WLC настроено проксированием на внешний RADIUS-сервер. Получив от ТД запрос (Access-Request), WLC подменит NAS-IP на IP-адрес, который указан в конфигурации и отправит запрос на внешний RADIUS-сервер. Внешний RADIUS-сервер может проверить наличие записи NAS-IP WLC, в свой конфигурации. Если запись найдена, проверка учетной записи завершится успешно, внешний RADIUS-сервер отправляет ответ (Access-Accept) в сторону WLC. WLC, в свою очередь, получив ответ от внешнего RADIUS-сервера пересылает ответ ТД.
После успешного подключения клиента, ТД отправляет запрос (Accouting-Request) на WLC (если отправка включена в конфигурации). WLC подменяет NAS-IP и пересылает запрос на внешний RADIUS-сервер. Внешний RADIUS-сервер отправляет ответ (Accouting-Response) WLC. WLC пересылает запрос ТД
Задача
Настроить перенаправление всех RADIUS запросов от ТД из сети 192.168.1.0/24 на вышестоящий сервер:
- IP-адресс: 10.10.10.12
- Порт для авторизации: 1812
- Пор для аккаунтинга: 1813
- Ключ сервера: password
Производить подмену NAS-IP на 10.10.20.1
Решение
Настройка будет выполнена на базе заводской конфигурации (Factory).
Шаги выполнения:
- Настроить локальный RADIUS-сервер
- Прописать nas - разрешить прием RADIUS пакетов от ТД
- Настроить virtual-server - включить режим проксирования и настроить подмену NAS-IP
- Настроить upstream-server - указать параметры вышестоящего сервера
- Конфигурация раздела radius-server local
- Настройка в разделе WLC
- Настроить radius-profile настройки RADIUS на ТД, точка будет отправлять запросы
- Настроить ssid-profile - настроить SSID и выбрать ранее созданный radius-profile
- Включить ssid-profile в локацию
- Конфигурация раздела wlc
- Настроить firewall
- Применить конфигурацию
Настройка локального RADIUS-сервера:
Переходим в конфигурационный режимwlc# configure wlc(config)# radius-server local
Переходим в раздел radius-server local:
wlc(config)# radius-server local
Прописываем nas
Необходимо добавить подсети ТД (адресное пространство точке доступа, т.е. их IP-адреса), которые будут обслуживаться локальным RADIUS-сервером при Enterprise-авторизации пользователей Wi-Fi в nas ap:wlc(config-radius)# nas ap wlc(config-radius-nas)# network 192.168.1.0/24 wlc(config-radius-nas)# key ascii-text password wlc(config-radius-nas)# exit
Настраиваем virtual-server
Настраиваем virtual-server для проксирования RADIUS-запросов на внешний сервер. Задаём имя virtual-server:wlc(config-radius)# virtual-server default
Задаём nas-ip:
wlc(config-radius-vserver)# nas-ip-address 10.10.20.1
Включаем режим проксирования:
wlc(config-radius-vserver)# proxy-mode wlc(config-radius-vserver)# enable
Включаем virtual-server сервер:
wlc(config-radius-vserver)# enable
Настраиваем upstream-server
Настройка upstream-server доступна из раздела virtual-server. Создаём upstream-server для настройки параметров вышестоящего сервера:
wlc(config-radius-vserver)# upstream-server eltex
Задаём адрес вышестоящего сервера, на этот сервер будут перенаправляться запросы от ТД:
wlc(config-radius-upstream-server)# host 10.10.10.12
Включаем режим проксирования для запросов аутентификации и аккаунтинга
Выбираем режим all, так как нужно перенаправлять все запросы:
wlc(config-radius-upstream-server)# server-type all
Задаём ключ для вышестоящего сервера, ключ должен совпадать с ключом заданным в radius-profile в разделе WLC ссылка(нужно проверить корректность создания) :
wlc(config-radius-upstream-server)# key ascii-text password wlc(config-radius-upstream-server)# exit wlc(config-radius-vserver)# exit
Конфигурация раздела radius-server:
radius-server local nas local key ascii-text encrypted 8CB5107EA7005AFF network 127.0.0.1/32 exit nas ap key ascii-text encrypted 8CB5107EA7005AFF network 192.168.1.0/24 exit virtual-server default proxy-mode nas-ip-address 10.10.20.1 upstream-server eltex host 10.10.10.12 server-type all key ascii-text password exit enable exit exit
Настройка в разделе WLC
Переходим в раздел wlcwlc(config)# wlc
Настраиваем radius-profile
Настраиваем профиль default-radius:wlc(config-wlc)# radius-profile default-radius
Поскольку мы настраиваем проксирование запросов аутентификации и аккаунтинга, то в auth-address и acct-address указываем адрес контроллера, который доступен для ТД. Ключ RADIUS-сервера (auth-password / acct-password) должен совпадать с ключом, указанным для nas ap, который мы указали в radius-server local ссылка(нужно проверить корректность создания).
wlc(config-wlc-radius-profile)# auth-address 192.168.1.1 wlc(config-wlc-radius-profile)# auth-password ascii-text password wlc(config-wlc-radius-profile)# acct-address 192.168.1.1 wlc(config-wlc-radius-profile)# acct-password ascii-text password
Включаем отправку аккаунтинга на RADIUS-сервер:
wlc(config-wlc-radius-profile)# acct-enable
Включаем добавление идентификатора RADIUS сессии в запросах аккаунтинга:
wlc(config-wlc-radius-profile)# auth-acct-id-send
Задаём временной интервал обновления аккаунтинга:
wlc(config-wlc-radius-profile)# acct-interval 600
Конфигурация radius-profile:
radius-profile default-radius auth-address 192.168.1.1 auth-password ascii-text password auth-acct-id-send acct-enable acct-address 192.168.1.1 acct-password ascii-text password acct-periodic acct-interval 600 exit
Создаём ssid-profile
Создаём новый профиль SSID:wlc(config-wlc)# ssid-profile test_enterprise
Указываем в ssid-profile ранее настроенный профиль radius-profile:
wlc(config-wlc-ssid-profile)# radius-profile default-radius
Задаем имя SSID:
wlc(config-wlc-ssid-profile)# ssid "test_enterprise"
Задаем режим безопасности:
wlc(config-wlc-ssid-profile)# security-mode WPA2_1X
Задаем VLAN:
WLC-1(config-wlc-ssid-profile)# vlan-id 3
Задаем остальные параметры SSID:
WLC-1(config-wlc)# ssid-profile test_enterprise WLC-1(config-wlc-ssid-profile)# description "SSID for enterprise users" WLC-1(config-wlc-ssid-profile)# 802.11kv WLC-1(config-wlc-ssid-profile)# band 2g WLC-1(config-wlc-ssid-profile)# band 5g WLC-1(config-wlc-ssid-profile)# enable WLC-1(config-wlc-ssid-profile)# exit
Конфигурация ssid-profile:
ssid-profile test_enterprise description "SSID for enterprise users" ssid "test_enterprise" radius-profile default-radius vlan-id 3 security-mode WPA2_1X 802.11kv band 2g band 5g enable exit
Включение ssid-profile в локацию
Нужно включить созданный SSID в локацию. ТД получит конфигурацию и начнёт вещать данные SSID. Включаем ssid-profile в локацию default-locationap-location default-location ssid-profile test_enterprise exit
Конфигурация раздела wlc:
wlc outside-address 192.168.1.1 service-activator aps join auto exit airtune enable exit ap-location default-location description "default-location" mode tunnel ap-profile default-ap airtune-profile default_airtune ssid-profile default-ssid exit airtune-profile default_airtune description "default_airtune" exit ssid-profile default-ssid description "default-ssid" ssid "default-ssid" radius-profile default-radius vlan-id 3 security-mode WPA2_1X 802.11kv band 2g band 5g enable exit ssid-profile test_enterprise description "SSID for enterprise users" ssid "test_enterprise" radius-profile default-radius vlan-id 3 security-mode WPA2_1X 802.11kv band 2g band 5g enable exit radio-2g-profile default_2g description "default_2g" exit radio-5g-profile default_5g description "default_5g" exit ap-profile default-ap description "default-ap" password ascii-text encrypted 8CB5107EA7005AFF exit radius-profile default-radius description "default-radius" auth-address 192.168.1.1 auth-password ascii-text encrypted 8CB5107EA7005AFF auth-acct-id-send acct-enable acct-address 192.168.1.1 acct-password ascii-text encrypted 8CB5107EA7005AFF acct-periodic domain default exit wids-profile default-wids description "default-wids" exit ip-pool default-ip-pool description "default-ip-pool" ap-location default-location exit enable exit
- Настраиваем firewall
Для приёма аккаунтинга нужно разрешить прохождение UDP трафика по порту 1813 из зоны trusted в зону self. В заводской конфигурации порт 1813 закрыт.Создаем группу radius_acct
object-group service radius_acct port-range 1813 exit
Добавляем правило в zone-pair trusted self
rule 91 action permit match protocol udp match destination-port object-group radius_acct enable exit
Применяем конфигурацию и подтверждаем
wlc# commit wlc# confirm
Для настройки внешнего RADIUS-сервера необходимо записать в таблицу NAS внешнего RADIUS-сервера адрес и ключ локального RADIUS-сервера WLС.
Полная конфигурация
Конфигурация устройства:
Возможные проблемы
Рассмотрим возможные проблемы при авторизации.
Запрет доступа по причине неправильного NAS-IP
Рассмотрим один из вариантов запрета доступа, где причиной является отсутствие записи о NAS-IP в конфигурации внешнего RADIUS-сервера.
В данном примере внешний RADIUS-сервер на входящий запрос (Access-Request), ответ (Access-Reject). Может быть две причины такого ответа.
При настройке проксирования RADIUS запросов на WLC указывается параметр подмены NAS-IP, в случае, если он не указан, запросы будут пересылаться на внешний RADIUS-сервер без подмены NAS-IP. В результате внешний RADIUS-сервер получит запрос с NAS-IP ТД. В таком случае на внешнем RADIUS-сервере необходимо добавлять подсеть ТД в NAS клиенты сервера. Если подмены NAS-IP в конфигурации проксирования RADIUS на WLC настроена, но внешний RADIUS-сервер присылает ответ (Access-Reject), необходим проверить наличие подсети или адреса WLC в конфигурации внешнего RADIUS-сервера.
Запрет доступа по причине ошибки аутентификации
Данный пример описывает проблему ответа о запрете доступа (Access-Reject), на запрос (Access-Request).
Причиной такого ответа является отсутствие учетной записи в базе данных внешнего RADIUS-сервера, под которыми авторизуется клиент. В таком случае необходимо проверить наличие учетной записи в базе данных внешнего RADIUS-сервера, а также корректность вводимых данных клиента, так как может быть допущена опечатка.