Temps de connexion avec freeradius
yaobo84
Messages postés
91
Date d'inscription
Statut
Membre
Dernière intervention
-
Jakscoreur74 Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
Jakscoreur74 Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
bonjour,
j'ai un portail captif tournant sous coova-chilli et freeradius (je n'utilise pas les outils genre phpmyprepaid ou daloradius....). Je voudrais donc deconnecter authomatiquement mes utilisateur apres X heures.
voici mon fichier /etc/freeradius/sql/mysql/conunter.conf
Le preobleme c'est que les utilisateurs ne sont jamais deconnectés. Quelqu"un comprend comment faire?
j'ai un portail captif tournant sous coova-chilli et freeradius (je n'utilise pas les outils genre phpmyprepaid ou daloradius....). Je voudrais donc deconnecter authomatiquement mes utilisateur apres X heures.
voici mon fichier /etc/freeradius/sql/mysql/conunter.conf
sqlcounter dailycounter { counter-name = Daily-Session-Time check-name = Max-Daily-Session reply-name = Session-Timeout sqlmod-inst = sql key = User-Name reset = daily # This query properly handles calls that span from the # previous reset period into the current period but # involves more work for the SQL server than those # below query = "SELECT SUM(acctsessiontime - \ GREATEST((%b - UNIX_TIMESTAMP(acctstarttime)), 0)) \ FROM radacct WHERE username = '%{%k}' AND \ UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '%b'" # This query ignores calls that started in a previous # reset period and continue into into this one. But it # is a little easier on the SQL server # query = "SELECT SUM(acctsessiontime) FROM radacct WHERE \ # username = '%{%k}' AND acctstarttime > FROM_UNIXTIME('%b')" # This query is the same as above, but demonstrates an # additional counter parameter '%e' which is the # timestamp for the end of the period # query = "SELECT SUM(acctsessiontime) FROM radacct \ # WHERE username = '%{%k}' AND acctstarttime BETWEEN \ # FROM_UNIXTIME('%b') AND FROM_UNIXTIME('%e')" } sqlcounter monthlycounter { counter-name = Monthly-Session-Time check-name = Max-Monthly-Session reply-name = Session-Timeout sqlmod-inst = sql key = User-Name reset = monthly # This query properly handles calls that span from the # previous reset period into the current period but # involves more work for the SQL server than those # below query = "SELECT SUM(acctsessiontime - \ GREATEST((%b - UNIX_TIMESTAMP(acctstarttime)), 0)) \ FROM radacct WHERE username='%{%k}' AND \ UNIX_TIMESTAMP(acctstarttime) + acctsessiontime > '%b'" # This query ignores calls that started in a previous # reset period and continue into into this one. But it # is a little easier on the SQL server # query = "SELECT SUM(acctsessiontime) FROM radacct WHERE \ # username='%{%k}' AND acctstarttime > FROM_UNIXTIME('%b')" # This query is the same as above, but demonstrates an # additional counter parameter '%e' which is the # timestamp for the end of the period # query = "SELECT SUM(acctsessiontime) FROM radacct \ # WHERE username='%{%k}' AND acctstarttime BETWEEN \ # FROM_UNIXTIME('%b') AND FROM_UNIXTIME('%e')" } sqlcounter noresetcounter { counter-name = Max-All-Session-Time check-name = Max-All-Session sqlmod-inst = sql key = User-Name reset = never query = "SELECT IFNULL(SUM(AcctSessionTime),0) FROM radacct WHERE UserName='%{%k}'" }
voici celui de /etc/freeradius/modules/counter counter daily { filename = ${db_dir}/db.daily key = User-Name count-attribute = Acct-Session-Time reset = daily counter-name = Daily-Session-Time check-name = Max-Daily-Session reply-name = Session-Timeout allowed-servicetype = Framed-User cache-size = 5000 }
Le preobleme c'est que les utilisateurs ne sont jamais deconnectés. Quelqu"un comprend comment faire?
A voir également:
- Temps de connexion avec freeradius
- Gmail connexion - Guide
- Renommer plusieurs fichiers en même temps - Guide
- Combien de temps reste une story sur facebook - Guide
- Site inaccessible n'autorise pas la connexion - Guide
- 2go internet combien de temps ✓ - Forum Mobile
1 réponse
Bonjour Yaobo84,
Comme tu utilise Coovachilli, je te conseille simplement d'utiliser une de ses fonctionnalité de déconnexion dans le fichier /etc/chilli/config
la ligne (a dé-commenter):
- HS_DEFIDLETIMEOUT= 3600 te permet de déconnecter tes utilisateurs au bout d'une heure (3600sec).
Tu peux évidemment utiliser le module Counter de freeradius mais c'est ici bien plus compliqué car tu dois jouer sur plusieurs entrées de la table Radius...
Voila voila :)
Comme tu utilise Coovachilli, je te conseille simplement d'utiliser une de ses fonctionnalité de déconnexion dans le fichier /etc/chilli/config
la ligne (a dé-commenter):
- HS_DEFIDLETIMEOUT= 3600 te permet de déconnecter tes utilisateurs au bout d'une heure (3600sec).
Tu peux évidemment utiliser le module Counter de freeradius mais c'est ici bien plus compliqué car tu dois jouer sur plusieurs entrées de la table Radius...
Voila voila :)