Начиная с версии 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;
  • конфигурация сети - Central switching, т.е. абонентский трафик терминируется на сети на стороне контроллера.

Об особенностях настройки системы в конфигурации FlexConnect Local switching (абонентский трафик терминируется на сети на стороне точки доступа) информация представлена ниже.

1. Настройка контроллера

В первую очередь, необходимо настроить SSID в режиме "без авторизации" и проверить, что абонент беспроводной сети имеет доступ в сеть Интернет, то есть работают радио-часть, DHCP, NAT и  маршрутизация.

Также можно выполнить все настройки по представленной инструкции, но перед проверкой схемы с авторизацией отключить все настройки, связанные с перенаправлением (MAC Filtering, сервера authentication и authorization). Для этого в интерфейсе администратора контроллера необходимо создать запись о RADIUS-сервере, указав секретный ключ и IP-адрес.

Затем необходимо создать метод Authentication.

Далее следует создать метод Authorization.

Также необходимо создать метод Accounting.

Необходимо указать дополнительные настройки RADIUS, в частности, интервал обновлений аккаунтинга и формат данных в RADIUS-пакетах.

Далее следует создать политику обработки трафика, которую потом необходимо применить к настраиваемой сети. Следует обратить внимание, что используемая сеть имеет свойство Central switching.

Политика доступа включает профилирование трафика абонентов, а также локальный (для контроллера) VLAN, куда абоненты будут подключаться. Включение глобальной классификации производится в разделе "Configuration" → "Wireless" → "Wireless Global" (подробнее об этом на сайте Cisco). 

Необходимо указать расширенные настройки, помимо прочего, привязать политику к ААА-серверу.

Затем необходимо настроить сам профиль беспроводной сети WLAN, задав SSID и другие настройки. В части авторизации необходимо выбрать открытую сеть и свойство MAC Filtering, также указать ссылку на метод авторизации.

Затем следует привязать профиль к политике и запомнить, что профиль имеет номер 1 (данная информация потребуется в дальнейшем). 

Далее необходимо создать тэг политики (policy tag) - ещё одну связку.

Необходимо привязать его к локации (сайту), где в терминологии контроллера (не системы WNAM) находятся точки доступа. Следует обратить внимание на чекбокс "Local Site". Данный чекбокс определяет, что точки доступа на этом сайте находятся в Local, а не FlexConnect режиме.

Затем необходимо привязать все эти тэги, сайты и политики к точке доступа.

Для такой привязки есть удобный визард (даже два) в разделе "Wireless Setup".

Следует обратить внимание, что нигде не задаётся имя URL перенаправления на внешний сервер системы WNAM. Эта информация поступит на контроллер в RADIUS-ответе в специальных атрибутах. Там же поступит имя списка доступа и ACL, который необходимо предварительно создать на контроллере. Это делается в меню "Configuration" → "ACL". Список доступа в явном виде (в настройках контроллера) не применяется ни к профилю SSID, ни к политике. Список доступа определяет правила пропуска неавторизованного трафика абонента.

В контроллерах на базе IOS XE формат списка доступа противоположен формату, применяемому в контроллерах предыдущего поколения. Там где раньше было правило типа "permit", требуется указывать "deny" и наоборот.

Далее необходимо создать список доступа с именем (в примере используется имя: wnam_acl_xe), которое необходимо обязательно запомнить. Данное имя потребуется позже при настройке сервера доступа системы WNAM.

Затем необходимо задать правила доступа к DNS-серверам и к используемому серверу системы WNAM (можно по IP-адресу или с указанием TCP-портов). Это правило типа "permit any any".

На этом настройка контроллера завершена. Также можно посмотреть на настройки контроллера в формате текстового файла для CLI (здесь).

2. Настройка системы WNAM

В разделе "Конфигурация" → "Сервера доступа" необходимо создать запись о сервере доступа типа Cisco WLC (сервер доступа - контроллер), где указать адрес, имя и местоположение (логин и пароль не используются).

Во вкладке RADIUS необходимо указать в параметрах "Атрибуты предварительной авторизации":

  • cisco-avpair=url-redirect=http://имя_вашего_сервера_wnam/cp/cisco?%URL%;
  • cisco-avpair=url-redirect-acl=wnam_acl_xe.

При этом, имя ACL должно соответствовать тому имени, что ранее создали на контроллере. Параметр %URL% будет заменен системой WNAM при формировании ответа контроллеру. При копировании атрибутов из данных параметров следует убедиться, что они не начинаются с пробелов.

Также необходимо указать секретный RADIUS ключ (который указали на контроллере в настройках ААА-сервера) и включить МАС-авторизацию.

Если сеть, в которой находится контроллер, ещё не была глобально разрешена для работы системы WNAM в настройках "Конфигурация" → "Дополнительные настройки" (ключ "radiusd_networks"), необходимо добавить сеть.

Для возможности сброса сессии абонента с контроллера из интерфейса администратора системы WNAM необходимо установить параметр "uppercase_session_id" в поле "true" в разделе "Конфигурация" → "Дополнительные настройки".

Затем необходимо настроить запись о площадке оказания услуги (раздел "Конфигурация" → "Площадки"). В качестве параметра "Дополнительный ID" необходимо указать индекс (порядковый номер) профиля WLAN/SSID на контроллере, который соответствует вашей гостевой сети. Этот номер соответствует RADIUS-атрибуту Airespace-Wlan-Id, который передает контроллер. Также можно указать название сети (SSID).

На этом и настройка системы WNAM завершена.

3. Тестирование работоспособности

В первую очередь, необходимо произвести попытку авторизации в Wi-Fi сети. На контроллере абонент должен находиться в состоянии "WebAuth Pending", при этом, к абоненту применится политика перенаправления и ACL.

В лог файле системы WNAM (в файле /home/wnam/logs/wnam.log) появятся строки, говорящие о срабатывании подключения:

21:11:49.743 DEBUG [c.n.wnam.services.WnamCmdService:1307] - Cisco CWA AUTH MAC=74:9E:AF:6C:3F:20, NAS_IP=93.180.6.168, CUST=existing, site_id=262
21:11:51.254 DEBUG [c.n.wnam.services.WnamCmdService:671] - ACCT Start new session ID=A806B45D00000063CB9DBB06, MAC=74:9E:AF:6C:3F:20, IP=null, User=749eaf6c3f20, NAS_IP=93.180.6.168, site_id=262
21:11:51.283 DEBUG [c.n.wnam.services.WnamCmdService:671] - ACCT Interim-Update new session ID=A806B45D00000063CB9DBB06, MAC=74:9E:AF:6C:3F:20, IP=10.241.144.103, User=749eaf6c3f20,
NAS_IP=93.180.6.168, site_id=262
21:11:53.524 DEBUG [c.n.wnam.services.WnamCmdService:671] - ACCT Interim-Update existing session ID=A806B45D00000063CB9DBB06, duration=00:00:02, MAC=74:9E:AF:6C:3F:20, IP=10.241.144.103,
User=749eaf6c3f20, NAS_IP=93.180.6.168, site_id=262

Если в логе данные записи отсутствуют либо появляется три подряд события типа "Cisco CWA AUTH", значит применен неправильный RADIUS-ключ или не настроен доступ (не проходят пакеты) протокола RADIUS. Следует обратить внимание, что IP-адрес мобильное устройство получает не сразу, а только после срабатывание CWA Auth запроса. Два события подряд типа "Accounting-Interim" сообщают о присвоении IPv4 и IPv6 адресов. После этого срабатывает хотспот-авторизация (CNA) на мобильном устройстве (появление всплывающего окна) с отображением страниц авторизации/приветствия:

21:11:54.638 DEBUG [c.n.w.services.vendors.AuthHandler:28] - CP cisco minibrowser: iOS/hotspot
21:11:54.639 DEBUG [c.n.w.services.vendors.CiscoService:170] - CP cisco redirect: client_mac=74:9E:AF:6C:3F:20, wlan=IOS_XE_Test, ip=10.241.144.103, dst='', switch_url='93.180.6.168'
21:11:54.679 DEBUG [com.netams.wnam.web.cp.PageGenerator:638] - processAuthRequest CISCO: username=74:9E:AF:6C:3F:20, ip=10.241.144.103, CNA, server=93.180.6.168, site_id=262,
domain_id=A806B45D00000063CB9DBB06, dst='http://bash.im' adv curr/max=1/1
21:11:54.683 DEBUG [com.netams.wnam.web.cp.PageGenerator:387] - processRedirectRequestCi mac=74:9E:AF:6C:3F:20, method=FORM, formName=58bdc4965e4df6273ac60210, redirectUrl=http://bash.im,
key=0a9c38fc-7d58-45b3-adde-c03ede1b34bf

Авторизация завершается нажатием абонентом кнопки перехода в сеть Интернет и следующей цепочкой RADIUS-событий:  

21:11:56.865 DEBUG [c.n.w.web.cp.CaptivePortalController:2049] - webLoginCi: site_id=262, username=74:9E:AF:6C:3F:20, dst='http://bash.im', dst_extra='http://bash.im'
21:11:56.866 DEBUG [com.netams.wnam.web.cp.PageGenerator:767] - loginAtNasCi CISCO mac=74:9E:AF:6C:3F:20, ip=10.241.144.103, server=93.180.6.168, dst='http://bash.im'
21:11:56.889 DEBUG [c.n.w.services.vendors.CiscoService:130] - backToCiscoCwa CoA status=true, response=CoA-ACK, MAC=74:9E:AF:6C:3F:20, controller IP=93.180.6.168, dst='http://bash.im'
21:11:56.933 DEBUG [c.n.wnam.services.WnamCmdService:1433] - AUTH for existing session ID=a806b45d00000063cb9dbb06, request MAC=74:9E:AF:6C:3F:20, IP=10.241.144.103, site_id=262
21:11:57.005 DEBUG [c.n.wnam.services.WnamCmdService:671] - ACCT Interim-Update existing session ID=A806B45D00000063CB9DBB06, duration=00:00:05, MAC=74:9E:AF:6C:3F:20, IP=10.241.144.103,
User=749eaf6c3f20, NAS_IP=93.180.6.168, site_id=262
21:11:58.936 DEBUG [c.n.wnam.services.WnamCmdService:671] - ACCT Interim-Update existing session ID=A806B45D00000063CB9DBB06, duration=00:00:07, MAC=74:9E:AF:6C:3F:20, IP=10.241.144.103,
User=749eaf6c3f20, NAS_IP=93.180.6.168, site_id=262
21:12:20.591 DEBUG [c.n.wnam.services.WnamCmdService:671] - ACCT Stop existing session ID=A806B45D00000063CB9DBB06, duration=00:00:29, MAC=74:9E:AF:6C:3F:20, IP=10.241.144.103, User=749eaf6c3f20,
NAS_IP=93.180.6.168, site_id=262

С точки зрения контроллера, абонентское подключение переходит в состояние "Run", а примененный временный ACL убирается.

При этом, в веб-интерфейсе системы WNAM появляется запись о сессии следующего вида.

Идущую в настоящий момент сессию абонента также возможно остановить вручную, нажав на соответствующую кнопку в  параметрах записи о сессии абонента в разделе "Сессии" ("Стоп", "Стоп + блок").

При повторной авторизации (если сработали условия прозрачного входа абонента) RADIUS-цепочка событий сокращается:

22:25:54.083 DEBUG [c.n.wnam.services.WnamCmdService:1227] - AUTH transparent next session MAC=74:9E:AF:6C:3F:20, NAS_IP=93.180.6.168, site_id=262, back=0 s., counter=1, PERMIT
22:25:55.166 DEBUG [c.n.wnam.services.WnamCmdService:671] - ACCT Start new session ID=A806B45D00000064CBE18CF6, MAC=74:9E:AF:6C:3F:20, IP=10.241.144.103, User=749eaf6c3f20, NAS_IP=93.180.6.168, site_id=262
22:25:59.103 DEBUG [c.n.wnam.services.WnamCmdService:671] - ACCT Interim-Update existing session ID=A806B45D00000064CBE18CF6, duration=00:00:03, MAC=74:9E:AF:6C:3F:20, IP=10.241.144.103, User=749eaf6c3f20, NAS_IP=93.180.6.168, site_id=262

В этом случае абонент сразу получает доступ в сеть Интернет.

3. Особенности настройки в режиме FlexConnect

В режиме FlexConnect точка доступа может работать по более медленным каналам связи с контроллером и с большей задержкой взаимодействия, т.е. в более автономном виде, принимая часть функций контроллера на себя. При этом, возможна реализация режима Local switching, при котором трафик беспроводного абонента терминируется в VLAN прямо на точке доступа, а не уходит на контроллер.

Настройка системы WNAM для работы сети в FlexConnect режиме ничем не отличается от традиционного локального режима. RADIUS-трафик обменивается данными с контроллером, т.е. система WNAM по-прежнему не взаимодействует с точкой доступа напрямую. Поведение беспроводного абонента и последовательность шагов при его подключении такие же. Настройка беспроводного контроллера, при этом, несет ряд отличий.

Информацию о настройке FlexConnect режима можно посмотреть в соответствующих разделах производителя контроллера (здесьздесь и здесь). По сравнению с обычной конфигурацией, необходимо сделать Flex профиль, связать его с профилем SSID и с точкой доступа. В данном примере сайт, группа и т.п. имеют префикс AB8, SSID и RADIUS-настройки, а также прежние ACL. Точка доступа и беспроводные клиенты находятся в сети 172.16.131.0/24. Текстовая конфигурация контроллера (CLI) находится здесь, а настройка через GUI описана далее.

Для Flex политики обязательно нужно выбрать ранее созданный ACL, указать, что он используется для CWA. Контроллер предварительно загрузит его в точку доступа, который будет выглядеть так:

ip access-list extended wnam_acl_xe
permit udp any range 0 65535 any eq domain
permit udp any eq domain any range 0 65535
permit ip any host 172.16.131.5
permit ip host 172.16.131.5 any
deny ip any any

Следует обратить внимание, что в данном случае ACL классический с традиционным порядком и значениями permit/deny.

Также необходимо задать VLAN, в который будет терминироваться локально трафик клиента на точке доступа.

Необходимо создать новую политику, которая определяет тип свитчинга трафика (локальный), при этом, авторизация-центральная.

Необходимо указать, в какой локальный (для точки доступа) VLAN попадает трафик клиента.

Затем необходимо привязать старые AAA политики и убрать чекбокс с VLAN Central Switching, эффективно делаю эту политику Flex-политикой.

Тэг должен связывать политику и WLAN профиль, т.е. SSID.

Для сайта необходимо привязать ранее определенные политики (чекбокс у Local Site в данном случае отсутствует). Точка доступа на этом сайте переходит в режим Flex.

В данном разделе интерфейса администратора контроллера можно вручную привязать заданную точку доступа к тэгу.

После выполненных выше настроек в представлении Wireless setup можно увидеть сайт с привязанными ACL и т.п. Добавлять AAA-сервер на точку доступа не требуется.

После подключения абонента к Wi-Fi сведения о его статусе работы показывают, что применились Flex политики с локальным свичингом и центральной авторизацией, при этом, клиент находится в локальном VLAN, где и точка доступа.


  • No labels