Re: [lms] statystyki klienta - freeradius
W dniu 20 kwietnia 2015 10:03 użytkownik Michał Bochniak < michal.bochniak@zapnet.pl> napisał:
Coś masz kolego nie tak. Parametr Interim-Update konfiguruje się na mikrotiku(koncentratorze).
no i tu nie mówisz prawdy, a poza tym, ja nie używam MT więc? możesz to na MT skonfigurować, a jeśli używasz np. accel-ppp? Interim-Update to parametr, który radius zwaraca podczas autoryzacji, oprócz IPka i innych opcji powinien zwrócić "Acct-Interim-Interval = 600" (czas w sekundach jaki chcemy). Parametr ten nadpisuje ewentualne ustawienia serwera.
Wpisy dotyczące aktualizacji danych powinny wyglądać tak:
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'"
to wysyła nas, który mówi radiusowi, że wstał. praktycznie zbędny
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}'"
to zapytanie przerobiłbym pod lmsową bazę, wówczas będzie miało sens. nas wysyła to właśnie na podstawie Acct-Interim-Interval
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')"
to też do przerobienia pod lms. nas to wysyła podczas uwierzytelnienia klienta.
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}'"
tutaj zamknięcie otwartej sesji. też do przerobienia pod lma
Ogólnie co napisałeś to tylko i wyłącznie jeśli używaż bazy radiusowej. jeśli chesz robić accounting do lmsa to trochę trzeba zmienić zapytania. Poza tym, w nowej wersji freeradiusa, trochę inaczej ten config wygląda.
.................. 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
--
Pozdrawiam Marcin / nicraM
lms mailing list
lms@lists.lms.org.pl
http://lists.lms.org.pl/mailman/listinfo/lms
Ta wiadomość e-mail jest wolna od wirusów i złośliwego oprogramowania, ponieważ ochrona avast! Antivirus http://www.avast.com/ jest aktywna.
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
W dniu 20 kwietnia 2015 10:20 użytkownik Marcin marcin@nicram.net napisał:
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'"
to wysyła nas, który mówi radiusowi, że wstał. praktycznie zbędny
aczkolwiek, jeśli to MT i potrzebuje restartów z różnych powodów, to zapytanie to zamknie nam wiszące sesje z tego koncentratora. ewentualnie IMHO lepiej odpalać sobie skrypcik, który sam usunie nam wiszące sesje, wówczas klient nie będzie "uzależniony" od jednego koncentratora.
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
--
Pozdrawiam Marcin / nicraM
lms mailing list
lms@lists.lms.org.pl
http://lists.lms.org.pl/mailman/listinfo/lms
Ta wiadomość e-mail jest wolna od wirusów i złośliwego oprogramowania, ponieważ ochrona avast! Antivirus http://www.avast.com/ jest aktywna.
uczestnicy (1)
-
Marcin