Начиная с версии 1.4.1391 WNAM поддерживает работу с контроллером по новому механизму авторизации.
Этот способ разработан Cisco для взаимодействия контроллера с программным обеспечением Cisco ISE, однако WNAM полностью эмулирует поведение ISE в данной задаче. Документация по настройке контроллера и ISE доступна на сайте производителя.
Традиционный способ веб-авторизации на контроллере Cisco построен на основе:
- перехвата трафика новой веб-сессии контроллером и перенаправления пользователя на заданную на контроллере ссылку
- авторизации на внешней системе (WNAM)
- перенаправления пользователя обратно на контроллер, на его виртуальный интерфейс
- авторизации пользователя контроллером на RADIUS-сервере и перенаправления пользователя в интернет
Этот механизм с точки зрения пользователя представляет собой цепочку редиректов, что отрицательно сказывается на его восприятии сервиса. Этот метод также требует точной настройки DNS, SSL-сертификата. Иногда даже корректно авторизованный абонент перенаправляется на URL контроллера http://1.1.1.1/ и сессия на этом застревает.
Для того, чтобы исключить эти дополнительные редиректы, новый метод CWA основан на следующем:
- при подключении устройства абонента к сети контроллером проводится RADIUS-запрос к серверу политики (WNAM) с целью получить ACL и URL перенаправления
- проводится перехват трафика новой веб-сессии и перенаправление пользователя на полученную ссылку (без редиректа на контроллер)
- осуществляется авторизация на внешней системе (WNAM)
- по завершении авторизации WNAM сообщает контроллеру по протоколу RADIUS CoA о необходимости реавторизации сессии пользователя
- производится повторная авторизация пользователя контроллером на RADIUS-сервере и применение полученной политики "пропуска"
- WNAM осуществляет перенаправление пользователя на заданную ссылку
При этом с точки зрения пользователя нет дополнительных редиректов, и ассоциированных с этим проблем.
Для настройки CWA необходимо вначале настроить SSID, точки доступа, маршрутизацию, DHCP и протестировать обычный доступ в интернет без авторизации.
В приведенных ниже примерах используются следующие адреса:
- 172.16.130.13 - RADIUS-сервер WNAM
- 172.16.130.5 порт 8080 - административный и абонентский интерфейс WNAM
- 10.208.144.213 - контроллер Cisco vWLC с ПО версии 8.0.140.0
- 10.208.148.0/24 - сеть для устройств беспроводных абонентов
- SSID - tmp
В вашем случае сервер WNAM может использовать один адрес, т.е. оба компонента (веб-часть и RADIUS-сервер) размещены на одном сервере. Также IP-адреса, указанные в примере, вы должны заменить на собственные IP-адреса, соответствующие структуре вашей сети.
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 появится запись о новой сессии вида: