Unterabschnitte

1.3 Konfiguration OPT_C3SURF

OPT_C3SURF

Standard-Einstellung: OPT_C3SURF='no'

Paket aktivieren oder deaktivieren

C3SURF_LOG_PATH

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.

C3SURF_DOLOG_LOGIN

Standard-Einstellung: C3SURF_DOLOG_LOGIN='yes'

Zeichne Login / Logout auf: c3surf_login.log (default: 'yes')

C3SURF_DOLOG_INVALID

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.

C3SURF_DOLOG_PAGE

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.

C3SURF_DOLOG_HTTPD

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).

C3SURF_PERSISTENT_PATH

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).

C3SURF_WORKON_TMP

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.

C3SURF_QUOTA

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').

C3SURF_COUNTER

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.

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.

C3SURF_TIME

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:

C3SURF_BLOCKTIME

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:




Die Aufhebung der Sperre ist mit einem mittleren Fehler von einer Minute behaftet.

C3SURF_SAVE_QUOTA

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.

C3SURF_CHECK_ARP

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

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).

C3SURF_CONTROL_HOST_OR_NET_x

C3SURF_CONTROL_HOST_OR_NET_x='Netzwerk OR Host OR IP-Adresse'

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

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

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

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

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)

C3SURF_HTTPD_PORT

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

Solltest Du versehentlich einen bereits verwendeten Port erwischt haben, versucht der fli4l diesen httpd immer wieder zu starten. Was der nicht will, weil der Port schon vom Admin-Interface oder einem anderen Dienst belegt ist. Das kannst Du nur auf der Konsole oder in einem eingeschalteten Log sehen. Merken tust Du es daran, dass C3SURF nicht funktionieren wird, und dass Dein fli4l hohe CPU-Belastung hat und furchtbar langsam zu laufen scheint.

C3SURF_HTTPD_LISTENIP

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.

1.3.1 Optionale Parameter OPT_C3SURF

C3SURF_CONTROL_SQUID

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.

C3SURF_SLOPPY_MAC

Standard-Einstellung: C3SURF_SLOPPY_MAC='no'

C3SURF_CHECK_CURFEW

Standard-Einstellung: C3SURF_CHECK_CURFEW='yes'

C3SURF_PORTAL_DEFAULT_LANG

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.

C3SURF_PORTAL_LANGUAGES

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.

© 2001-2011 Das fli4l-Team - 15. Oktober 2011