Managen der Onlinezeiten. Es wird für die einzelnen User eine tägliche Internetzeit vergeben.
Dieses OPT ist aus einer Kopie des OPT_ONCO von Michael Mattes entstanden. Ich habe es meinen Bedürfnissen angepaßt. Bei ONCO wird für einen festgelegt Zeitraum den Anwendern die Internetnutzung erlaubt. Mein Interesse lag daran, für die Anwender eine tägliche Internetzeit festzulegen unabhängig davon, wann die Internetnutzung erfolgt.
Mail den Autor
:
Volker_Krause@gmx.net
Ich übernehme keinerlei Verantwortung für
eventuelle Schäden, die durch dieses Skript verursacht werden
könnten. Die Benutzung erfolgt ausdrücklich auf eigene
Verantwortung.
installiert und in der base.txt/isdn.txt müssen aktiviert sein:
der mini-httpd für Web Interface Ausgabe, die Logs können auch mittels Editor der Wahl betrachtet und weiter ausgewertet werden
das opt_extratools (enthält benötigten grep e.c.) muss installiert sein
das opt_easycron muss installiert sein
Imond muß aktiviert sein (ab Version 0.1.0 pre)
nicht installiert sein darf das OPT_PROXY, da die Zeitsteuerungen nicht mit Proxy funktioniert
Man entpacke das Archiv und kopiere alles in das
Fli4L-Basisverzeichnis
-Editieren der ouma.txt in /config
OPT_OUMA='yes' ( 'yes oder 'no' ) Package aktivieren
OUMA_STARTTIME='60' Internetzeit , die bei Neustart für alle zeitgesteuerten IP vergeben wird
OUMA_START_SPERRE='no' Nur wichtig bei OUMA_STARTTIME=0, bei "yes" werden alle Client gesperrt, bei "no" alle frei
OUMA_BLOCK_UDP='yes' auch UDP Pakete blocken? (sperrt die meisten Spiele)
OUMA_BLOCK_ICMP='yes' auch ICMP (Ping) Pakete blocken?
OUMA_NEVERBLOCK_N='0' wieviele IPs niemals sperren?
OUMA_NEVERBLOCK_1='192.168.6.2' 1. IP, die nicht gesperrt werden kann
OUMA_NEVERBLOCK_2='192.168.6.3' 2. IP, die nicht gesperrt werden kann
OUMA_TIMECTL_N='1' Anzahl der Zeitsteuerungen
OUMA_TIMECTL_1_IP='192.168.6.4' 1. IP, die zeitabhaengig gesteuert werden soll
OUMA_TIMECTL_1_START='01 04 * * *' Wann soll die Onlinezeit neu vergeben werden (cron-Syntax)
OUMA_TIMECTL_1_TIME='90' Onlinezeit, die der User täglich bekommt (täglich bei mir, cron Syntax läßt natürlich beliebige Zeitsteuerungen zu). Will man dem Client seine Onlinezeit ab einem bestimmten Zeitpunkt wegnehmen, kann man das durch Vergabe einer Zeit von 1 bei einer zweiten Zeitsteuerung zu dieser IP.
OUMA_SET_PAKET_TIME='yes' Setzen der Lebensdauer von
Masquerading-Einträgen
!!!!!!!!!!!!!!
Experimentell !!!!!!!!!!!!!!!!!!
Dieser
Versuch, die Lebensdauer zu beschränken, ist äußerst
experimentell, ich habe keinerlei eingehendere Erfahrungen. Ich habe
diese Möglichkeit geschaffen, da es bei größeren
Netzen mit vielen Clients wegen noch bestehenden
Masquerading-Einträge Probleme mit dem Runterzählen der
Restzeit auch bei abgeschalteten Rechner gibt
OUMA_TCP_TIME ='120' Zeitraum, wie lange sich das nächste Paket bei einer bestehenden TCP-Verbindung verzögern darf, ehe der Eintrag gelöscht wird. Empfohlen wird hier in der Literatur 900 bis 7200 Sekunden (15 Minuten bis 2 Stunden). Ein zu niedriger Eintrag macht sich dadurch bemerkbar, dass bestehende Telnet- oder SSH-Sitzungen ohne oder mit zu groß eingestelltem Keep-Alive-Intervall durch die Firewall plötzlich nicht mehr funktionieren.Für ein richtiges Funktionieren des Countdown von OUMA habe ich hier mit 120 Sekunden aber eine viel geringere Zeit gewählt. Deshalb sollte man genau prüfen, ob wirklich alles noch richtig funktioniert
OUMA_TCPFIN_TIME ='30' "tcpfin" ist die Zeitspanne nach dem ersten FIN-Paket. Einseitig ist die Verbindung bereits abgebaut, es wird jedoch noch auf das FIN-Paket für den entgegengesetzten TCP-Kanal gewartet. Brauchbare Werte liegen hier zwischen 10 und 180 Sekunden.
OUMA_UDP_TIME ='60' "udp" ist entsprechend für UDP-Verbindungen zuständig. Eine Zeitspanne zwischen 60 und 300 Sekunden ist hier sinnvoll.
OUMA_OPT_FPING='yes' Optional - Feststellen des
Rechnerzustands.
Nun noch eine neues opt.tgz erstellen oder den Router per Imonc updaten, und schon kann man loslegen.
Wenn man die Dateien per ftp hochgeladen hat muss man noch darauf achten, dass das CGI ausführbar ist. Am einfachsten führt man dazu ein
chmod 777 /usr/local/htdocs/*.cgi
an der Router-Konsole oder per telnet/ssh aus.
On boot werden die Onlinezeit der zeitabhängigen IP auf die
STARTTIME gesetzt, die CRON-Prozesse für die zeitabhängige
Onlinezeitvergabe gestartet und der Main-Prozeß zur
Zeitsteuerung gestartet
Minütlich wird kontrolliert, welcher User das Internet gerade
nutzt und dessen Zeit heruntergezählt. Bei Null wird dieser
gesperrt und erst durch Zeitsteuerung oder Mini-Httpd wieder
freigegeben.
Durch die Vielfältigkeit von CRON ist eine nazu unbegrenzt vielfältige Zeitsteuerung möglich. Durch mehrfache Zeitsteuerung der selben IP kann man den Client zu beliebigen Zeiten Internetnutzung erlauben oder die Erlaubnis wegnehmen.
Berechtigungsprüfung über ouma:manage (HTTPD_RIGHTS_X='ouma:manage' in httpd.txt).
Es wird folgendes angezeigt:
Rechnerstatus an/aus (nur bei OUMA_OPT_PING)
Internet (Rechner ist im Internet an/aus)
Internetstatus (ja/nein/noch verfügbare Onlinezeit)
Zeiten (30min,1,2,4 Stunden ) zum individuellen vergeben
Aktualisieren (nur bei OUMA_OPT_PING), -> Rechnerstatus wird neu ermittelt
alle sperren
alle freigeben
Berechtigungsprüfung über ouma:list.
Es wird folgendes angezeigt:
Internet (Rechner ist im Internet an/aus)
Restzeit (ja/nein/noch verfügbare Onlinezeit)
Wo finde ich die Auswertungen, wenn
ich keinen Httpd einsetze ?
Gar nicht.
Funktioniert Ouma auch bei DSL ?
Da
ich kein DSL nutze, weiß ich das nicht.
Ab Version 1.0.0
:Nach einer Änderung die mir Frank Neitzel empfohlen hat,
sollte DSL jetzt funktionieren
Brauche ich IMOND unbedingt ?
Nein,
aber dann tritt das Problem auf, das je Onlineverbindung der Client
eine Minute zuviel abgezogen bekommt.
Kann ich
die Internetzeitzuweisungen zur Laufzeit ändern:
Dafür
habe ich ein eigenes OPT_UpCron geschrieben, wo man die Cron-Tabelle
ändern kann. Die Änderungen gehen aber bei Neustart
verloren.
Wie
erfährt ein User, wieviel Onlinezeit er noch hat ?
Dafür
gibt es jetzt den Menüpunkt User-Time im MiniHttpd
mit eigenem Berechtigungseintrag ouma/list
OUMA
zeigt an, das Rechner im Internet ist, obwohl er bereits
ausgeschaltet wurde.
Dieses Problem kann auftreten,
wenn ein Rechner z.B. abstürzt und noch eine Verbindung eines
Programmes aktiv war (Problem tritt auch auf, wenn man die
Internetverbindung per MiniHttpd beendet oder dort auf einen anderen
Provider umschaltet). Ein Verbindungseintrag (Masquerading-Eintrag)
kann dann noch weiter bestehen bleiben, der Rechner wird als 'im
Internet' geführt und solange läuft auch noch der
Countdown. Die meisten Verbindungen werden dann von der Gegenseite
nach einigen Minuten gekappt - es gibt aber Ausnahmen, z.B. offenbar
icq-Server, das zählt dann bis zu einer Stunde runter.
Um
das Problem abzumildern habe ich die Prüfung eingebaut, daß
es nur einen Countdown gibt, wenn eine Internetverbindung
besteht.
Für Lösungsvorschläge bin ich
offen
!!!!!!!!!!!!!!!!
Lösungversuch mit OUMA_SET_PAKET_TIME. Ich warte auf
Rückmeldungen
Läuft
OUMA und DHCP ?
Ich benutze kein DHCP, wahrscheinlich gibt es
aber Probleme. Für genauere Information wäre ich dankbar
0.0.1pre April 2003 - erstes local lauffähiges Opt nach kopieren von ONCO
0.0.2pre April 2003 - Anpassung an den fli-Standard
0.1.0pre Mai 2003 - Es wird jetzt zusätzlich beim Countdown geprüft, ob noch eine Onlineverbindung besteht. Problem war, das noch runtergezählt wurde, wenn keine Verbindung mehr besteht, aber ipchains noch was findet. Es wurde also immer 1 Minute zuviel abgezogen je Verbindung.
1.0.0 Mai 2003 DSL sollte jetzt funktionieren
1.0.1 Mai 2003 Freischalten der Hosts funktioniert jetzt auch
1.1.0 Juni 2003 Neuer MiniHttpd-Menüpunkt User-Liste
1.2.0 Juni 2003 Interne Änderung: countdown läuft nur noch, wenn Router Online ist. Kkeine DELAY-Zeiten mehr für PING, Rechnerstatus wird jetzt nur upgedatet, wenn man über MiniHttpd den UserManager (Seite hat Refresh von 10 min) aufruft oder dort aktualisiert
1.2.1 Juni 2003 Problem mit Netzwerken mit zweistelligen IP (z.B. *.*.*.11) nach Hinweis durch Till Heidtmann beseitigt
1.2.2 Juni 2003 Lösungsversuch von OUMA zeigt an, das Rechner im Internet ist, obwohl er bereits ausgeschaltet wurde.
1.2.3 Juni 2003 Bessere Verwaltung von STARTTIME oder TIMECTL_X_TIME='0'. Zusätzlich händisches Abschalten des Internetzugangs durch den User per User-List, wenn der seinen Rechner nicht in den Griff kriegt:-) (unerwünschte Verbindungsaufbauten)
1.2.4 Juni 2003 OUMA_START_SPERRE neu
Bisher noch keine Ideen
Bug-Reports bitte an u.a. eMail-Adresse richten, dafür bin ich offen und dankbar.
MfG,
Volker Krause
mailto:Volker_Krause@gmx.net
vorlage.html doku erstellt von
Daniel H. Reichelt