При настройке SSID на контроллере, включении опции "MAC авторизация" и выборе значения "использовать RADIUS сервер" в списке порталов (т.е. без использования предварительно настроенных портальных серверов), для SSID будет настроена MAB авторизация и динамическая передача URL редиректа для клиента, получаемого из атрибутов RADIUS ответа от данного сервера. Данный режим работы реализован подобно Cisco CWA и работает следующим образом (в данном примере в качестве RADIUS сервера и гостевого портала используется WNAM):
- При подключении клиента к точке доступа она направляет контроллеру сообщение о подключении клиента, при этом клиенту ограничен доступ в сеть куда-либо;
- При получении от точки сообщения о подключении клиента контроллер генерирует и направляет MAB (MAC Address Bypass) запрос на RADIUS сервер (одиночный или текущий активный из группы серверов, если она выбрана в настройках SSID) с атрибутом
Connect-Info = "mab"
. - Типичный пакет, отправляемый контроллером на RADIUS сервер выглядит следующим образом:
Access-Request Id 5 br-eth0:10.241.200.90:57263 -> 172.16.133.143:1812 +0.000
User-Name = "C6:6D:BB:C7:48:76"
User-Password = "C6:6D:BB:C7:48:76"
NAS-IP-Address = 10.241.200.90
NAS-Port = 1
Service-Type = Call-Check
Called-Station-Id = "00:00:00:00:00:00:guest_radius"
Calling-Station-Id = "C6:6D:BB:C7:48:76"
NAS-Identifier = "radiustest"
NAS-Port-Type = Wireless-802.11
Connect-Info = "mab"
WISPr-Location-ID = "6808250782dd8b5014622967"
WISPr-Location-Name = "test_group"
Fplus-Wlan-Id = 7
Fplus-AP-Name = "ax820_test_ap"
Fplus-Sta-RSSI = 0
Fplus-Sta-Channel = 40
- После отправки запроса контроллер ожидает от RADIUS сервера ответа Access-Accept с атрибутами URL редиректа и разрешенными адресами для клиента, либо Access-Reject для отключения клиента от сети. Контроллер ожидает в ответе следующие атрибуты:
- Fplus-Redirect-URL - URL для редиректа;
- Fplus-Whitelist-Resource - разрешенный IP адрес, к которому клиент будет иметь доступ. Возможно назначение нескольких атрибутов такого типа в запросе. Для корректной работы гостевой авторизации сервер должен передавать как минимум один атрибут с IP адресом гостевого портала.
- Типичный пакет, который ожидает контроллер от сервера выглядит следующим образом:
Access-Accept Id 5 br-eth0:10.241.200.90:57263 <- 172.16.133.143:1812 +0.036 +0.036
Fplus-Redirect-URL = "http://172.16.133.143/cp/wico"
Fplus-Whitelist-Resource = "172.16.133.143"
- После получения ответа с необходимыми атрибутами контроллер передает их точке доступа для последующего перенаправления данного клиента точкой доступа на гостевой портал;
- После авторизации клиента на гостевом портале RADIUS сервер должен направить контролеру CoA запрос на авторизацию клиента, на что контроллер отвечает CoA-ACK пакетом. В CoA запросе RADIUS сервером может направляться атрибут
User-Name
, который контроллер может установить в качестве имени пользователя в записи клиента в базе данных. - Типичный CoA запрос и ответ выглядят следующим образом:
CoA-Request Id 18 br-eth0:172.16.133.143:53560 -> 10.241.200.90:3799 +14.718
User-Name = "79001234567"
Calling-Station-Id = "C6:6D:BB:C7:48:76"
CoA-ACK Id 18 br-eth0:172.16.133.143:53560 <- 10.241.200.90:3799 +14.721 +0.003
- После получения CoA запроса контроллер направляет на RADIUS сервер дополнительный MAB запрос с атрибутом
Connect-Info = "coa"
для подтверждения авторизации клиента. В этом запросе также передаются данные об IP адресе клиента, а также BSSID точки доступа. - Типичный запрос выглядит следующим образом:
Access-Request Id 8 br-eth0:10.241.200.90:40417 -> 172.16.133.143:1812 +14.725
User-Name = "C6:6D:BB:C7:48:76"
User-Password = "C6:6D:BB:C7:48:76"
NAS-IP-Address = 10.241.200.90
NAS-Port = 1
Service-Type = Call-Check
Framed-IP-Address = 10.11.20.213
Called-Station-Id = "08:9B:4B:1A:50:33:guest_radius"
Calling-Station-Id = "C6:6D:BB:C7:48:76"
NAS-Identifier = "radiustest"
NAS-Port-Type = Wireless-802.11
Connect-Info = "coa"
WISPr-Location-ID = "6808250782dd8b5014622967"
WISPr-Location-Name = "test_group"
Fplus-Wlan-Id = 7
Fplus-AP-Name = "ax820_test_ap"
Fplus-Sta-RSSI = 4294967246
Fplus-Sta-Channel = 40
Authenticator-Field = 0xc4e65be2194c4da80ec52fa446a8f146
- При получении ответа
Access-Accept
контроллер направляет на точку доступа команду авторизации клиента и он получает полный доступ к сети. - Типичный ответ RADIUS сервера выглядит следующим образом:
Access-Accept Id 8 br-eth0:10.241.200.90:40417 <- 172.16.133.143:1812 +14.758 +0.033
User-Name = "79001234567"
Session-Timeout = 120
Message-Authenticator = 0x24141e0436db6f699cb804df9b9620ae
Authenticator-Field = 0xcc12ed007d96cbd00065892e365e2603
Данный вариант настройки гостевой авторизации более предпочтителен по сравнению с отдельной сущностью "Портала" в настройках контроллерах, так как позволяет настроить балансировку между RADIUS-серверами (и соответственно портальными системами авторизации), расположенными в разных ЦОД, в том числе и в "active-active" режиме, а также настройку адреса гостевого портала поклиентно.