При настройке 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" режиме, а также настройку адреса гостевого портала поклиентно.

  • No labels