Начиная с версии 1.4 система WNAM поддерживает взаимодействие с Wi-Fi точками доступа Rotek (http://www.rotek.ru)Поддержка . Поддержка данного оборудование функционально эквивалентна устройствам на базе CooveChilli, однако, настройка имеет ряд особенностей. Тестирование проводилось на точек точках доступа RT-BR24-WFN2E v2 с версией прошивки v7.54-5.43635.
Первоначальная настройка точки доступа (обновление прошивки, имя устройства, логин-пароль, IP-адресация, SSID и его безопасность) должны проводиться согласно инструкциям производителя.После После этого необходимо настроить Wi-Fi сеть с гостевым порталом (режим Hotspot UAM). Перейдите Для этого следует перейти в окно настройки SSID:.
Выберите Затем выбрать для радио-сети режим безопасности "Hotspot (UAM)", этим активируется . Данный режим активирует сервис хотспота на точке.
Укажите Затем во вкладке "WIRELESS AP SETTINGS" необходимо указать IP-адрес сервера WNAM в качестве адреса RADIUS primary Primary server, а также Server secret (ключ). Эта точка доступа (хотспот) должны быть прописаны на сервере WNAM в конфигурации "freeradius" в файле /etc/freeradius/clients.conf.
Если вы используете пересекающиеся требуется использование пересекающихся IP-адресные пространства адресных пространств на сетях клиентов (вероятнее всего, это так), до для разделения статистики по абонентам в системе WNAM между площадками необходимо указать идентификатор площадки - это поду WISPr во вкладке "WISPr" в параметре "Location Name:".
Вы должны Затем следует указать хотспоту необходимость использования внешнего (external) сервера управления и идентификации. Укажите Для этого в параметре "Login URL" необходимо указать ссылку на сервер WNAM в формате http://имясервера:порт/cp/rotek.
В окне настройки безопасности SSID выберите Open в параметре "Security" следует выбрать значение "Open" (сеть без пароля) или любой другой предпочтительный вариант.
Укажите Затем следует указать диапазон IP-адресов, из которых абоненты вашей сети будут получать IP-адреса, а также адрес самого хотспота и DNS-сервера.
...
В списке разрешенных адресов - White list - (доступных абоненту до авторизации) необходимо разрешить доступ до сервера WNAM , и до DNS-сервера по их IP-адресам.
На этом настройка точки доступа закончена. Не забудьте сохранить её конфигурацию, а для надежности - перезагрузить точку доступа и убедиться, что все введенные параметры сохранились.
Теперь Далее необходимо настроить сервер WNAM. В настройках "Конфигурация-" → "Сервера доступа" создайте необходимо создать новую запись соответствующего типа. В качестве IP-адреса укажите следует указать адрес хотспота точки доступа. Логин и пароль - не используются в настоящий момент.
Затем сделует следует создать запись о площадке (локации) оказания услуги. Обратите Следует обратить внимание на имя (номер площадки) - он должен совпасть с WISPr Location Name, а также на диапазон сети абонентов (192.168.5.0/24 в примере). Укажите Необходимо указать также разрешенный сервер доступа (только что настроенную запись).
что настроенную запись). Для этого необходимо перейти в раздел "Конфигурация" → "Площадки" во вкладку "Параметры" и указать соответствующие параметры.
После произведенных настроек необходимо выполнить попытку Попробуйте выполнить подключение к Wi-Fi сети абонентским устройством , и пройти цикл авторизации. При этом интерфейс точки доступа отобразит должен отобразить статус подключения:.
В дополнение к этому, интерфейс системы WNAM будет фиксировать состояние сессии подключения :(раздел "Сессии").
Warning |
---|
...
Возможность "останова сессии" в настоящий момент не поддерживается! |
В момент авторизации в лог-файле wnam.log будут присутствовать записи , аналогичные этимвида:
10:17:21.275 DEBUG [c.n.w.web.cp.CaptivePortalController:586] - CP Rotek redirect: cid=4C:57:CA:XX:XX:XX, ip=192.168.5.3, ap='ec:4c:4d:56:35:28', Rotek=192.168.5.66:3990
10:17:21.320 DEBUG [c.n.w.web.cp.CaptivePortalController:1929] - processAuthRequest ROTEK: username=4C:57:CA:XX:XX:XX, ip=192.168.5.3, server=192.168.5.66:3990, site_id=16, domain_id=b52e73ebe0e0ea9031343b07a6573c74, dst='http://provider.ru/'
10:17:21.320 DEBUG [c.n.w.web.cp.CaptivePortalController:2088] - processRedirectRequestCi mac=4C:57:CA:XX:XX:XX, method=FORM, formName=58ced8183b22c81878411fad, redirectUrl=http://provider.ru/, key=87b0afbd-2c66-4d75-9dad-88a43c2fe0dc
10:17:22.990 DEBUG [c.n.w.web.cp.CaptivePortalController:1793] - RedirectCi login: site_id=16, username=4C:57:CA:XX:XX:XX, dst='http://provider.ru/', dst_extra='null'
10:17:22.993 DEBUG [c.n.w.web.cp.CaptivePortalController:2491] - loginAtNasCi ROTEK mac=4C:57:CA:XX:XX:XX, ip=192.168.5.3, server=192.168.5.66:3990, dst='http://provider.ru/'
10:17:23.004 DEBUG [com.netams.wnam.web.cp.CoovaChilli:43] - backToRotek login len=509, server='192.168.5.66:3990', username=4C:57:CA:XX:XX:XX, enc_password=c54f0098978f98f4, dst='http://provider.ru/'
10:17:23.093 INFO [WnamRadius:594] - AUTH for new session ID=57739d0f00000001-2c0f4c, request MAC=4C:57:CA:XX:XX:XX, IP=192.168.5.3, cust_clientid=
10:17:23.109 INFO [WnamRadius:767] - ACCT Start new session ID=57739d0f00000001-2c0f4c, MAC=4C:57:CA:XX:XX:XX, IP=192.168.5.3, NAS=192.168.5.66
Если при подключении возникли проблемы в части RADIUS-взаимодействия, рекомендуется запустить freeradius в режиме отладки (freeradius -X). Корректная последовательность событий авторизации и аккаунтинга приведена ниже:
rad_recv:
...
Access-Request
...
packet
...
from
...
host
...
172.16.130.69
...
port
...
53106,
...
id=59,
...
length=273
...
ChilliSpot-Version
...
=
...
"1.3.0"
...
User-Name
...
=
...
"4C:57:CA:XX:XX:XX"
...
User-Password
...
=
...
"password"
...
Service-Type
...
=
...
Login-User
...
Acct-Session-Id
...
=
...
"57739d0f00000001"
...
Framed-IP-Address
...
=
...
192.168.5.3
...
NAS-Port-Type
...
=
...
Wireless-802.11
...
NAS-Port
...
=
...
1
...
NAS-Port-Id
...
=
...
"00000001"
...
Calling-Station-Id
...
=
...
"4C-57-CA-XX-XX-XX"
...
Called-Station-Id
...
=
...
"EC-4C-4D-56-35-28"
...
NAS-IP-Address
...
=
...
192.168.5.66
...
NAS-Identifier
...
=
...
"rotek"
...
WISPr-Location-ID
...
=
...
"isocc=,cc=0,ac=0,network="
...
WISPr-Location-Name
...
=
...
"16"
...
WISPr-Logoff-URL
...
=
...
...
Message-Authenticator
...
=
...
0x214190c2a9c0eb3f33c8a0794f507179
#
...
Executing
...
section
...
authorize
...
from
...
file
...
/etc/freeradius/sites-enabled/default
+group
...
authorize
...
{
++[preprocess]
...
=
...
ok
[pap]
...
WARNING!
...
No
...
"known
...
good"
...
password
...
found
...
for
...
the
...
user.
...
Authentication
...
may
...
fail
...
because
...
of
...
this.
++[pap]
...
=
...
noop
++[chap]
...
=
...
noop
rlm_perl:
...
WNAM
...
Q:
...
AUTH
...
Message-Authenticator=0x214190c2a9c0eb3f33c8a0794f507179
...
User-Password=password
...
WISPr-Location-ID=isocc=,cc=0,ac=0,network=
...
NAS-Port=1
...
Framed-IP-Address=192.168.5.3
...
ChilliSpot-Version=1.3.0
...
NAS-IP-Address=192.168.5.66
...
Calling-Station-Id=4C-57-CA-XX-XX-XX
...
NAS-Identifier=rotek
...
WISPr-Location-Name=16
...
User-Name=4C:57:CA:XX:XX:XX
...
Acct-Session-Id=57739d0f00000001
...
Called-Station-Id=EC-4C-4D-56-35-28
...
NAS-Port-Type=Wireless-802.11
...
NAS-Port-Id=00000001
...
Service-Type=Login-User
...
WISPr-Logoff-URL=http://192.168.5.66:3990/logoff
rlm_perl:
...
RECV:
...
IO::Socket::INET=GLOB(0x1c21918)
rlm_perl:
...
WNAM
...
A:
...
OK
...
Acct-Interim-Interval=300
...
Session-Timeout=600
...
WISPr-Bandwidth-Max-Down=5120000
...
WISPr-Bandwidth-Max-Up=1024000
...
(112)
rlm_perl:
...
authorize
...
reply:
...
.OK.
rlm_perl:
...
Added
...
pair
...
Message-Authenticator
...
=
...
0x214190c2a9c0eb3f33c8a0794f507179
rlm_perl:
...
Added
...
pair
...
User-Password
...
=
...
password
rlm_perl:
...
Added
...
pair
...
WISPr-Location-ID
...
=
...
isocc=,cc=0,ac=0,network=
rlm_perl:
...
Added
...
pair
...
NAS-Port
...
=
...
1
rlm_perl:
...
Added
...
pair
...
Framed-IP-Address
...
=
...
192.168.5.3
rlm_perl:
...
Added
...
pair
...
ChilliSpot-Version
...
=
...
1.3.0
rlm_perl:
...
Added
...
pair
...
NAS-IP-Address
...
=
...
192.168.5.66
rlm_perl:
...
Added
...
pair
...
Calling-Station-Id
...
=
...
4C-57-CA-XX-XX-XX
rlm_perl:
...
Added
...
pair
...
NAS-Identifier
...
=
...
rotek
rlm_perl:
...
Added
...
pair
...
WISPr-Location-Name
...
=
...
16
rlm_perl:
...
Added
...
pair
...
User-Name
...
=
...
4C:57:CA:XX:XX:XX
rlm_perl:
...
Added
...
pair
...
Acct-Session-Id
...
=
...
57739d0f00000001
rlm_perl:
...
Added
...
pair
...
Called-Station-Id
...
=
...
EC-4C-4D-56-35-28
rlm_perl:
...
Added
...
pair
...
NAS-Port-Type
...
=
...
Wireless-802.11
rlm_perl:
...
Added
...
pair
...
NAS-Port-Id
...
=
...
00000001
rlm_perl:
...
Added
...
pair
...
Service-Type
...
=
...
Login-User
rlm_perl:
...
Added
...
pair
...
WISPr-Logoff-URL
...
=
...
http://192.168.5.66:3990/logoff
rlm_perl:
...
Added
...
pair
...
Session-Timeout
...
=
...
600
rlm_perl:
...
Added
...
pair
...
WISPr-Bandwidth-Max-Up
...
=
...
1024000
rlm_perl:
...
Added
...
pair
...
Acct-Interim-Interval
...
=
...
300
rlm_perl:
...
Added
...
pair
...
WISPr-Bandwidth-Max-Down
...
=
...
5120000
rlm_perl:
...
Added
...
pair
...
Cleartext-Password
...
=
...
password
rlm_perl:
...
Added
...
pair
...
Auth-Type
...
=
...
PAP
++[perl]
...
=
...
ok
[auth_log]
...
expand:
...
%{Packet-Src-IP-Address}
...
->
...
172.16.130.69
[auth_log]
...
expand:
...
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
...
->
...
/var/log/freeradius/radacct/172.16.130.69/auth-detail-20170602
[auth_log]
...
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
...
expands
...
to
...
/var/log/freeradius/radacct/172.16.130.69/auth-detail-20170602
[auth_log]
...
expand:
...
%t
...
->
...
Fri
...
Jun
...
2
...
10:17:30
...
2017
++[auth_log]
...
=
...
ok
+}
...
#
...
group
...
authorize
...
=
...
ok
Found
...
Auth-Type
...
=
...
PAP
#
...
Executing
...
group
...
from
...
file
...
/etc/freeradius/sites-enabled/default
+group
...
PAP
...
{
[pap]
...
login
...
attempt
...
with
...
password
...
"password"
[pap]
...
Using
...
clear
...
text
...
password
...
"password"
[pap]
...
User
...
authenticated
...
successfully
++[pap]
...
=
...
ok
+}
...
#
...
group
...
PAP
...
=
...
ok
#
...
Executing
...
section
...
post-auth
...
from
...
file
...
/etc/freeradius/sites-enabled/default
+group
...
post-auth
...
{
[reply_log]
...
expand:
...
%{Packet-Src-IP-Address}
...
->
...
172.16.130.69
[reply_log]
...
expand:
...
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/reply-detail-%Y%m%d
...
->
...
/var/log/freeradius/radacct/172.16.130.69/reply-detail-20170602
[reply_log]
...
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/reply-detail-%Y%m%d
...
expands
...
to
...
/var/log/freeradius/radacct/172.16.130.69/reply-detail-20170602
[reply_log]
...
expand:
...
%t
...
->
...
Fri
...
Jun
...
2
...
10:17:30
...
2017
++[reply_log]
...
=
...
ok
+}
...
#
...
group
...
post-auth
...
=
...
ok
Sending
...
Access-Accept
...
of
...
id
...
59
...
to
...
172.16.130.69
...
port
...
53106
...
Session-Timeout
...
+=
...
600
...
WISPr-Bandwidth-Max-Up
...
+=
...
1024000
...
Acct-Interim-Interval
...
+=
...
300
...
WISPr-Bandwidth-Max-Down
...
+=
...
5120000
Finished
...
request
...
1.
Going
...
to
...
the
...
next
...
request
Waking
...
up
...
in
...
4.9
...
seconds.
...
rad_recv: Accounting-Request packet from host 172.16.130.69 port 39306, id=11, length=216
ChilliSpot-Version = "1.3.0"
ChilliSpot-Attr-10 = 0x00000002
Event-Timestamp = "июн 29 2016 13:04:08 MSK"
User-Name = "4C:57:CA:XX:XX:XX"
Acct-Status-Type = Start
Acct-Session-Id = "57739d0f00000001"
Framed-IP-Address = 192.168.5.3
NAS-Port-Type = Wireless-802.11
NAS-Port = 1
NAS-Port-Id = "00000001"
Calling-Station-Id = "4C-57-CA-XX-XX-XX"
Called-Station-Id = "EC-4C-4D-56-35-28"
NAS-IP-Address = 192.168.5.66
NAS-Identifier = "rotek"
WISPr-Location-ID = "isocc=,cc=0,ac=0,network="
WISPr-Location-Name = "16"
# Executing section preacct from file /etc/freeradius/sites-enabled/default
+group preacct {
++[preprocess] = ok
[acct_unique] Hashing 'NAS-Port = 1,NAS-Identifier = "rotek",NAS-IP-Address = 192.168.5.66,Acct-Session-Id = "57739d0f00000001",User-Name = "4C:57:CA:XX:XX:XX"'
[acct_unique] Acct-Unique-Session-ID = "9a52b5614889da5c".
++[acct_unique] = ok
+} # group preacct = ok
# Executing section accounting from file /etc/freeradius/sites-enabled/default
+group accounting {
[detail] expand: %{Packet-Src-IP-Address} -> 172.16.130.69
[detail] expand: /var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d -> /var/log/freeradius/radacct/172.16.130.69/detail-20170602
[detail] /var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d expands to /var/log/freeradius/radacct/172.16.130.69/detail-20170602
[detail] expand: %t -> Fri Jun 2 10:17:30 2017
++[detail] = ok
[radutmp] expand: /var/log/freeradius/radutmp -> /var/log/freeradius/radutmp
[radutmp] expand: %{User-Name} -> 4C:57:CA:XX:XX:XX
++[radutmp] = ok
rlm_perl: WNAM Q: ACCT WISPr-Location-ID=isocc=,cc=0,ac=0,network= NAS-Port=1 Acct-Status-Type=Start Framed-IP-Address=192.168.5.3 ChilliSpot-Version=1.3.0 NAS-IP-Address=192.168.5.66 Calling-Station-Id=4C-57-CA-XX-XX-XX NAS-Identifier=rotek Acct-Unique-Session-Id=9a52b5614889da5c ChilliSpot-Attr-10=0x00000002 WISPr-Location-Name=16 User-Name=4C:57:CA:XX:XX:XX Acct-Session-Id=57739d0f00000001 Called-Station-Id=EC-4C-4D-56-35-28 NAS-Port-Type=Wireless-802.11 NAS-Port-Id=00000001
rlm_perl: RECV: IO::Socket::INET=GLOB(0x1c21918)
rlm_perl: WNAM A: OK (2)
rlm_perl: Added pair WISPr-Location-ID = isocc=,cc=0,ac=0,network=
rlm_perl: Added pair NAS-Port = 1
rlm_perl: Added pair Acct-Status-Type = Start
rlm_perl: Added pair Framed-IP-Address = 192.168.5.3
rlm_perl: Added pair ChilliSpot-Version = 1.3.0
rlm_perl: Added pair NAS-IP-Address = 192.168.5.66
rlm_perl: Added pair Calling-Station-Id = 4C-57-CA-XX-XX-XX
rlm_perl: Added pair NAS-Identifier = rotek
rlm_perl: Added pair Acct-Unique-Session-Id = 9a52b5614889da5c
rlm_perl: Added pair ChilliSpot-Attr-10 = 0x00000002
rlm_perl: ERROR: Failed to create pair Event-Timestamp = и 29 2016 13:04:08 MSK
rlm_perl: Added pair WISPr-Location-Name = 16
rlm_perl: Added pair User-Name = 4C:57:CA:XX:XX:XX
rlm_perl: Added pair Acct-Session-Id = 57739d0f00000001
rlm_perl: Added pair Called-Station-Id = EC-4C-4D-56-35-28
rlm_perl: Added pair NAS-Port-Type = Wireless-802.11
rlm_perl: Added pair NAS-Port-Id = 00000001
++[perl] = ok
[attr_filter.accounting_response] expand: %{User-Name} -> 4C:57:CA:XX:XX:XX
attr_filter: Matched entry DEFAULT at line 12
++[attr_filter.accounting_response] = updated
+} # group accounting = updated
Sending Accounting-Response of id 11 to 172.16.130.69 port 39306
Finished request 2.
Cleaning up request 2 ID 11 with timestamp +63