W dniu 20.04.2015 10:03, Michał Bochniak napisał(a):
Coś masz kolego nie tak. Parametr Interim-Update konfiguruje się na mikrotiku(koncentratorze). Wpisy dotyczące aktualizacji danych powinny wyglądać tak:
Lepiej jednak wysterowywać mikrotiki parametrem Acct-Interim-Interval z serwera radius, bo daje to większą elastyczność konfiguracji - zwłaszcza jak mamy wiele urządzeń zarządzanych przez radius-a. Na 100% mikrotik obsługuje atrybut Acct-Interim-Interval. Ten atrybut trzeba zwracać dla NAS-ów przy zakończonym sukcesem uwierzytelnieniu w ramach odpowiedzi.
accounting_onoff_query = "UPDATE ${acct_table1} \
SET AcctStopTime='%S', \ AcctSessionTime=unix_timestamp('%S') -
unix_timestamp(AcctStartTime), \
AcctTerminateCause='%{Acct-Terminate-Cause}', \ AcctStopDelay = '%{Acct-Delay-Time}' \ WHERE AcctSessionTime=0 \ AND AcctStopTime=0 \ AND NASIPAddress= '%{NAS-IP-Address}' AND AcctStartTime
<= '%S'"
accounting_update_query = "UPDATE ${acct_table1} \ SET FramedIPAddress = '%{Framed-IP-Address}', \ AcctSessionTime = '%{Acct-Session-Time}', \ AcctInputOctets = '%{Acct-Input-Octets}', \ AcctOutputOctets = '%{Acct-Output-Octets}' \ WHERE AcctSessionId = '%{Acct-Session-Id}' \ AND UserName = '%{SQL-User-Name}' \ AND NASIPAddress= '%{NAS-IP-Address}'" accounting_start_query = "INSERT into ${acct_table1} \ (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) \
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}', '%{Calling-Station-Id}', '',
'%{Service-Type}', \
'%{Framed-Protocol}', '%{Framed-IP-Address}',
'%{Acct-Delay-Time}', '0')"
accounting_stop_query = "UPDATE ${acct_table2} \ SET AcctStopTime = '%S', AcctSessionTime =
'%{Acct-Session-Time}', \
AcctInputOctets = '%{Acct-Input-Octets}', AcctOutputOctets
= '%{Acct-Output-Octets}', \
AcctTerminateCause = '%{Acct-Terminate-Cause}',
AcctStopDelay = '%{Acct-Delay-Time}', \
ConnectInfo_stop = '%{Connect-Info}' \ WHERE AcctSessionId = '%{Acct-Session-Id}' AND UserName =
'%{SQL-User-Name}' \
AND NASIPAddress = '%{NAS-IP-Address}';\
UPDATE nodes SET lastonline = unix_timestamp() WHERE name='%{User-Name}'"
.................. pozdrawiam Mb
FROM: lms [mailto:lms-bounces@lists.lms.org.pl] ON BEHALF OF Łukasz Łuczak SENT: Monday, April 20, 2015 9:18 AM TO: lista użytkowników LMS SUBJECT: Re: [lms] statystyki klienta - freeradius
Re
Samego parametru Interim-Update nie moge znaleść w konfigach od freeradiusa
acct-update mam w sql.conf od zawsze, ale nie wydać w bazie w radacct nigdy aktualnych sessji tylko zawsze zamknięte. sql.conf mam zrobionego na podstawie radius-lms.conf
accounting_update_query = "UPDATE ${acct_table1} \ SET FramedIPAddress = '%{Framed-IP-Address}', \ AcctSessionTime = '%{Acct-Session-Time}', \ AcctInputOctets = '%{Acct-Input-Octets}', \ AcctOutputOctets = '%{Acct-Output-Octets}' \ WHERE AcctSessionId = '%{Acct-Session-Id}' \ AND UserName = '%{SQL-User-Name}' \ AND NASIPAddress= '%{NAS-IP-Address}'"
accounting_update_query_alt = "INSERT into ${acct_table1} (AcctSessionId, AcctU niqueId, UserName, Realm, NASIPAddress, NASPortId, NASPortType, AcctStartTime, AcctSess ionTime, AcctAuthentic, ConnectInfo_start, AcctInputOctets, AcctOutputOctets, CalledSta tionId, CallingStationId, ServiceType, FramedProtocol, FramedIPAddress, AcctStartDelay) values('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm }', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', DATE_SUB('%S',INTERVAL (%{A cct-Session-Time:-0} + %{Acct-Delay-Time:-0}) SECOND), '%{Acct-Session-Time}', '%{Acct- Authentic}', '', '%{Acct-Input-Octets}', '%{Acct-Output-Octets}', '%{Called-Station-Id} ', '%{Calling-Station-Id}', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Addre ss}', '0')"
nie na MT (choć tego nie testowałem) ale radius musi przy acct odpowiedzieć parametreme Interim-Update, wówczas serwer PPPoE będzie co zadany czas robił accounting do radiusa.
Zmiana parametru na MT podczas już nawiązanych sesji niczego nie da, dopiero dla nowo tworzonych połączeń.
w radiusie w sql odpowiada za to parametre acct-update (piszę z pamięci), jest jescze acct-start i acct-stop mówiące same za siebie.
W dniu 18 kwietnia 2015 09:47 użytkownik Łukasz Łuczak lukasz@maxnet.66.pl napisał:
witam zmieniełem ten paramet na MT
ppp/aaa/
ale dalej niema w bazie informacji o sesji aktualnie nawiozanej, tylko o zakonczonych
Interim-update = 600
--
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms [1]
--
Pozdrawiam Marcin / nicraM
lms mailing list
lms@lists.lms.org.pl
[2]
Ta wiadomość e-mail jest wolna od wirusów i złośliwego oprogramowania, ponieważ ochrona avast! Antivirus [2] jest aktywna.
Links:
[1] http://lists.lms.org.pl/mailman/listinfo/lms [2] http://www.avast.com/
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms