Обсуждение статьи тематического каталога: Установка и настройка gnu-radius + postgresql (freebsd ipfw traffic)Ссылка на текст статьи: http://www.opennet.me/base/cisco/radius_postgress.txt.html
Можно хранить и некриптованые пароли
Я всю два часа доку лопатил пока понял в чем дело
bash-2.05b# cat ./users
DEFAULT Auth-Type = Local,
Password-Location = SQL,
Simultaneous-Use = 1
Service-Type = Framed-User,
Framed-Protocol = PPPbash-2.05b# radauth testik 123456
PASS
тут пара вопросов есть... зарание прошу прощение за возможную тупость но второй день как я связался с этим делом и ни фига не секу...
Simultaneous-Use = 1 что означает, и к чему изменение приведёт?..и что означает:
Apr 18 07:32:06 Main.warning: /usr/local/etc/raddb/sqlserver:10: auth_max_connections is obsolete
Apr 18 07:32:06 Main.warning: /usr/local/etc/raddb/sqlserver:21: acct_max_connections is obsolete
Apr 18 07:32:06 Main.error: /usr/local/etc/raddb/sqlserver: missing `server' statement
Apr 18 07:32:06 Main.warning: /usr/local/etc/raddb/sqlserver: missing `group_query' statement
Apr 18 07:32:06 Main.warning: /usr/local/etc/raddb/sqlserver: missing `acct_nasdown_query' statement
Apr 18 07:32:06 Main.warning: /usr/local/etc/raddb/sqlserver: missing `acct_nasup_query' statement
Apr 18 07:32:06 Main.notice: disabling SQL authentication
Apr 18 07:32:06 Main.notice: disabling SQL accounting
_________________________________
при содержании файла sqlserver:
/usr/local/etc/raddb/sqlserver:
interface postgres
login ?????
password ?????keepopen yes
idle_timeout 14400doauth yes
auth_max_connections 24auth_db vpn
auth_query select passwd from users where user_name='%u' AND active = TRUE and get_traffic_limit('%u') >= 0
reply_attr_query SELECT attr,param \
FROM users_attribute \
WHERE op IS NULL AND user_name='%u'
doacct yes
acct_max_connections 24
acct_db vpnacct_start_query INSERT INTO stat(user_name,start,ip,frm,acct_s_id,pid,update) \
VALUES('%u','%D','%C{Framed-IP-Address}', \
'%C{Calling-Station-Id}','%C{Acct-Session-Id}','%C{Login-Service}','%D')acct_alive_query UPDATE stat \
SET tm = %C{Acct-Session-Time}, \
update = '%D', \
inp = %C{Acct-Input-Octets}, \
out = %C{Acct-Output-Octets} \
WHERE user_name = '%u' AND acct_s_id = '%C{Acct-Session-Id}'acct_stop_query UPDATE stat \
SET tm = %C{Acct-Session-Time}, \
update = '%D', \
stop = '%D', \
inp = %C{Acct-Input-Octets}, \
out = %C{Acct-Output-Octets} \
WHERE user_name = '%u' AND acct_s_id = '%C{Acct-Session-Id}'; \
UPDATE users_attribute \
SET param = INT8(param) - %C{Acct-Input-Octets} - %C{Acct-Output-Octets} \
WHERE user_name = '%u' AND attr = 'Traffic-Limit'; \
UPDATE users \
SET active = false WHERE get_traffic_limit('%u') <= 0 AND user_name = '%u'; \
SELECT check_lost('%u')
Вот мне до сих пор не понятно, почему после Simultaneous-Use = 1 запятой нет:DEFAULT Auth-Type = Local,
Password-Location = SQL,
Simultaneous-Use = 1
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Service-Type = Framed-User,
Framed-Protocol = PPPИ работает именно только так.
Продолжение
vpn=> select * from users;
id | user_name | passwd | descr | active
----+-----------+--------+-----------+--------
1 | testik | 123456 | test_user | t
(1 Record)