Hotspot на Mikrotik+freeradius+mysql Centos 6
Ожидает приглашения
Задача развернуть hotspot с возможностью авторизации по логину и паролю, а так же с ограниченным гостевым доступом.
В наличии машина на Centos 6 и MikroTik RouterOS 6.19.
На интерфейс ether6 подключен радио мост, который раздает wifi. Подключаемся по telnet к RouterOS и даем команду:
Далее потребуется ввести данные о сети, mikrotik сам определит адрес интерфейса и пул адресов для dhcp, если интерфейс был ранее настроен, если нет, будут использованы настройки по умолчанию, как и было сделано ниже:
Сертификат выбираем none. Адрес smtp оставляем как есть, он нам не нужен. Поле пароля для администратора я тоже оставил пустым. DNS у меня от провайдера, но можно основным указать 8.8.8.8, если не настроены dns ранее.
Далее включаем гостевой вход, ограниченный по времени и указываем использовать радиус:
Ограничиваем скорость для гостевых клиентов и устанавливаем keepalive:
Добавляем радиус сервер:
192.168.2.222 — это сервер радиуса и пароль, который будет указан в /etc/raddb/clients.conf.
На этом настройка микротик завершена, и переходим к настройке freeradius.
Устанавливаем freeradius и mysql:
Начнем с настройки freeradius:
Редактируем файл clients.conf:
Добавляем строки:
192.168.2.116 это адрес нашего микротика. Shortname можно указать любой.
Далее редактируем sql.conf:
Меняем имя пользователя и пароль для доступа к бд mysql, тк mysql будет на локальной машине оставляем localhost.
Редактируем radiusd.conf:
В секции modules {} находим и раскомментируем следующую строку:
Далее
Раскомментируем строку в секциях: authorize {}, accounting {}
Затем:
Создаем бд radius, именно она была указана в файле sql.conf:
Вставляем дампы таблиц, которые шли вместе с радиусом:
Заполним базу в MySQL:
Это структура таблиц в бд radius:
Описание таблиц:
radusergroup — данные о группах пользователей
radcheck — атрибуты для проверки пользователя
radgroupcheck — проверка атрибутов для группы
radreply — таблица, содержащая атрибуты, передающиеся клиенту сервером при прохождении аутентификации
radgroupreply — атрибуты, содержащиеся в ответе сервера для данной группы
Добавим нового пользователя в таблицу:
Добавим пользователя в группу:
Ограничим скорость исходящего\входящего соединения:
Теперь проверяем тыблицы:
Теперь проверим работает ли радиус:
Если увидели строку
то это значит что радиус сконфигурирован без ошибок и готов к работе. Теперь попробуем сделать тестовый запрос, открываем вторую консоль и вводим:
Для устранения этой ошибки делаем следующее:
Повторяем запрос:
testing123 — это пароль по умолчанию, который указан для localhost в /etc/raddb/clients.conf
Если выдаст ошибка, смотрите дебаг из первой консоли. Радиус работает, делаем:
И не забываем про iptables, в данном примере я его погасил. Радиус использует 1812 и 1813 порты.
Подключаемся к радио мосту, открываем браузер и попадаем на страницу авторизации, далее либо жмем гостевой вход и получаем доступ в интернет на 1 час с ограниченной скоростью 1m/1m или вводим логин и пароль и получаем доступ без ограничения по времени и со скоростью 5m/5m.
Хочу заметить, что когда проходит авторизация пользователей через радиус, на микротике используется клиентский профиль по умолчанию. Если у вас несколько hotspot не указывайте dhcp pool в user profile. Иначе возникает путаница с адресами, когда пользователь получает адрес из одной сети, а пройдя авторизацию, у него будет ip из другой сети и работать естественно не будет. Поэтому dhcp pool указывается в server profiles.
На этом все, спасибо.
Список используемой литературы:
RouterOs MySql Freeradius
Manual FreeRADIUS
RFC2865
В наличии машина на Centos 6 и MikroTik RouterOS 6.19.
Настройка hotspot на MikroTik
На интерфейс ether6 подключен радио мост, который раздает wifi. Подключаемся по telnet к RouterOS и даем команду:
> ip hotspot setup
Далее потребуется ввести данные о сети, mikrotik сам определит адрес интерфейса и пул адресов для dhcp, если интерфейс был ранее настроен, если нет, будут использованы настройки по умолчанию, как и было сделано ниже:
[admin@MikroTik] > ip hotspot setup
Select interface to run HotSpot on
hotspot interface: ether6
Set HotSpot address for interface
local address of network: 10.5.50.1/24
masquerade network: yes
Set pool for HotSpot addresses
address pool of network: 10.5.50.2-10.5.50.254
Select hotspot SSL certificate
select certificate: none
Select SMTP server
ip address of smtp server: 0.0.0.0
Setup DNS configuration
dns servers: 192.168.2.110,8.8.8.8
DNS name of local hotspot server
dns name:
Create local hotspot user
name of local hotspot user: admin
password for the user:
Сертификат выбираем none. Адрес smtp оставляем как есть, он нам не нужен. Поле пароля для администратора я тоже оставил пустым. DNS у меня от провайдера, но можно основным указать 8.8.8.8, если не настроены dns ранее.
Далее включаем гостевой вход, ограниченный по времени и указываем использовать радиус:
[admin@MikroTik] > ip hotspot profile set hsprof1 login-by=trial,http-chap trial-uptime=01:00:00/00:01:00 use-radius=yes
Ограничиваем скорость для гостевых клиентов и устанавливаем keepalive:
[admin@MikroTik] > ip hotspot user profile set default rate-limit=1m/1m open-status-page=http-login keepalive-timeout=01:00:00 shared-users=unlimited
Добавляем радиус сервер:
[admin@MikroTik] > radius add address=192.168.2.222 secret=123456 service=hotspot
192.168.2.222 — это сервер радиуса и пароль, который будет указан в /etc/raddb/clients.conf.
На этом настройка микротик завершена, и переходим к настройке freeradius.
Настраиваем радиус.
Устанавливаем freeradius и mysql:
# yum install freeradius-utils freeradius-perl freeradius-mysql freeradius-ldap freeradius mysql mysql-server -y
Начнем с настройки freeradius:
# cd /etc/raddb/
Редактируем файл clients.conf:
# vim clients.conf
Добавляем строки:
client 192.168.2.116 {
secret = 123456
shortname = mikrotik
}
192.168.2.116 это адрес нашего микротика. Shortname можно указать любой.
Далее редактируем sql.conf:
sql {
database = "mysql"
driver = "rlm_sql_${database}"
server = "localhost"
#port = 3306
login = "root"
password = "123456"
Меняем имя пользователя и пароль для доступа к бд mysql, тк mysql будет на локальной машине оставляем localhost.
Редактируем radiusd.conf:
В секции modules {} находим и раскомментируем следующую строку:
$INCLUDE sql.conf
Далее
# vim sites-available/default
Раскомментируем строку в секциях: authorize {}, accounting {}
sql
Затем:
# vim sites-available/inner-tunnel
В секции authorize {} раскомментируем строку sql
Теперь редактируем dictionary# vim dictionary
Добавляем строку:$INCLUDE /usr/share/freeradius/dictionary.mikrotik
Настройка MySql
Создаем бд radius, именно она была указана в файле sql.conf:
# mysql -u root -p
mysql> CREATE DATABASE radius;
mysql> \q
Вставляем дампы таблиц, которые шли вместе с радиусом:
# mysql -u root -p radius < /etc/raddb/sql/mysql/schema.sql
# mysql -u root -p radius < /etc/raddb/sql/mysql/nas.sql
Заполним базу в MySQL:
Это структура таблиц в бд radius:
mysql> show tables;
+------------------+
| Tables_in_radius |
+------------------+
| nas |
| radacct |
| radcheck |
| radgroupcheck |
| radgroupreply |
| radpostauth |
| radreply |
| radusergroup |
+------------------+
Описание таблиц:
radusergroup — данные о группах пользователей
radcheck — атрибуты для проверки пользователя
radgroupcheck — проверка атрибутов для группы
radreply — таблица, содержащая атрибуты, передающиеся клиенту сервером при прохождении аутентификации
radgroupreply — атрибуты, содержащиеся в ответе сервера для данной группы
Добавим нового пользователя в таблицу:
# mysql -u root -p
mysql> use radius;
mysql> INSERT INTO radcheck (UserName, Attribute, op, Value) VALUES ('user1', 'Cleartext-Password', ':=', '123456');
Добавим пользователя в группу:
mysql> INSERT INTO radusergroup(username, groupname) VALUES ('user1', 'hotspot');
Ограничим скорость исходящего\входящего соединения:
mysql> INSERT INTO radgroupreply(groupname, attribute, op, value) VALUES ('hotspot', 'Mikrotik-Rate-Limit', '=', '5m/5m');
Теперь проверяем тыблицы:
mysql> select * from radcheck;
+----+-----------+--------------------+----+---------+
| id | username | attribute | op | value |
+----+-----------+--------------------+----+---------+
| 1 | user1 | Cleartext-Password | := | 123456 |
+----+-----------+--------------------+----+---------+
1 rows in set (0.00 sec)
mysql> select * from radusergroup;
+----------+-----------+----------+
| username | groupname | priority |
+----------+-----------+----------+
| user1 | hotspot | 1 |
+----------+-----------+----------+
1 row in set (0.00 sec)
mysql> select * from radgroupreply;
+----+-----------+---------------------+----+-------+
| id | groupname | attribute | op | value |
+----+-----------+---------------------+----+-------+
| 1 | hotspot | Mikrotik-Rate-Limit | = | 5m/5m |
+----+-----------+---------------------+----+-------+
1 row in set (0.00 sec)
Теперь проверим работает ли радиус:
# radiusd -X
Если увидели строку
Ready to process requests.
то это значит что радиус сконфигурирован без ошибок и готов к работе. Теперь попробуем сделать тестовый запрос, открываем вторую консоль и вводим:
# radtest user1 123456 localhost 1812 testing123
radclient:: Failed to find IP address for srv-radius
radclient: Nothing to send.
Для устранения этой ошибки делаем следующее:
# echo "127.0.0.1 srv-radius" >> /etc/hosts
Повторяем запрос:
# radtest user1 123456 localhost 1812 testing123
Sending Access-Request of id 158 to 127.0.0.1 port 1812
User-Name = "user1"
User-Password = "123456"
NAS-IP-Address = 127.0.0.1
NAS-Port = 1812
Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=158, length=33
Mikrotik-Rate-Limit = "5m/5m"
testing123 — это пароль по умолчанию, который указан для localhost в /etc/raddb/clients.conf
Если выдаст ошибка, смотрите дебаг из первой консоли. Радиус работает, делаем:
# service radiusd start
И не забываем про iptables, в данном примере я его погасил. Радиус использует 1812 и 1813 порты.
Подключаемся к радио мосту, открываем браузер и попадаем на страницу авторизации, далее либо жмем гостевой вход и получаем доступ в интернет на 1 час с ограниченной скоростью 1m/1m или вводим логин и пароль и получаем доступ без ограничения по времени и со скоростью 5m/5m.
Хочу заметить, что когда проходит авторизация пользователей через радиус, на микротике используется клиентский профиль по умолчанию. Если у вас несколько hotspot не указывайте dhcp pool в user profile. Иначе возникает путаница с адресами, когда пользователь получает адрес из одной сети, а пройдя авторизацию, у него будет ip из другой сети и работать естественно не будет. Поэтому dhcp pool указывается в server profiles.
Так выглядит успешная авторизация через радиус сервер
rad_recv: Access-Request packet from host 192.168.2.116 port 47709, id=5, length=195
NAS-Port-Type = Wireless-802.11
Calling-Station-Id = «84:38:38:CA:10:83»
Called-Station-Id = «hs-ether6»
NAS-Port-Id = «ether6»
User-Name = «user1»
NAS-Port = 2150629832
Acct-Session-Id = «803001c8»
Framed-IP-Address = 10.5.50.4
Mikrotik-Host-IP = 10.5.50.4
CHAP-Challenge = 0xdf462a642b00b9c76b420ca5ffd8b370
CHAP-Password = 0x45bbd95f6446dc3c37230bd67a3d60f0af
Service-Type = Login-User
WISPr-Logoff-URL = «10.5.50.1/logout»
NAS-Identifier = «MikroTik»
NAS-IP-Address = 192.168.2.116
# Executing section authorize from file /etc/raddb/sites-enabled/default
+- entering group authorize {...}
++[preprocess] returns ok
[chap] Setting 'Auth-Type := CHAP'
++[chap] returns ok
++[mschap] returns noop
++[digest] returns noop
[suffix] No '@' in User-Name = «user1», looking up realm NULL
[suffix] No such realm «NULL»
++[suffix] returns noop
[eap] No EAP-Message, not doing EAP
++[eap] returns noop
++[files] returns noop
[sql] expand: %{User-Name} -> user1
[sql] sql_set_user escaped user --> 'user1'
rlm_sql (sql): Reserving sql socket id: 4
[sql] expand: SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'user1' ORDER BY id
[sql] User found in radcheck table
[sql] expand: SELECT id, username, attribute, value, op FROM radreply WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radreply WHERE username = 'user1' ORDER BY id
[sql] expand: SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority -> SELECT groupname FROM radusergroup WHERE username = 'user1' ORDER BY priority
[sql] expand: SELECT id, groupname, attribute, Value, op FROM radgroupcheck WHERE groupname = '%{Sql-Group}' ORDER BY id -> SELECT id, groupname, attribute, Value, op FROM radgroupcheck WHERE groupname = 'hotspot' ORDER BY id
[sql] User found in group hotspot
[sql] expand: SELECT id, groupname, attribute, value, op FROM radgroupreply WHERE groupname = '%{Sql-Group}' ORDER BY id -> SELECT id, groupname, attribute, value, op FROM radgroupreply WHERE groupname = 'hotspot' ORDER BY id
rlm_sql (sql): Released sql socket id: 4
++[sql] returns ok
++[expiration] returns noop
++[logintime] returns noop
[pap] WARNING: Auth-Type already set. Not setting to PAP
++[pap] returns noop
Found Auth-Type = CHAP
# Executing group from file /etc/raddb/sites-enabled/default
+- entering group CHAP {...}
[chap] login attempt by «user1» with CHAP password
[chap] Using clear text password «123456» for user user1 authentication.
[chap] chap user user1 authenticated succesfully
++[chap] returns ok
# Executing section post-auth from file /etc/raddb/sites-enabled/default
+- entering group post-auth {...}
++[exec] returns noop
Sending Access-Accept of id 5 to 192.168.2.116 port 47709
Mikrotik-Rate-Limit = «5m/5m»
Finished request 5.
Going to the next request
Waking up in 4.9 seconds.
rad_recv: Accounting-Request packet from host 192.168.2.116 port 36166, id=6, length=139
Acct-Status-Type = Start
NAS-Port-Type = Wireless-802.11
Calling-Station-Id = «84:38:38:CA:10:83»
Called-Station-Id = «hs-ether6»
NAS-Port-Id = «ether6»
User-Name = «user1»
NAS-Port = 2150629832
Acct-Session-Id = «803001c8»
Framed-IP-Address = 10.5.50.4
Mikrotik-Host-IP = 10.5.50.4
Event-Timestamp = «Aug 4 2015 20:29:53 MSK»
NAS-Identifier = «MikroTik»
Acct-Delay-Time = 0
NAS-IP-Address = 192.168.2.116
# Executing section preacct from file /etc/raddb/sites-enabled/default
+- entering group preacct {...}
++[preprocess] returns ok
[acct_unique] Hashing 'NAS-Port = 2150629832,Client-IP-Address = 192.168.2.116,NAS-IP-Address = 192.168.2.116,Acct-Session-Id = «803001c8»,User-Name = «user1»'
[acct_unique] Acct-Unique-Session-ID = «366a62e291c163e7».
++[acct_unique] returns ok
[suffix] No '@' in User-Name = «user1», looking up realm NULL
[suffix] No such realm «NULL»
++[suffix] returns noop
++[files] returns noop
# Executing section accounting from file /etc/raddb/sites-enabled/default
+- entering group accounting {...}
[detail] expand: %{Packet-Src-IP-Address} -> 192.168.2.116
[detail] expand: /var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d -> /var/log/radius/radacct/192.168.2.116/detail-20150805
[detail] /var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d expands to /var/log/radius/radacct/192.168.2.116/detail-20150805
[detail] expand: %t -> Wed Aug 5 14:29:46 2015
++[detail] returns ok
++[unix] returns ok
[radutmp] expand: /var/log/radius/radutmp -> /var/log/radius/radutmp
[radutmp] expand: %{User-Name} -> user1
++[radutmp] returns ok
[sql] expand: %{User-Name} -> user1
[sql] sql_set_user escaped user --> 'user1'
[sql] expand: %{Acct-Delay-Time} -> 0
[sql] expand: INSERT INTO radacct (acctsessionid, acctuniqueid, username, realm, nasipaddress, nasportid, nasporttype, acctstarttime, acctstoptime, acctsessiontime, acctauthentic, connectinfo_start, connectinfo_stop, acctinputoctets, acctoutputoctets, calledstationid, callingstationid, acctterminatecause, servicetype, framedprotocol, framedipaddress, acctstartdelay, acctstopdelay, xascendsessionsvrkey) VALUES ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', '%S', NULL, '0', '%{Acct-Authentic}', '%{Connect-Info}', '', '0', '0', '%{Called-Station-Id}', '%{Calling-Station-Id}', '', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}',
rlm_sql (sql): Reserving sql socket id: 3
rlm_sql (sql): Released sql socket id: 3
++[sql] returns ok
++[exec] returns noop
[attr_filter.accounting_response] expand: %{User-Name} -> user1
attr_filter: Matched entry DEFAULT at line 12
++[attr_filter.accounting_response] returns updated
Sending Accounting-Response of id 6 to 192.168.2.116 port 36166
Finished request 6.
Cleaning up request 6 ID 6 with timestamp +8574
Going to the next request
Waking up in 4.9 seconds.
Cleaning up request 5 ID 5 with timestamp +8574
Ready to process requests.
NAS-Port-Type = Wireless-802.11
Calling-Station-Id = «84:38:38:CA:10:83»
Called-Station-Id = «hs-ether6»
NAS-Port-Id = «ether6»
User-Name = «user1»
NAS-Port = 2150629832
Acct-Session-Id = «803001c8»
Framed-IP-Address = 10.5.50.4
Mikrotik-Host-IP = 10.5.50.4
CHAP-Challenge = 0xdf462a642b00b9c76b420ca5ffd8b370
CHAP-Password = 0x45bbd95f6446dc3c37230bd67a3d60f0af
Service-Type = Login-User
WISPr-Logoff-URL = «10.5.50.1/logout»
NAS-Identifier = «MikroTik»
NAS-IP-Address = 192.168.2.116
# Executing section authorize from file /etc/raddb/sites-enabled/default
+- entering group authorize {...}
++[preprocess] returns ok
[chap] Setting 'Auth-Type := CHAP'
++[chap] returns ok
++[mschap] returns noop
++[digest] returns noop
[suffix] No '@' in User-Name = «user1», looking up realm NULL
[suffix] No such realm «NULL»
++[suffix] returns noop
[eap] No EAP-Message, not doing EAP
++[eap] returns noop
++[files] returns noop
[sql] expand: %{User-Name} -> user1
[sql] sql_set_user escaped user --> 'user1'
rlm_sql (sql): Reserving sql socket id: 4
[sql] expand: SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'user1' ORDER BY id
[sql] User found in radcheck table
[sql] expand: SELECT id, username, attribute, value, op FROM radreply WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radreply WHERE username = 'user1' ORDER BY id
[sql] expand: SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority -> SELECT groupname FROM radusergroup WHERE username = 'user1' ORDER BY priority
[sql] expand: SELECT id, groupname, attribute, Value, op FROM radgroupcheck WHERE groupname = '%{Sql-Group}' ORDER BY id -> SELECT id, groupname, attribute, Value, op FROM radgroupcheck WHERE groupname = 'hotspot' ORDER BY id
[sql] User found in group hotspot
[sql] expand: SELECT id, groupname, attribute, value, op FROM radgroupreply WHERE groupname = '%{Sql-Group}' ORDER BY id -> SELECT id, groupname, attribute, value, op FROM radgroupreply WHERE groupname = 'hotspot' ORDER BY id
rlm_sql (sql): Released sql socket id: 4
++[sql] returns ok
++[expiration] returns noop
++[logintime] returns noop
[pap] WARNING: Auth-Type already set. Not setting to PAP
++[pap] returns noop
Found Auth-Type = CHAP
# Executing group from file /etc/raddb/sites-enabled/default
+- entering group CHAP {...}
[chap] login attempt by «user1» with CHAP password
[chap] Using clear text password «123456» for user user1 authentication.
[chap] chap user user1 authenticated succesfully
++[chap] returns ok
# Executing section post-auth from file /etc/raddb/sites-enabled/default
+- entering group post-auth {...}
++[exec] returns noop
Sending Access-Accept of id 5 to 192.168.2.116 port 47709
Mikrotik-Rate-Limit = «5m/5m»
Finished request 5.
Going to the next request
Waking up in 4.9 seconds.
rad_recv: Accounting-Request packet from host 192.168.2.116 port 36166, id=6, length=139
Acct-Status-Type = Start
NAS-Port-Type = Wireless-802.11
Calling-Station-Id = «84:38:38:CA:10:83»
Called-Station-Id = «hs-ether6»
NAS-Port-Id = «ether6»
User-Name = «user1»
NAS-Port = 2150629832
Acct-Session-Id = «803001c8»
Framed-IP-Address = 10.5.50.4
Mikrotik-Host-IP = 10.5.50.4
Event-Timestamp = «Aug 4 2015 20:29:53 MSK»
NAS-Identifier = «MikroTik»
Acct-Delay-Time = 0
NAS-IP-Address = 192.168.2.116
# Executing section preacct from file /etc/raddb/sites-enabled/default
+- entering group preacct {...}
++[preprocess] returns ok
[acct_unique] Hashing 'NAS-Port = 2150629832,Client-IP-Address = 192.168.2.116,NAS-IP-Address = 192.168.2.116,Acct-Session-Id = «803001c8»,User-Name = «user1»'
[acct_unique] Acct-Unique-Session-ID = «366a62e291c163e7».
++[acct_unique] returns ok
[suffix] No '@' in User-Name = «user1», looking up realm NULL
[suffix] No such realm «NULL»
++[suffix] returns noop
++[files] returns noop
# Executing section accounting from file /etc/raddb/sites-enabled/default
+- entering group accounting {...}
[detail] expand: %{Packet-Src-IP-Address} -> 192.168.2.116
[detail] expand: /var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d -> /var/log/radius/radacct/192.168.2.116/detail-20150805
[detail] /var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d expands to /var/log/radius/radacct/192.168.2.116/detail-20150805
[detail] expand: %t -> Wed Aug 5 14:29:46 2015
++[detail] returns ok
++[unix] returns ok
[radutmp] expand: /var/log/radius/radutmp -> /var/log/radius/radutmp
[radutmp] expand: %{User-Name} -> user1
++[radutmp] returns ok
[sql] expand: %{User-Name} -> user1
[sql] sql_set_user escaped user --> 'user1'
[sql] expand: %{Acct-Delay-Time} -> 0
[sql] expand: INSERT INTO radacct (acctsessionid, acctuniqueid, username, realm, nasipaddress, nasportid, nasporttype, acctstarttime, acctstoptime, acctsessiontime, acctauthentic, connectinfo_start, connectinfo_stop, acctinputoctets, acctoutputoctets, calledstationid, callingstationid, acctterminatecause, servicetype, framedprotocol, framedipaddress, acctstartdelay, acctstopdelay, xascendsessionsvrkey) VALUES ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', '%S', NULL, '0', '%{Acct-Authentic}', '%{Connect-Info}', '', '0', '0', '%{Called-Station-Id}', '%{Calling-Station-Id}', '', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}',
rlm_sql (sql): Reserving sql socket id: 3
rlm_sql (sql): Released sql socket id: 3
++[sql] returns ok
++[exec] returns noop
[attr_filter.accounting_response] expand: %{User-Name} -> user1
attr_filter: Matched entry DEFAULT at line 12
++[attr_filter.accounting_response] returns updated
Sending Accounting-Response of id 6 to 192.168.2.116 port 36166
Finished request 6.
Cleaning up request 6 ID 6 with timestamp +8574
Going to the next request
Waking up in 4.9 seconds.
Cleaning up request 5 ID 5 with timestamp +8574
Ready to process requests.
На этом все, спасибо.
Список используемой литературы:
RouterOs MySql Freeradius
Manual FreeRADIUS
RFC2865