Standard-Einstellung: OPT_C3SURF='no'
Paket aktivieren oder deaktivieren
Standard-Einstellung: C3SURF_LOG_PATH='/var/log/c3surf'
Definiert das Verzeichnis für log-Dateien von C3SURF. Du musst mit moderatem Wachstum rechnen. Im Einzelen ist die bei den noch folgenden Einträgen für die Log-Dateien genannt. Beim Herunterfahren solltest Du die Logdateien auf ein permanentes Medium sichern oder den Pfad gleich dorthin einstellen, wenn Du die Dateien nicht verlieren willst. Der Pfad muss dann auf dem permanenten Medium existieren.
Wichtig: Die 'c3surf_mac.blacklist' liegt ab sofort (v2.1.0) nicht mehr im
C3SURF_LOG_PATH, sondern im persistenten Verzeichnis
C3SURF_PERSISTENT_PATH. Falls Du eine Blacklist gepflegt hast, musst Du
diese ins Verzeichnis C3SURF_PERSISTENT_PATH kopieren. Weiter unten
legst Du fest, was gelogged werden soll.
Standard-Einstellung: C3SURF_DOLOG_LOGIN='yes'
Zeichne Login / Logout auf: c3surf_login.log (default: 'yes')
Standard-Einstellung: C3SURF_DOLOG_INVALID='yes'
Zeichne ungültige Logins auf: c3surf_invalid.log (default: 'yes'). Wenn die "OPT_LOGINUSR='yes'" gewählt ist, kann eine fehlerhafte Anmeldung zur Zeit nicht aufgezeichnet werden.
Standard-Einstellung: C3SURF_DOLOG_PAGE='no'
Zeichne den Aufruf der html-Seite auf: c3surf_page.log (default: 'no'). Jeder Zugriff auf die Anmeldeseite wird gelogged. Das Page-Log wächst vermutlich am 2. schnellsten von allen Logs - nur für Neugierige, die regelmäßig nachsehen.
Standard-Einstellung: C3SURF_DOLOG_HTTPD='no'
Zeichne alle mini_httpd Anfragen auf: c3surf_httpd.log (default: 'no').
Zusätzlich die Mini-httpd Logfunktion starten, aber hier ist
Vorsicht geboten, richtig schnelles Wachstum bitte nur für Test oder
Debug verwenden. Wenn eingeschaltet, empfiehlt es sich wirklich täglich
die log-Datei zu prüfen oder anders: Für ganz Neugierige - heißt
regelmäßig prüfen und löschen.
opt_cpmvrmlog: http://extern.fli4l.de/fli4l_opt-db3/search.pl?pid=427
kann zum regelmäßigen wegsichern benutzt werden. Damit danach
wieder korrekt gelogged wird, muss der mini_httpd neu gestartet werden.
Dazu gibt es das Script "/usr/local/bin/c3surf_kill_httpd.sh" (Config Beispiel siehe im Anhang).
Unbedingt anpassen, Empfehlung: '/data/c3surf'
Definiert das Verzeichnes, welches Daten aufnimmt, die nach dem Ausschalten
oder nach einem Reboot erhalten bleiben sollen. Idealerweise liegt dies auf
einer Festplatte oder CF-Karte ('/data/c3surf'). Wer seine Platte lieber den
ganzen Tag ausgeschaltet haben will, der kann auch ein Verzeichnis in der
RAM-Disk wählen und sollte dann entsprechend seiner Anforderungen das
Verzeichnis sporadisch auf die Platte kopieren (opt_sarfile oder
opt_cpmvrmlog), sonst sind die Daten nach einem Reboot weg. Bei einem Absturz oder
Stromverlust würden die Daten bis zur letzten Sicherung fehlen.
Was wird hier gespeichert:
MAC-Blackliste:
'c3surf_mac.blacklist',wird bei Bedarf angelegt (siehe Admin
Interface). Also wenn Du dort Einträge veranlasst. Die Sperrung für die
Mac-Adresse wurde bewusst über eine eigene Datei gelöst und nicht in den
Paketfilter implementiert, da es bei einer größeren Zahl von Einträgen sonst
Probleme geben kann. Aber nicht vergessen: Geblockte MAC-Adressen halten
Standardbenutzer vom Netz fern, was im normalen Anwendungsfall ausreicht,
nicht jedoch die Profis. Ausserdem verhindert diese MAC-Blacklist nur die
Anmeldung über C3SURF / loginusr, weil es eben nicht direkt in der Firewall
abgelegt wird.
Benutzerdaten:
<userloginname>.data (z. B. 'frank.data'), diese Dateien
enthalten Daten über die Benutzer, wie Vorname, Name und E-mail-Adresse,
welche auch im Web-Interface angezeigt werden. Weiter werden diese Dateien für
Statistiken und die Kontrolle der Quotas benötigt. Die Persistenz der
Benutzerdaten hat zur Folge, dass die Daten aus der Konfigurationsdatei nur
noch beim ersten Mal erzeugt werden. Das heißt: Ist für den Benutzer "frank" eine 'frank.data' beim Systemstart vorhanden, so werden die Einstellungen in
der Config-Datei ignoriert.
Mittels LOGINUSR_ACCOUNT_x_OVERWRITE='yes'
kann das überschreiben der entsprechenden Benutzerdaten erzwungen werden.
Mittels LOGINUSR_DELETE_PERSISTENT_DATA='yes',
werden alle "*.data" Dateien beim Reboot gelöscht (gleiches Verhalten wie ein temporäres Verzeichnis).
Standard-Einstellung: C3SURF_WORKON_TMP='no'
Wer eine Festplatte im Router verbaut hat und den C3SURF_PERSISTENT_PATH auf diese Festplatte eingestellt hat, der kann hier 'yes' eintragen. Dann werden die persistenten Daten beim Router Start von der Festplatte auf das Verzeichnis C3SURF_TMP_PATH kopiert und nur noch von dort gelesen. Die Festplatte wird dann von C3SURF nicht mehr geweckt. Nur wenn Daten durch den Admin in die persistenten Dateien zurück geschrieben werden.
Wichtig: Persistente Daten sind:
Für FLASH-Speicher kann hier 'no' stehen, da ja im normalen Betrieb von
C3SURF nur gelesen wird. Schreibzugriffe verursacht nur der Admin.
Standard-Einstellung: C3SURF_QUOTA='no'
Soll der Zugang limitiert werden, wird hier 'yes' eingetragen. So wird der Zugang für eine IP-Adresse für C3SURF_BLOCKTIME Minuten nach Zeitablauf oder Überschreitung des Anmeldezählers blockiert. Als Standardwert wurde 'yes' gewählt. Ein 'no' entspricht dem Verhalten der C3SURF Versionen vor der Version 2.1.0.
Wichtig: Auch die individuellen -TIME, -BLOCKTIME und -COUNTER bei den Accounts zum
LOGIN_USR werden durch diese Variable aktiviert ('yes') oder deaktiviert ('no').
Standard-Einstellung: C3SURF_COUNTER='0'
Gibt die Anzahl der möglichen Unterbrechungen innerhalb der Freiminuten an.
Wichtig: Seit der Version 2.1.0 werden die Freiminuten nicht mehr nur nach dem
Parkuhrprinzip verwaltet: Einmal angemeldet läuft die Zeit ohne
Unterbrechungsmöglichkeit sondern es kann eine Anzahl von Unterbrechungen
(Logout/Login) definiert werden. Wird hier z. B. '1' eingetragen, so kann
man sich innerhalb der Freiminuten einmal abmelden und dann wieder anmelden,
was 2 Anmeldungen in der Zeit entspricht. Bei der folgenden Anmeldung erhält
man die von C3SURF_TIME noch verbliebene Differenz von der Anmeldung davor.
Ist zudem C3SURF_BLOCKTIME='0' gewählt, so wird der
C3SURF_COUNTER erst nach 0:00 Uhr des Folgetages zurückgesetzt.
entspricht der Wert dem Parkuhrprinzip (Geld rein, Geld weg, Zeit läuft: also keine Unterbrechungen möglich) und bildet das Verhalten von C3SURF vor der Version 2.1.0 ab.
wird diese Funktion abgeschaltet = beliebig viele Unterbrechungen der Freiminuten sind möglich.
gibt es beliebig viele Unterbrechungen (wie '-1'), aber die Blockzeit wird bereits mit der ersten Anmeldung heruntergezählt. Im Gegensatz zur '-1', wo die Blockzeit erst nach dem Verbrauch der gesamten Zeit eingestellt wird. Da hier die Blockzeit gleichzeitig heruntergezählt wird, wird der Benutzer nur geblockt bzw. davon etwas mitbekommen, wenn er sein Kontingent zu schnell verbraucht.
Erläuterungen zum Langzeitkontingent (C3SURF_COUNTER='-2'):
Damit kannst Du z. B. 10 Stunden Onlinezeit (C3SURF_TIME='600') mit
einer Blockzeit von einer Woche (C3SURF_BLOCKTIME='10080' : 60sec x 24h x 7Tage)
kombinieren. Dann können die 10 Stunden innerhalb einer Woche verbraucht werden. Wer sie am ersten Tag am Stück
verbraucht, der wartet dann eben den Rest der Woche. Nach Ablauf der Blockzeit werden wieder 10 Stunden
bereitgestellt.
Kurzfassung: Der Nutzer hat ein Wochenkontingent von 10 Stunden, welches er sich selbst sinnvoll auf
die Woche verteilen kann. Verbraucht er das Kontingent nicht innerhalb einer Woche, dann wird er nicht mit einem
"Quota-Block" belegt. Es entsteht dann keine Wartezeit. Verbraucht er es hingegen am ersten Tag, dann
ist er die restlichen 6 Tage der Woche geblockt.
Gilt auch für LOGINUSR_ACCOUNT_x_COUNTER.
Empfehlung: C3SURF_SAVE_QUOTA='yes', dann bleiben die Werte auch nach einem
normalen Neustart erhalten.
Bei Stromausfall gehen die Werte verloren.
Ist C3SURF_QUOTA='yes', so wird nach der Überschreitung des Zählers die Sperre entsprechend C3SURF_BLOCKTIME aktiviert.
Standard-Einstellung: C3SURF_TIME='60'
Anzahl der Minuten, die eine Freischaltung gilt.
Wobei der Wert '0' ein unlimitiertes Login bedeutet (gilt auch für LOGINUSR_ACCOUNT_x_TIME).
Sonderfall:
Bedeutet eine unlimitierte Onlinezeit. Der Nutzer sollte sich selbst abmelden. Das System (C3SURF) meldet ihn nur ab, wenn der Rechner abgeschaltet wird und C3SURF_CHECK_ARP='yes' (Standardeinstellung) gewählt wurde.
Standard-Einstellung: C3SURF_BLOCKTIME='240'
Anzahl der Minuten, die eine IP geblockt wird, wenn die Freiminuten abgelaufen sind oder wenn der Admin dies über das Web-Interface veranlasst. So kann ein Rechner für diese Zeit aus dem Netz ferngehalten werden und die Nutzung eingeschränkt werden. Damit bei Zeitablauf die Sperrung erfolgt, muss C3SURF_QUOTA='yes' eingestellt sein.
Sonderfälle:
es erfolgt eine Sperrung der Adresse, bzw. des Nutzers bis 00:00 Uhr des Folgetages.
es erfolgt keine Sperrung.
Die Aufhebung der Sperre ist mit einem mittleren Fehler von einer Minute
behaftet.
Standard-Einstellung: C3SURF_SAVE_QUOTA='yes'
Sichere die Quota-Werte beim Herunterfahren und lade sie beim Start des Routers. Damit werden bei einem normalen Reboot des Routers die temporären Dateien der Quota-Verwaltung nach C3SURF_PERSISTENT_PATH geschrieben und beim Neustart von dort wieder in das temporäre Verzeichnis eingelesen. So bleiben die momentanen Verbrauchsdaten der Benutzer erhalten. Ein plötzlicher Stromausfall ist damit nicht abgedeckt.
Wichtig: LOGINUSR_DELETE_PERSISTENT_DATA='no',
sollte eingestellt sein, weil diese Option sonst beim Neustart alle Benutzer-Accounts
und die zugehörigen Quota-Daten löscht.
Standard-Einstellung: C3SURF_CHECK_ARP='yes'
Prüfe im Countdown Modul, ob die IP eines Rechners aus der ARP Tabelle verschwunden ist. So kann ein abgeschalteter Rechner erkannt werden. Jedoch manchmal mit erheblichem Zeitversatz.
C3SURF_CONTROL_HOST_OR_NET_N='0'
Wert: Ganze Zahl.
Wieviele und welche IP-Bereiche oder Hosts sollen von c3Surf kontrolliert
werden. Dies betrifft die Weiterleitung in ein anderes Netz (FORWARD Chain).
Kontrolliert alle Clients.
Hier kann zur Vereinfachung ein komplettes Netz angegeben werden, z. B.
das WLAN. Dann müssen alle WLAN-Nutzer die Anmeldeseite benutzen. Es
können auch eine Referenz auf einen Host (@Host) oder eine IP-Adresse
angegeben werden. Wer oder was hier eingetragen ist, wird auf die
Anmeldeseite umgeleitet und es gelten die weiter unten zu definierenden
Sperrregeln.
Beispiel:
C3SURF_CONTROL_HOST_OR_NET_1='IP_NET_3' # Das Netz angeben IP/MASK C3SURF_CONTROL_HOST_OR_NET_2='@T8200' # oder den Host @HOST C3SURF_CONTROL_HOST_OR_NET_3='192.168.13.11' # oder eine IP-Adresse Das nächsten Beispiel ist vom Prinzip her gleich mit dem oben bereits dargestellten (IP_NET_3). Wenn in der "base.txt" die IP-Adresse so gesetzt wurde. C3SURF_CONTROL_HOST_OR_NET_1='192.168.0.1/24' # kontrolliert alle Clients Soll ein Rechner ausgenommen sein, so kannst Du entweder alle IP-Adressen einzeln in die C3SURF.txt aufnehmen (also eine Liste aller 256 Adressen erstellen, wobei Du die eine weglässt), oder Du verwendest die CIDR Notation (wie oben), dann sind es IP-Gruppen und damit ist es weniger Schreibarbeit (8 Zeilen, statt 255).Das sieht dann so aus:
C3SURF_CONTROL_HOST_OR_NET_N='8' # Die Anzahl der Hosts # oder Netze C3SURF_CONTROL_HOST_OR_NET_1='192.168.0.0/31' # 0-1 C3SURF_CONTROL_HOST_OR_NET_2='192.168.0.3' # only 3 not 2 C3SURF_CONTROL_HOST_OR_NET_3='192.168.0.4/30' # 4-7 C3SURF_CONTROL_HOST_OR_NET_4='192.168.0.8/29' # 8-15 C3SURF_CONTROL_HOST_OR_NET_5='192.168.0.16/28' # 16-31 C3SURF_CONTROL_HOST_OR_NET_6='192.168.0.32/27' # 32-63 C3SURF_CONTROL_HOST_OR_NET_7='192.168.0.64/26' # 64-127 C3SURF_CONTROL_HOST_OR_NET_8='192.168.0.128/25' # 128-255 Jetzt kann der Rechner mit der IP '192.168.0.2' ohne Anmeldung alles was in der firewall des fli4l erlaubt ist.
C3SURF_CONTROL_PORT_N='0'
Wert: Ganze Zahl.
Wieviele TCP-Ports des Routers sollen gesteuert werden?
Wieviele und welche explizit benannten Ports sollen von c3Surf kontrolliert
werden? Betroffen sind die IP-Bereiche und die Hosts von oben
"C3SURF_CONTROL_HOST_OR_NET_N" . c3Surf
steuert diese Ports und gibt diese nach einer erfolgreichen Anmeldung frei,
so dass die über diese Ports existierenden Services des Routers genutzt werden können
(betrifft die INPUT-Chain).
C3SURF_CONTROL_PORT_x='port_nr'
Angabe der Portnummer und der Zugriff auf die dahinter stehenden Dienste des Routers (fli4l) sind bis zur Anmeldung gesperrt. Nach erfolgter Anmeldung der Dienst dann für die Zeit der Freischaltung zur Verfügung gestellt.
Beispiele:
C3SURF_CONTROL_PORT_1='515' # z.B. lpdsrv (Drucker benutzbar, nach Anmeldung) C3SURF_CONTROL_PORT_2='21' # z.B. ftp - (wohl gemerkt ftp auf dem router! # gibts ja nicht ;-)) Weitere mögliche Portadressen: 21=ftp, 22=ssh, 5000=imonc, 5001=telmod, 8118=privoxy, 9050=tor, 3128=squid, 20000=mtgcapri 80=http(Admin) 515=lpdsrv Aber entscheidend ist die eigene Konfiguration. Es gelten für alle Ports, die nicht angegeben sind natürlich immer die Regeln aus der 'base.txt'. Nach einer Anmeldung gelten im übrigen auch immer noch die Regeln aus der 'base.txt'. c3Surf ist diesen Regeln bis zur Anmeldung durch den Benutzer nur vorgeschaltet. Es werden also nach der Anmeldung immer noch alle Regeln beachtet. So kann man z. B. in der 'base.txt' den Zugriff von WLAN auf das kabelgebundene Netz verbieten. Dieses Verbot gilt dann natürlich auch für die über c3Surf im WLAN angemeldeten Benutzer.
C3SURF_BLOCK_PORT_N='0'
Wert: Ganze Zahl.
Wieviele TCP-Ports des Routers sollen geblockt werden?
Hinweise:
Permanentes Blocken von Diensten für oben benannte Netze und Hosts
"C3SURF_CONTROL_HOST_OR_NET_N". Wieviele
und welche explizit benannten Ports sollen von c3Surf permanent geblockt werden?
Es gibt dann keinen Zugriff auf die dahinter stehenden Dienste des Routers
(fli4l) für die Hosts und/oder Rechner der gesperrten Netze. Auch nach dem Anmelden
nicht. Betrifft die INPUT-Chain. Eigentlich ist diese Funktion nicht notwendig, denn
wer bestimmte Dienste dauerhaft sperren will, sollte dies besser in der 'base.txt'
mit den dortigen Parametern zur INPUT Chain tun.
Warum:
Weil diese Regeln hier nicht mehr gelten, sobald man den Parameter
OPT_C3SURF='no' setzt. Wer also C3SURF entsorgt, muss zuvor die hier
definierten Regeln in die 'base.txt' übertragen, wenn ihm die Dienstesperre
für die oben benannten Hosts oder Netze weiter wichtig sind.
C3SURF_BLOCK_PORT_x='port_nr'
Beispiele:
C3SURF_BLOCK_PORT_1='5000' # z.B. imonc C3SURF_BLOCK_PORT_2='5001' # z.B. telmond C3SURF_BLOCK_PORT_3='20000' # z.B. mtgcapri (OPT_MTGCAPRI) C3SURF_BLOCK_PORT_4='22' # z.B. ssh C3SURF_BLOCK_PORT_5='8118' # z.B. privoxy (PROXY) C3SURF_BLOCK_PORT_6='9050' # z.B. tor (PROXY) C3SURF_BLOCK_PORT_7='80' # z.B. httpd Admin interface (HTTPD) C3SURF_BLOCK_PORT_8='7437' # z.B. caiviar (OPT_CAIVIAR)
Standard-Einstellung: C3SURF_HTTPD_PORT='8080'
Auf welchem Port und welcher IP-Adresse soll der mini_httpd für die Benutzeranmeldung lauschen? http Anfragen von Rechnern werden auf diese Adresse und diesen Port umgeleitet. Port 8080 ist hier Default.
Wichtig: Folgendes ist bei der Wahl der Portnummer zu beachten
Standard-Einstellung: C3SURF_HTTPD_LISTENIP='Host OR IPAdresse'
Gibt die angegebene lokale IP an, an die sich das Interface für die Anmeldung binden soll. Entweder IP-Adresse oder @hostname. Hierhin werden http Anfragen der Clients bei Bedarf (also wenn sie nicht angemeldet sind) umgeleitet. So kommen die Anwender dann schnell auf die Anmeldeseite.
Beispiele:
C3SURF_HTTPD_LISTENIP='@wifi-router' # Angabe eines Hostnamens in der # fli4l-Weise. C3SURF_HTTPD_LISTENIP='192.168.11.3' # Angabe einer IP-Adresse C3SURF_HTTPD_LISTENIP='IP_NET1_IPADDR' # Angabe einer IP-Adresse mittels # Variable # # Der http-Diesnt für C3SURF wird immer # an genau eine IP-Adresse gebunden.
Standard-Einstellung: C3SURF_CONTROL_SQUID='no'
Mit dem Einfügen der Variable C3SURF_CONTROL_SQUID='yes' wird die Kontrolle über squid erzwungen. Damit wird die C3SURF Portumleitung an den Anfang gesetzt, was auch Auswirkungen auf andere Pakete hat (z. B. openvpn).
Die Empfehlung ist 'no', wer es unbedingt braucht, weil er squid verwendet, der sollte prüfen, ob nicht ungewollt noch andere Funktionen dadurch beeinflusst werden.
Standard-Einstellung: C3SURF_SLOPPY_MAC='no'
(Standard), wenn dieser Parameter nicht angegeben wurde, lasse Login nur mit MAC-Adressermittlung aus der ARP-Tabelle zu. Es wird also nicht 'schlampig' mit MAC-Adressen verfahren.
Dann nimmt C3SURF es mit der MAC-Adresse nicht so genau, sollte diese fehlen und nicht über die ARP-Tabelle ermittelbar sein, so wird trotzdem die Anmeldung erlaubt. Wer hier 'yes' wählt sollte C3SURF_CHECK_ARP='no' setzen. Sonst erfolgt die automatische Abmeldung (im Mittel nach einer Minute), weil der "countdown'"Prozess wegen fehlendem Eintrag in der ARP-Tabelle zur Abmeldung aufgefordert wird.
Standard-Einstellung: C3SURF_CHECK_CURFEW='yes'
schalte automatisches Abmelden beim Erreichen der Sperrstunde ab.
(Standard), wer bei Erreichen der Sperrstunde angemeldet ist, wird rausgeworfen.
Standard-Einstellung: C3SURF_PORTAL_DEFAULT_LANG='de'
Wertebereich: ein zweistelliger Ländercode (z. B. 'de', 'es, 'en').
Legt die Standard-Sprache für die Anmeldeseitefest. Wird diese Variable weggelassen wird 'de' angenommen.
Es sollte unter ~/opt/files/srv/www/c3surf/lang/ eine Datei namens c3surf.<ländercode> existieren. Mit der Version 2.3.1 werden c3surf.de, c3surf.en und c3surf.es mitgeliefert. Wer daraus für eine andere Sprache eine weitere Datei erstellt, möge mir diese schicken.
Standard-Einstellung: C3SURF_PORTAL_DEFAULT_LANG='de es en it'
Wertebereich: eine mit Leerzeichen getrennte Liste von immer zwei Buchstaben.
Legt fest, welche Sprachdateien für die Anmeldeseite auf das System übertragen werden sollen. Sollten hier zweistellige Kürzel stehen, zu denen keine Sprachdatei existiert, so wird bei der Generierung der Router-Images eine Warnung ausgegeben, dass zu dem Kürzel in der Liste keine Datei gefunden wurde und somit auch nichts kopiert wurde. Der Build-Prozess wird nicht abgebrochen.