FreeRadius + UTM5

Технические вопросы по UTM 5.0
md2k
Сообщения: 67
Зарегистрирован: Чт апр 07, 2005 01:42
Откуда: Sevastopol
Контактная информация:

Сообщение md2k »

Гм.... нме всетаки интересно, как организовать полноценную работу FreeRadius.
Мне лично очень критичны данные о старте сессии и ее окончании, общей длительности, и прогнаном трафике. (с трафиком ладно), но вот как организовать остальное?
а то utm_radius бесит, зачем мне авторизовывать юзера - если он блокирован. :-\

Аватара пользователя
dalex
Сообщения: 1306
Зарегистрирован: Пт янв 21, 2005 11:54

Сообщение dalex »

а то utm_radius бесит, зачем мне авторизовывать юзера - если он блокирован. :-\
в конфиге utm5_radius есть параметр на запрещение авторизации блокированного юзера
radius_auth_vap=1

taf
Сообщения: 309
Зарегистрирован: Вс янв 30, 2005 11:41

Сообщение taf »

gbdj писал(а):вот 2 запроса из sql.conf

authorize_check_query =

authorize_reply_query =
А ни у кого нету, случайно, аналогичных запросов только не для MySQL, а для PostgreSQL?

floyd
Сообщения: 16
Зарегистрирован: Пт фев 18, 2005 16:40

Сообщение floyd »

Возникла непонятная проблема с FreeRADIUS'ом , заведомо верные запросы не для акаунтинга не выполняются . Создал в базе стандартную таблицу radacct , из базы радиуса . Запросы на акаунтинг также взял стандартные . Увы , результат тотоже - в таблице пусто .
-------sql.conf---------------------------

sql {

# Database type
driver = "rlm_sql_mysql"

# Connect info
server = "localhost"
login = "root"
password = ""

# Database table configuration
radius_db = "base_v06"


# Print all SQL statements when in debug mode (-x)
sqltrace = yes
sqltracefile = /var/log/freeradius/sqltrace.sql

# number of sql connections to make to server
num_sql_socks = 5

# number of seconds to dely retrying on a failed database
# connection (per_socket)
connect_failure_retry_delay = 60

sql_user_name = "%{User-Name}"


authorize_check_query = "SELECT users.id, users.login, 'Password', users.password, ':=' FROM users WHERE users.login = '%{SQL-User-Name}' AND users.block = '0
'"
authorize_reply_query = "SELECT users.id, users.login, 'Framed-IP-Address', users.ip, ':=' FROM users WHERE users.login = '%{SQL-User-Name}' AND users.block =
'0'"


accounting_onoff_query = "UPDATE radacct SET AcctStopTime='%S', AcctSessionTime=unix_timestamp('%S') - unix_timestamp(AcctStartTime), AcctTerminateCause='%{Ac
ct-Terminate-Cause}', AcctStopDelay = %{Acct-Delay-Time} WHERE AcctSessionTime=0 AND AcctStopTime=0 AND NASIPAddress= '%{NAS-IP-Address}' AND AcctStartTime <= '%S'"
accounting_update_query = "UPDATE radacct SET FramedIPAddress = '%{Framed-IP-Address}' WHERE AcctSessionId = '%{Acct-Session-Id}' AND UserName = '%{SQL-User-
Name}' AND NASIPAddress= '%{NAS-IP-Address}' AND AcctStopTime = 0"
accounting_start_query = "INSERT into radacct (RadAcctId, AcctSessionId, AcctUniqueId, UserName, Realm, NASIPAddress, NASPortId, NASPortType, AcctStartTime, A
cctStopTime, AcctSessionTime, AcctAuthentic, ConnectInfo_start, ConnectInfo_stop, AcctInputOctets, AcctOutputOctets, CalledStationId, CallingStationId, AcctTerminateC
ause, ServiceType, FramedProtocol, FramedIPAddress, AcctStartDelay, AcctStopDelay) values('', '%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '
%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', '%S', '0', '0', '%{Acct-Authentic}', '%{Connect-Info}', '', '0', '0', '%{Called-Station-Id}', '%{Ca
lling-Station-Id}', '', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', '%{Acct-Delay-Time}', '0')

accounting_stop_query = "UPDATE radacct SET AcctStopTime = '%S', AcctSessionTime = '%{Acct-Session-Time}', AcctInputOctets = '%{Acct-Input-Octets}', AcctOutpu
tOctets = '%{Acct-Output-Octets}', AcctTerminateCause = '%{Acct-Terminate-Cause}', AcctStopDelay = '%{Acct-Delay-Time}', ConnectInfo_stop = '%{Connect-Info}' WHERE Ac
ctSessionId = '%{Acct-Session-Id}' AND UserName = '%{SQL-User-Name}' AND NASIPAddress = '%{NAS-IP-Address}' AND AcctStopTime = 0"

----------
Ошибок в конфигах и логах нет .

Все эти эксперементы не связаны на прямую с базой UTM , так что извеняюсь за оффтоп .

gbdj
Сообщения: 32
Зарегистрирован: Пн фев 14, 2005 11:58
Откуда: SPb

Сообщение gbdj »

Смотреть в debug моде какие sql запросы для аккаутинга формирует freeradius и формирует ли вообще

если да, смотреть почему они не нравяться mysql
если нет, смотреть настройки самого NAS
и настройки freeradius под конкретный NAS

floyd
Сообщения: 16
Зарегистрирован: Пт фев 18, 2005 16:40

Сообщение floyd »

Хе ... =)

Отсутствовала запись sql в секции акаунтинга radiusd.conf .

nicolnx
Сообщения: 1
Зарегистрирован: Чт фев 09, 2006 02:22

Сообщение nicolnx »

Кстати, если база в постгересе, то нужно сделать
CREATE OR REPLACE FUNCTION "inet_ntoa" (bigint) RETURNS text AS
'
select ($1 >> 24 & 255)
|| \'.\' || ($1 >> 16 & 255)
|| \'.\' || ($1 >> 8 & 255)
|| \'.\' || ($1 & 255)
'
LANGUAGE 'sql' IMMUTABLE RETURNS NULL ON NULL INPUT SECURITY INVOKER;

Ответить