В контроллере WLC есть возможность проксирования RADIUS запросов ТД на внешний RADIUS-сервер для Enterprise-авторизации.
В данной статье описаны:
Проксирование RADIUS запросов решает одну из главных проблем в Enterprise авторизации. Для успешной авторизации, помимо наличия учетных записей для пользователей, необходимо добавлять подсеть или адрес ТД, которая будет обслуживаться RADIUS-сервером. При настроенном проксировании можно настроить параметр подмены NAS-IP, который будет устанавливаться в пересылаемые RADIUS запросы от ТД. В таком случае на внешнем RADIUS-сервере нужно добавить один NAS объект, которым являться WLC.
Перед началом рекомендуется ознакомиться с базовой настройкой подключения ТД к контроллеру WLC, которая описана в статье: Настрoйка WLC.
Успешная авторизация клиента
Рассмотрим поэтапную работу при 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-сервер
wlc# configure wlc(config)# radius-server local |
Настраиваем NAS ap, который содержит подсети точек доступа, которые будут обслуживаться локальным RADIUS-сервером при Enterprise-авторизации пользователей Wi-Fi:
wlc(config-radius)# nas ap wlc(config-radius-nas)# key ascii-text password wlc(config-radius-nas)# network 192.168.1.0/24 wlc(config-radius-nas)# exit nas ap key ascii-text encrypted 8CB5107EA7005AFF network 192.168.1.0/24 exit |
При схеме подключения ТД через L3 сеть с Data SoftGRE-туннелем необходимо настроить NAS local для построения Softgre-туннеля при обращении на локальный RADIUS-сервер. |
nas local key ascii-text encrypted 8CB5107EA7005AFF network 127.0.0.1/32 exit wlc(config-radius)# nas local wlc(config-radius-nas)# key ascii-text password wlc(config-radius-nas)# network 127.0.0.1/32 wlc(config-radius-nas)# exit |
Настройки виртуального сервера содержат номера портов для аутентификации и аккаунтинга, настройки проксирования на внешний RADIUS server. Использование стандартных портов (1812 для аутентификации и 1813 для аккаунтинга) не требует настройки. Для проксирования RADIUS-запросов на внешний сервер необходимо включить proxy-mode:
Server-type auth — используется для проксирования только запросов аутентификации. Запросы будут проксироваться на порт, указанный в параметре port (по умолчанию – 1812). Server-type acct — используется для проксирования только аккаунтинга. Проксирование осуществляется на порт, указанный в параметре port (по умолчанию – 1812). При необходимости измените его (стандартный порт для аккаунтинга – 1813). Server-type all — используется для проксирования запросов аутентификации и аккаунтинга. Запросы аутентификации будут проксироваться на порт, указанный в параметре port (по умолчанию – 1812), а аккаунтинг будет проксироваться на порт = 'port'+1 (то есть по умолчанию – 1813). |
Настраиваем внешний сервер (virtual-server), указываем его адрес (host = 10.10.10.12), тип (server-type = all, по умолчанию задан auth), ключ (key = password) и порт (по умолчанию задан 1812, можно сменить на другой). Пример такой конфигурации:
virtual-server default
proxy-mode
upstream-server eltex
host 10.10.10.12
server-type all
key ascii-text password
exit
enable
wlc(config-radius)# virtual-server default
wlc(config-radius-vserver)# enable
wlc(config-radius-vserver)# proxy-mode
wlc(config-radius-vserver)# upstream-server eltex
wlc(config-radius-upstream-server)# host 10.10.10.12
wlc(config-radius-upstream-server)# server-type all
wlc(config-radius-upstream-server)# key ascii-text password
wlc(config-radius-vserver)# exit
|
При конфигурации проксирования, в блоке настройки виртуального сервера есть возможность указать NAS-IP для подмены его во всех входящих RADIUS запросов от ТД к WLC. |
Нужно задать NAS-IP в конфигурации, можно произвольный адрес, лучше использовать адрес которые задан на интерфейсе WLC:
radius-server local
virtual-server default
nas-ip-address 10.10.10.1
exit
exit
wlc(config-radius)# virtual-server default
wlc(config-radius-vserver)# nas-ip-address 10.10.10.1
wlc(config-radius-vserver)# exit |
Включаем работу локального RADIUS сервера.
radius-server local enable exit wlc(config)# radius-server local wlc(config-radius)# enable wlc(config-radius)# exit |
Переходим к настройкам модуля управления конфигурацией точек доступа:
wlc(config)# wlc |
Настраиваем профиль RADIUS-сервера, который будет использоваться для аутентификации беспроводных клиентов Enterprise SSID точек доступа Wi-Fi:
wlc(config-wlc)# radius-profile default-radius |
Поскольку мы настраиваем проксирование запросов аутентификации и аккаунтинга, то указываем адрес контроллера локального RADIUS-сервера в подсети точек доступа.
Ключ RADIUS-сервера должен совпадать с ключом, указанным для 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 |
Если вы используете проксирование на SoftWLC, укажите домен RADIUS. Этот домен должен совпадать с доменом, в котором созданы учетные записи пользователей Enterprise на SoftWLC. |
Указываем IP-адрес RADIUS-сервера подсети точек доступа, используемого для аккаунтинга и ключ RADIUS-сервера:
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 |
Настройки SSID точки доступа.
wlc(config-wlc)# ssid-profile default-ssid |
Указываем в ssid-profile ранее настроенный профиль настроек RADIUS-сервера, который будет использоваться для авторизации пользователей Wi-Fi:
wlc(config-wlc-ssid-profile)# radius-profile default-radius |
Применяем и сохраняем проделанные настройки
wlc# commit wlc# confirm |
Для настройки внешнего RADIUS-сервера необходимо записать в таблицу NAS внешнего RADIUS-сервера адрес и ключ локального RADIUS-сервера WLC-30. |
Пример конфигурации:
|
Запрет доступа по причине неправильного 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-сервера, а также корректность вводимых данных клиента, так как может быть допущена опечатка.