Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Блок кода
Cisco-AVPair=subscriber:command=account-loggon
Idle-Timeout=1200
Acct-Interim-Interval=300
Cisco-AVPair=subscriber:vrf=1

Image Added

Далее создаем площадку, к которой у нас будет привязана страница гостевого портала: Конфигурация → Площадки → Создать площадку.

В поле "Тип" выбираем "Площадка", в поле "Разрешенный сервер доступа" выбираем созданный ранее сервер. В поле "Присвоенная IP подсеть или МАС точек доступа" указываем наш пул IP для пользователей портала (сеть Bridge 4 на WLC).

Подсказка
titleВажно!

Таким образом через привязку пулов IP можно привязать разные Площадки с разными порталами авторизации, трафик абонентов которых терминируется на одном WLC (Разрешенный сервер соответственно на разных площадках будет один и тот же).

Image Added

Далее выбираем созданную площадку.
На вкладке "Авторизация" выбираем "Метод" – "Ввод кода с ваучера". Указываем срок валидности ваучера для авторизации. В параметре "Имя страницы" выбираем "Ваучер (по умолчанию)". Данных настроек достаточно для работы Гостевого портала с авторизацией по коду из Ваучера.
Настройка других способов авторизации выходит за рамки данной статьи.

Image Added

Переходим к созданию ваучеров для авторизации: Конфигурация → Гостевая авторизация → Ваучеры → Создать группу ваучеров.

Image Added

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

Image Added

Создаем правило для редиректа на гостевой портал (копируем стандартное правило редиректа и модифицируем его).

Настраиваем правило как на скриншоте приведенном ниже. Источник запроса выбираем проводной (BRAS у нас находится на проводном интерфейсе).
В параметре  "Входящий радиус атрибут" выбираем "NAS-Port-ID" равным тому "location" который указали в настройках Bridge 4 на WLC, на котором терминируется клиентский трафик.
Так мы привяжем данное правило к нашему SSID с гостевым доступом.

Подсказка
titleВажно!

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

Правило аутентификации привязывается к правилу авторизации при помощи тега (внизу скриншота).

Подсказка
titleВажно!

Обратите внимание, чтоб тег был уникальным и совпадал с соответствующим правилом авторизации.
Если сработало правило аутентификации, далее по данному тегу запускается соответствующее правило авторизации.

Image Added
Приступаем к созданию правила аутентификации для доступа клиента в Internet.
Параметры "Источник запроса" и "Входящий RADIUS атрибут" настраиваем так же, как в правиле для редиректа (объяснение выше).

Подсказка
titleВажно!

Обращаем внимание на необходимость уникальности тега, как в примере выше.

Image AddedСоздаем правила авторизации:

Первое правило для редиректа на портал приводим к виду, как на примере ниже.
В результате должен быть ответ протокола Radius формата "Access-Reject" от сервиса авторизации системе BRAS на WLC.

Подсказка
titleВажно!

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

Image Added

Второе правило для предоставления доступа в Internet. В блоке "Применить" параметра "RADIUS атрибуты" необходимо прописать атрибут назначающий сессии клиента сервис  доступа с названием INTERNET, который настроен в виде списка конторля доступа на WLC.

Блок кода
Cisco-Account-Info=AINTERNET

В результате, на данном этапе, должен быть ответ протокола Radius формата "Access-Accept" от сервиса авторизации системе BRAS на WLC. В нем будет содержаться атрибут с указанием наименования сервиса доступного абоненту.

Image Added

Информация
titleЛогика взаимдействия на этапе предоставления доступа в инетрнет

Контроллер WLC в ходе авторизации запрашивает параметры сервиса INTERNET в пакете Radius "Access-Request", а  WNAM, в свою очередь, автоматически отдаёт их в ответном пакете "Access-Accept", где в атрибуте "Cisco-AVPair", со значением "subscriber:traffic-class=INTERNET".
Эта последовательность зашита в логику взаимодействия с оборудованием Eltex и не требует дополнительной настройки.

На этом конфигурация сервиса Netams WNAM завершена.

Debug Netams WNAM

...

Логирование работы правил авторизации.

ониторинг логов работы правил авторизации необходимо перейти в: Диагностика → Корпоративные подключения

Image Added

Блок кода
titleПример лога гостевого Wi-Fi tester Guest Portal Redirect
1: fillFromRadiusAttributes - identity: '78:98:E8:1E:67:07', portType: EthernetMAB
2: fillFromRadiusAttributes - mac: '78:98:E8:1E:67:07'
3: fillFromRadiusAttributes - password: present in request
4: fillFromRadiusAttributes - nas: 'WLC-30 [F.E.]', ip: 100.110.0.246, id: 6614c699fd772e622ebb0689, vendor: ELTEX [enabled]
5: fillFromRadiusAttributes - nas: IP address: 100.110.0.246, identifier: 'null', port: 'location data10'
6: fillFromRadiusAttributes - site: 'test', id: new [enabled]
7: fillFromRadiusAttributes - session id: '3098476543630901255'
8: radius - received 8 attributes in the request: 
    Cisco-AVPair-subscriber:vrf = 1
    User-Name = 78:98:E8:1E:67:07
    Cisco-AVPair-subscriber:CELL = d998075724dc24029b359a8db24682a0
    User-Password = (password length: 8)
    NAS-IP-Address = 100.110.0.246
    Cisco-AVPair-subscriber:l2-interface = softgre 1.4
    Acct-Session-Id = 3098476543630901255
    NAS-Port-Id = location data10
9: filterForPapMacMethod - checkMABPassword: matched captiveportal_pass for 'Редирект для гостевого Wi-Fi tester'
10: authentication - a1profiles candidates: 1 with preliminary processing result: RadiusResponse [state=OK, attributes=[]]
11: authentication - final result: Redirect with policy 'Редирект для гостевого Wi-Fi tester' and tag 'guest-wifi-redirect'
12: authorization - guest redirect
13: radius - send RADIUS REJECT, reason: This will instruct Wi-Fi controller to execute redirect action


Блок кода
titleПример лога гостевого Wi-Fi tester Доступ для гостевого Wi-Fi
1: fillFromRadiusAttributes - identity: '78:98:E8:1E:67:07', portType: EthernetMAB
2: fillFromRadiusAttributes - mac: '78:98:E8:1E:67:07'
3: fillFromRadiusAttributes - password: present in request
4: fillFromRadiusAttributes - nas: 'WLC-30 [F.E.]', ip: 100.110.0.246, id: 6614c699fd772e622ebb0689, vendor: ELTEX [enabled]
5: fillFromRadiusAttributes - nas: IP address: 100.110.0.246, identifier: 'null', port: 'location data10'
6: fillFromRadiusAttributes - site: 'test', id: new [enabled]
7: fillFromRadiusAttributes - session id: '3098476543630901255'
8: radius - received 8 attributes in the request: 
    Cisco-AVPair-subscriber:vrf = 1
    User-Name = 78:98:E8:1E:67:07
    Cisco-AVPair-subscriber:CELL = d998075724dc24029b359a8db24682a0
    User-Password = (password length: 8)
    NAS-IP-Address = 100.110.0.246
    Cisco-AVPair-subscriber:l2-interface = softgre 1.4
    Acct-Session-Id = 3098476543630901255
    NAS-Port-Id = location data10
9: filterForPapMacMethod - checkMABPassword: matched captiveportal_pass for 'Доступ для гостевого Wi-Fi tester'
10: authentication - a1profiles candidates: 1 with preliminary processing result: RadiusResponse [state=OK, attributes=[]]
11: authentication - final result: Allow with policy 'Доступ для гостевого Wi-Fi tester' and tag 'guest-wifi-permit'
12: authorization - a2profiles candidates: 7
13: authorization - final result: Accept with policy 'Доступ для гостевого Wi-Fi'
14: radius - send RADIUS ACCEPT with 1 attributes
15: radius -     attribute: Cisco-Account-Info = AINTERNET
16: addIP - Set IP address 192.168.3.21 on Accounting message (session 3098476543630901255)

Информация использования ваучеров.

Информация о статусе ваучеров находится по пути: Конфигурация → Гостевая авторизация → Ваучеры.
Затем необходимо выбрать нужную группу.

Image Added

Информация клиентов Wi-Fi.

Image Added

Также посмотреть активные клиентские подключения к Wi-Fi можно посмотреть на контроллере WLC командой:

Блок кода
wlc-30# show subscriber-control sessions status

Ниже приведен пример вывода активных клиентских сессий на контроллере WLC:

Блок кода
wlc-30# sh subscriber-control sessions status
Session id             User name         IP address        MAC address         Interface              Domain
--------------------   ---------------   ---------------   -----------------   --------------------   ---------------
3098476543630901251    78:98:E8:1E:67:   192.168.3.21      78:98:e8:1e:67:07   softgre 1.4            --
                       07


Блок кода
wlc-30# sh subscriber-control services counters session-id 3098476543630901251
Service id             Service name      Recv packets     Recv bytes       Send packets     Send bytes
--------------------   ---------------   --------------   --------------   --------------   --------------
3134505340649865218    A INTERNET        4559             3868861          3842             692224


Блок кода
wlc-30# sh wlc clients
MAC User            MAC AP              Hostname AP                      SSID              RSSI      AP-Location         Username
-----------------   -----------------   ------------------------------   ---------------   -------   -----------------   -----------------
78:98:e8:1e:67:07   68:13:e2:02:ea:20   WEP-3ax                          F.E.freeSSID      -35       default-location    --

На сервере WNAM лог авторизации пользователей находится в файле: /home/wnam/logs/wnam.log

Блок кода
titleПример вывода логов авторизации файла /home/wnam/logs/wnam.log
11:33:41.702 DEBUG [EltexWlcService.java:196] - CP ELTEX WLC clicked: username=78:98:E8:1E:67:07, ip=192.168.3.21, server=100.110.0.246, sessionId=3098476543630901255, dst='http://www.msftconnecttest.com/redirect'
11:33:41.716 DEBUG [PageGenerator.java:713] - processAuthRequest ELTEXWLC: username=78:98:E8:1E:67:07, ip=192.168.3.21, server=100.110.0.246, site_id=new, domain_id=3098476543630901255, dst='http://www.msftconnecttest.com/redirect' adv curr/max=1/1
11:33:41.719 DEBUG [PageGenerator.java:1300] - captive portal redirected to VOUCHER page, username=78:98:E8:1E:67:07, cust=new, form='6614c99dfd772e622ebb06a7'
11:34:13.380 DEBUG [VoucherHandler.java:52] - postVoucher CODE='V3U5', FORM=6614c99dfd772e622ebb06a7, MAC=78:98:E8:1E:67:07, IP=192.168.3.21, site_id=new, name=78:98:E8:1E:67:07
11:34:13.382 DEBUG [VoucherHandler.java:62] - find_voucher: 66b34731933c505a427dad16, code=V3U5, status=Не активирован
11:34:13.395 DEBUG [VoucherHandler.java:125] - postVoucher OK CODE='V3U5', voucher='Группа: WNAM-WLC_01, владелец: admin', vg='WNAM-WLC_01'
11:34:13.399 DEBUG [PageGenerator.java:390] - processRedirectRequestCi mac=78:98:E8:1E:67:07, method=ORIGINAL, formName=, redirectUrl=null, key=b04fb14d-36fb-4c30-a886-bfbab119088c
11:34:13.401 DEBUG [PageGenerator.java:849] - loginAtNasCi ELTEXWLC mac=78:98:E8:1E:67:07, ip=192.168.3.21, server=100.110.0.246, dst='http://www.msftconnecttest.com/redirect'
11:34:13.406 DEBUG [EltexWlcService.java:66] - backToEltexWLC login server='100.110.0.246', user=78:98:E8:1E:67:07, password=password, dst='http://www.msftconnecttest.co...'
11:34:13.407 DEBUG [EltexWlcService.java:85] - open EltexWLC access REQ for IP=192.168.3.21, MAC=78:98:E8:1E:67:07 at NAS_IP=100.110.0.246
11:34:13.411 DEBUG [WnamRadiusService.java:558] - handleRadiusPacket AUTH as=100.110.0.246, secret_len=10, attrs=[Vendor-Specific: 0x, User-Name: 78:98:E8:1E:67:07, User-Password: <stripped out>, NAS-IP-Address: 100.110.0.246, Acct-Session-Id: 3098476543630901255, Vendor-Specific: 0x, Vendor-Specific: 0x, NAS-Port-Id: location data10]
11:34:13.411 DEBUG [ProfilingService.java:440] - handleMac on MAC: 78:98:E8:1E:67:07 for vendor D-Link International
11:34:13.412 DEBUG [ProfilingService.java:466] - handleMac on MAC: 78:98:E8:1E:67:07 checks added: 1, res: [D-Link International]
11:34:13.414 DEBUG [ProfilingService.java:1091] - Endpoint 78:98:E8:1E:67:07 logical profile set to Home Network Devices
11:34:13.414 DEBUG [ProfilingService.java:1102] - Endpoint 78:98:E8:1E:67:07 policy set assigned: [DLink-Device]
11:34:13.416 DEBUG [ProfilingService.java:469] - handleMac on MAC: 78:98:E8:1E:67:07 profiled in 5 ms.
11:34:13.433 DEBUG [WnamRadiusService.java:558] - handleRadiusPacket AUTH as=100.110.0.246, secret_len=10, attrs=[User-Name: INTERNET, Vendor-Specific: 0x, NAS-IP-Address: 100.110.0.246, NAS-Port-Id: location data10, User-Password: <stripped out>, Vendor-Specific: 0x, Vendor-Specific: 0x, Acct-Session-Id: 3134505340649865221, Vendor-Specific: 0x, Vendor-Specific: 0x, Vendor-Specific: 0x]
11:34:13.434 DEBUG [WnamRadiusService.java:558] - handleRadiusPacket ACCT as=100.110.0.246, secret_len=10, attrs=[User-Name: 78:98:E8:1E:67:07, Vendor-Specific: 0x, Acct-Session-Id: 3098476543630901255, Acct-Status-Type: Start, Vendor-Specific: 0x, Event-Timestamp: 1723436510, NAS-Port-Id: location data10, Called-Station-Id: CC-9D-A2-71-94-E0:data10, Vendor-Specific: 0x, Vendor-Specific: 0x, Vendor-Specific: 0x, NAS-Identifier: F.E.wlc-30, Framed-IP-Address: 192.168.3.21, Calling-Station-Id: 78-98-E8-1E-67-07, NAS-IP-Address: 100.110.0.246]
11:34:13.435 DEBUG [WnamRadiusService.java:558] - handleRadiusPacket ACCT as=100.110.0.246, secret_len=10, attrs=[User-Name: 78:98:E8:1E:67:07, Vendor-Specific: 0x, Acct-Session-Id: 3098476543630901255, Acct-Status-Type: Interim-Update, Vendor-Specific: 0x, Event-Timestamp: 1723436806, NAS-Port-Id: location data10, Called-Station-Id: CC-9D-A2-71-94-E0:data10, Vendor-Specific: 0x, Vendor-Specific: 0x, Vendor-Specific: 0x, NAS-Identifier: F.E.wlc-30, Framed-IP-Address: 192.168.3.21, Calling-Station-Id: 78-98-E8-1E-67-07, Vendor-Specific: 0x, Vendor-Specific: 0x, Acct-Input-Gigawords: 0, Acct-Input-Octets: 128192, Acct-Output-Gigawords: 0, Acct-Output-Octets: 149134, Acct-Session-Time: 286, NAS-IP-Address: 100.110.0.246]
11:34:13.436 DEBUG [EltexWlcService.java:176] - sendCoa attrs=8, fail=false, resp=CoA-ACK
11:34:13.437 DEBUG [EltexWlcService.java:148] - open EltexWLC access SUCCESS for IP=192.168.3.21, MAC=78:98:E8:1E:67:07, num_avp=1
11:34:13.440 DEBUG [WnamRadiusService.java:558] - handleRadiusPacket ACCT as=100.110.0.246, secret_len=10, attrs=[User-Name: INTERNET, Vendor-Specific: 0x, Acct-Session-Id: 3134505340649865221, Vendor-Specific: 0x, Acct-Status-Type: Start, Vendor-Specific: 0x, Event-Timestamp: 1723436806, NAS-Port-Id: location data10, Called-Station-Id: CC-9D-A2-71-94-E0:data10, Vendor-Specific: 0x, Vendor-Specific: 0x, Vendor-Specific: 0x, NAS-Identifier: F.E.wlc-30, Framed-IP-Address: 192.168.3.21, Calling-Station-Id: 78-98-E8-1E-67-07, NAS-IP-Address: 100.110.0.246]
11:34:13.450 DEBUG [WnamCmdService.java:630] - ACCT Interim-Update new session ID=3098476543630901255, MAC=78:98:E8:1E:67:07, IP=192.168.3.21, User=78:98:E8:1E:67:07, NAS_IP=100.110.0.246, site_id=new
11:34:13.450 DEBUG [WnamCmdService.java:630] - ACCT Start new session ID=3098476543630901255, MAC=78:98:E8:1E:67:07, IP=192.168.3.21, User=78:98:E8:1E:67:07, NAS_IP=100.110.0.246, site_id=new
11:34:13.450 DEBUG [WnamCmdService.java:630] - ACCT Start new session ID=3098476543630901255, MAC=78:98:E8:1E:67:07, IP=192.168.3.21, User=INTERNET, NAS_IP=100.110.0.246, site_id=new