Jump to content
Калькуляторы

Freeradius, Simultaneous-Use Не работает ограничение количества сессий

Здравствуйте!

Система работает такая - Freeradius-1 , Mikrotik в качестве PPtP, PPPoE, L2TP сервера.

Авторизация и пользователей проходит на радиусе, учетные данные пользователей хранятся в файле.

xxxxxx  Cleartext-Password := "zz", Simultaneous-Use := 1, Pool-Name := "private_ip_pool"
       Mikrotik-Rate-Limit := "512k/512k"

rs# radtest xxxxxx zz 127.0.0.1 0 whoiswho
Sending Access-Request of id 109 to 127.0.0.1 port 1812
       User-Name = "xxxxxx"
       User-Password = "zz"
       NAS-IP-Address = 255.255.255.255
       NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=109, length=88
       Service-Type = Framed-User
       Framed-Protocol = PPP
       Framed-Routing = Broadcast-Listen
       Filter-Id = "std.ppp"
       Framed-MTU = 1460
       Framed-Compression = Van-Jacobson-TCP-IP
       Mikrotik-Rate-Limit = "512k/512k"
       Framed-IP-Address = 192.168.22.206
       Framed-IP-Netmask = 255.255.255.255

Когда настраивал систему, то ограничение количества сессий работало, в последнее время этот параметр перестал работать.

В логах ошибок нет, radiusd -X тоже без ошибок, radutmp удаляю и пересоздаю 1 раз в сутки, пересмотрел конфиг много раз - вроде бы все в норме, но возможно глаз уже замылился

Куда еще смотреть, чтобы восстановить отработку Simultaneous-Use ?

Edited by dm765

Share this post


Link to post
Share on other sites

Для неё нужен пакет snmp, попробуйте установить и пересобрать радиус...

Share this post


Link to post
Share on other sites

ОС FreeBSD

Freeradius ставил из портов, обновил на всякий случай, snmp есть...пока не помогло

Share this post


Link to post
Share on other sites

Запустите радиус в режиме отладки radiusd -XXX

Share this post


Link to post
Share on other sites

Запускал в режиме отладки, никаких ошибок и варнингов нет. При регистрации пользователя Simultaneous-Use не проскакивает...

Что смотреть в отладке?

У меня причем работает 2 радиус-сервера, т.е. если один падает, то начинает работать второй. На одном freeradius версии 1 , на другом freeradius версии 2... ни там ни там Simultaneous-Use не работает, хотя при настройке все успешно работало на обоих серверах..(((

Share this post


Link to post
Share on other sites

Если Simultaneous-Use := 0 то пользователь подключиться не может, при отладке пишет Multiple logins (max 0) - т.е. все правильно..

Edited by dm765

Share this post


Link to post
Share on other sites

смотритте авторизацию, особенно на радиус2, в EAP, апример, по дефолту стоит -- return=OK, убирите...

посмотрите на базу, попдют ли пользователии в соотв. таблицу...

Что смотреть в отладке?

смотрите зпросы к БД, проверку на дубли...

Я уже не помню точно, надо нстройки sql.conf и mysql.conf глянуть..., в выходные попробую посмотреть у себя...

 

хотя при настройке все успешно работало на обоих серверах..

вспоминйте, что меняли, особенно в конфигурции БД и её схеме?

Edited by NewUse

Share this post


Link to post
Share on other sites

смотрите в radiusd -X

Simultaneous-Use дожно вызываться в секции session ...

Ready to process requests.
rad_recv: Access-Request packet from host 127.0.0.1 port 22909, id=192, length=243
...
+- entering group authorize {...}
...
++[mschap] returns ok
# Executing section session from file /usr/local/etc/raddb/sites-enabled/test
+- entering group session {...}
[sql] 	expand: %{User-Name} -> cstrike
[sql] sql_set_user escaped user --> 'cstrike'
[sql] 	expand: SELECT COUNT(*)                              FROM radacct                              WHERE username = '%{SQL-User-Name}'                              AND acctstoptime IS NULL -> SELECT COUNT(*)                              FROM radacct                              WHERE username = 'cstrike'                              AND acctstoptime IS NULL
rlm_sql (sql): Reserving sql socket id: 13
[sql] 	expand: SELECT radacctid, acctsessionid, username,                                nasipaddress, nasportid, framedipaddress,                                callingstationid, framedprotocol                                FROM radacct                                WHERE username = '%{SQL-User-Name}'                                AND acctstoptime IS NULL -> SELECT radacctid, acctsessionid, username,                                nasipaddress, nasportid, framedipaddress,                                callingstationid, framedprotocol                                FROM radacct                                WHERE username = 'cstrike'                                AND acctstoptime IS NULL
rlm_sql (sql): Released sql socket id: 13
++[sql] returns ok
Using Post-Auth-Type Reject

 

тут sql вернул ок, checkrad не выполнялся, потому, что так сконфигурено, и дальше Post-Auth-Type Reject

Share this post


Link to post
Share on other sites

Ребята, у меня пользователи хранятся в файле, работает связка радиус + микротик!!

В радиусе конфиги могли менять еще 2 человека, но они уволились и ничего не помнят ))

В радиусе работают все атрибуты, кроме Simultaneous-Use

Спасибо за внимание к вопросу!!

Share this post


Link to post
Share on other sites

разобрался, в clients.conf было прописано nastype = mikrotik_snmp , заменил на nastype = other и все заработало

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this