Начиная с версии 1.6.2524 WNAM поддерживает работу с контроллерами Cisco нового поколения, использующими операционную систему IOS XE, семейства Catalyst 9800 Wireless Controllers.
При этом взаимодействие реализовано по механизму Central Web Auth (CWA), который разработан Cisco для взаимодействия контроллера с программным обеспечением Cisco ISE. WNAM полностью эмулирует поведение ISE в данной задаче. Документация по настройке контроллеров серии 9800 и ISE доступна на сайте производителя.
Авторизация по методу CWA основана на следующем:
- при подключении устройства абонента к сети контроллером проводится RADIUS-запрос к серверу политики (WNAM) с целью получить ACL и URL перенаправления
- проводится перехват трафика новой веб-сессии и перенаправление пользователя на полученную ссылку (без редиректа на контроллер)
- осуществляется авторизация на внешней системе (WNAM) и/или показ рекламной/приветственной страницы
- по завершении авторизации WNAM сообщает контроллеру по протоколу RADIUS CoA о необходимости ре-авторизации сессии пользователя
- производится повторная авторизация пользователя контроллером на RADIUS-сервере и применение полученной политики "пропуска"
- WNAM осуществляет перенаправление пользователя на заданную ссылку
При этом с точки зрения пользователя нет дополнительных редиректов, и ассоциированных с этим проблем.
При повторном подключении абонента, если включена МАС-авторизация на сервере доступа, и "прозрачные повторные сессии" в настройках ограничений, цепочка действий сокращается:
- при подключении устройства абонента к сети контроллером проводится RADIUS-запрос к серверу политики (WNAM)
- если системе авторизации абонент известен, его авторизация валидна (не истекла и не сброшена), абонент не блокирован, после последней сессии подключения прошло время меньше, чем указано в настройках ограничений "прозрачные повторные сессии", WNAM отвечает сообщением Access-Accept (с некоторыми дополнительными параметрами)
- устройство абонента тут же получает доступ в интернет, без дополнительных "всплывающих окон" и редиректов
Этот механизм полезен в случае необходимости поддержки роуминга абонентов между точками доступа, либо после кратковременного отключения абонентского устройства от радио
Внимание! Перед настройкой авторизации через CWA необходимо вначале настроить SSID, точки доступа, маршрутизацию, DHCP и протестировать обычный доступ в интернет без авторизации.
В приведенных ниже примерах используются следующие адреса:
- 172.16.131.5 - RADIUS-сервер WNAM
- 172.16.131.5 порт 80 - административный и абонентский интерфейс WNAM
- 93.180.6.168 - контроллер Cisco 9800-CL с ПО версии IOS XE 17.3.1
- 10.241.144.0/24 - сеть для устройств беспроводных абонентов
- SSID - IOS_XE_Test
- Название стенда (сайт, профили, политики и т.п.) - R20
1. Настройка контроллера
Первым делом вы должны настроить SSID в режиме "без авторизации" и проверить, что беспроводной абонент имеет доступ в Интернет, то есть работают радио-часть, DHCP, NAT, маршрутизация.
Для готового и проверенного SSID настройте авторизацию. Безопасность L2 - выключена, но включен режим mac filtering.
В режиме L3 также ничего не настроено (никаких Web Auth).
В настройках серверов ААА укажите адреса серверов авторизации и аккаунтинга (сервер WNAM), также Interim Update (интервал времени между апдейтами счётчиков).
Во вкладке Advanced обязательно должны быть указаты три параметра:
- Allow AAA Override
- DHCP address assignment - Required
- NAC State: RADIUA NAC (или ISE NAC)
Создайте ACL (список доступа), разрешающий доступ к серверу WNAM до авторизации. Запомните имя ALC (в примере - wnam_cwa).
В списке правил в ACL разрешите трафки до сервера авторизации и обратно, а также DNS-трафик. Можно сделать более тонкие (узкие) настройки ограничений.
Настройте сервер авторизации. В нашем примере это два сервера: .13 для собственно авторизации, .5 для CoA пакетов.
В настройках сервера авторизации пропишите секретный ключ. Его надо также поместить в /etc/freeradius/clients.conf
Создайте запись об аккаунтинг-сервере
Также укажите ключ для сервера аккаунтинга. Скорее всего, это тот же сервер авторизации.
На этом настройка контроллера закончена. Необходимо настроить WNAM.
2. Настройка WNAM
Создайте запись о сервере доступа типа Cisco WLC (сервер доступа - контроллер). Укажите адрес, имя, местоположение. Логин и пароль не используются.
Во вкладке RADIUS укажите:
В параметрах "атрибуты предварительной авторизации"
- cisco-avpair=url-redirect=http://имя_вашего_сервера_wnam/cp/cisco?%URL%
- cisco-avpair=url-redirect-acl=wnam_cwa
При этом имя ACL должно соответствовать тому имени, что вы создали на контроллере. Параметр %URL% будет заменен системой WNAM при формировании ответа контроллеру. При копировании атрибутов отсюда убедитесь, что они не начинаются с пробелов.
Также укажите секретный RADIUS ключ (как вы указали на контроллере) для работы CoA.
Настройте запись о площадке оказания услуги. Обязательно выберите сервер доступа (контроллер) из списка. Это требуется для того, чтобы WNAM мог определить, на какой контроллер отправлять команду RADIUS CoA для подключения абонента к интернету (контроллеров может быть больше одного).
В качестве "дополнительного ID" необходимо обязательно указать индекс (порядковый номер) профиля WLAN/SSID на контроллере, который соответствует вашей гостевой сети. Этот номер соответствует RADIUS-атрибуту Airespace-Wlan-Id, который передает контроллер.
На этом и настройка WNAM закончена.
3. Тестирование
Проведите попытку авторизации в Wi-Fi сети. После завершения авторизации и появления доступа в интернет в интерфейсе WNAM появится запись о новой сессии вида: