Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Начиная с версии 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-адреса укажите следует указать адрес хотспота точки доступа. Логин и пароль - не используются в настоящий момент.

Image RemovedImage Added

Затем сделует следует создать запись о площадке (локации) оказания услуги. Обратите Следует обратить внимание на имя (номер площадки) - он должен совпасть с WISPr Location Name, а также на диапазон сети абонентов (192.168.5.0/24 в примере). Укажите Необходимо указать также разрешенный сервер доступа (только что настроенную запись). 

Image Removed

что настроенную запись). Для этого необходимо перейти в раздел "Конфигурация" → "Площадки" во вкладку  "Параметры" и указать соответствующие параметры.

Image Added

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

Image Modified

Image Modified

В дополнение к этому, интерфейс системы 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

...

=

...

"http://192.168.5.66:3990/logoff"

...

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