Subsections

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. Beim Herunterfahren sollten die Logdateien auf ein permanentes Medium gesichert oder gleich der Pfad dorthin eingestellt werden, wenn man die Dateien behalten will. Der Pfad muss auf dem permanenten Medium existieren.


Wichtig: Die 'c3surf_mac.blacklist' liegt im persistenten Verzeichnis
C3SURF_PERSISTENT_PATH. Eine eigene Blacklist muss dorthin kopiert werden. Der Umfang des Protokolls wird im Foldenden definiert.


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 OPT_LOGINUSR ='yes' gesetzt ist, kann eine fehlerhafte Anmeldung 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 schnell und ist daher nur für ``Neugierige'' empfohlen.

C3SURF_DOLOG_HTTPD

Standard-Einstellung: C3SURF_DOLOG_HTTPD='no'

Zeichne alle mini_httpd Anfragen auf: c3surf_httpd.log (default: 'no').


Wichtig: Zusätzlich die Mini-httpd Logfunktion starten (bitte nur für Test oder Debuggingzwecke verwenden). Wenn eingeschaltet, empfiehlt es sich regelmäßig das Protokoll zu prüfen und zu löschen, das es sehr schnell groß wird.

opt_cpmvrmlog: http://extern.fli4l.de/fli4l_opt-db3/search.pl?pid=427 kann zum regelmäßigen Sichern 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 im Anhang).

C3SURF_PERSISTENT_PATH

Unbedingt anpassen, Empfehlung: '/var/lib/persistent/c3surf'

Definiert das Verzeichnes für Dateien, die nach dem Ausschalten oder nach einem Reboot erhalten bleiben sollen. Idealerweise liegt dies auf einer Festplatte oder CF-Karte ('/var/lib/persistent/c3surf'). Es kann auch ein Verzeichnis in der RAM-Disk gewählt werden (z.B. um das Medium zu schonen). Dann sollte das Verzeichnis sporadisch auf die Platte kopiert werden (z.B. opt_cpmvrmlog), da die Daten sonst nach einem Reboot, Absturz oder Stromverlust verloren wären.


Was wird hier gespeichert:


MAC-Blackliste:

'c3surf_mac.blacklist',wird bei Bedarf angelegt (siehe Admin Interface). Die Sperrung für die Mac-Adresse wurde über eine eigene Datei und nicht über den Paketfilter gelöst, da eine größeren Zahl von Einträgen Probleme auslöen kann. Nicht vergessen: Geblockte MAC-Adressen halten Standardbenutzer vom Netz fern, was im normalen Anwendungsfall ausreicht, nicht jedoch die Profis. Diese MAC-Blacklist verhindert nur die Anmeldung über C3SURF / loginusr, weil nichts direkt in der Firewall gesperrt wird.


Benutzerdaten:

<userloginname>.data (z. B. 'frank.data'), diese Dateien enthalten Daten über die Benutzer, wie Vorname, Name und E-mail-Adresse, Statistiken und Quotas. Die Persistenz der Benutzerdaten ermöglicht, dass die Daten aus der Konfigurationsdatei nur 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.

C3SURF_WORKON_TMP

Standard-Einstellung: C3SURF_WORKON_TMP='no'

Wer C3SURF_PERSISTENT_PATH eingestellt hat, kann hier 'yes' eintragen. Persistenten Daten werden dann beim Systemstart von der Festplatte auf das Verzeichnis C3SURF_TMP_PATH kopiert und nur noch von dort gelesen. Auf die Festplatte wird dann von C3SURF nur noch zugegriffen, wenn durch den Admin Daten in die persistenten Dateien 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. Standardwert ist 'yes'.


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: 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' gesetzt wird der C3SURF_COUNTER erst nach 0:00 Uhr des Folgetages zurückgesetzt.

Erläuterungen zum Langzeitkontingent (C3SURF_COUNTER='-2'):
Damit kann man 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 und die Nutzung eingeschränkt werden. Damit bei Zeitablauf die Sperrung erfolgt, muss C3SURF_QUOTA='yes' eingestellt sein.

Sonderfälle:


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

C3SURF_SAVE_QUOTA

Standard-Einstellung: C3SURF_SAVE_QUOTA='yes'

Sichert die Quota-Werte beim Herunterfahren und lädt 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 kopiert. So bleiben die momentanen Verbrauchsdaten der Benutzer erhalten. Ein plötzlicher Ausfall 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.


Wichtig: 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, kann man entweder alle IP-Adressen einzeln in die C3SURF.txt aufnehmen (also eine Liste aller 256 Adressen erstellen, wobei man die eine weglässt), oder man verwendet die CIDR Notation (wie oben), dann sind es IP-Gruppen und damit 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

Der Rechner mit der IP '192.168.0.2' kann 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 wird 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!)

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

Entscheidend ist die eigene Konfiguration. Es gelten für alle Ports, die nicht angegeben sind immer die Regeln aus der 'base.txt'. Nach einer Anmeldung gelten 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 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. Dies betrifft die INPUT-Chain. Wer bestimmte Dienste dauerhaft sperren will, sollte dies allerdings besser in der 'base.txt' mit den Parametern zur INPUT Chain tun.

Warum:
Weil diese Regeln hier nicht mehr gelten, sobald man den Parameter
OPT_C3SURF='no' setzt. Wer also C3SURF deaktiviert, muss zuvor die hier definierten Regeln in die 'base.txt' übertragen, wenn ihm die Sperre 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.


Folgendes ist bei der Wahl der Portnummer zu beachten:

Sollte hier versehentlich ein bereits verwendeten Port definiert sein, versucht der fli4l diesen httpd immer wieder zu starten. Das schlägt fehl, weil der Port schon vom Admin-Interface oder einem anderen Dienst belegt ist. Das kann nur auf der Konsole oder in einem eingeschalteten Log gesehen werden. Man merkt es daran, dass C3SURF nicht funktionieren wird, fli4l hohe CPU-Last erzeugt und langsam zu laufen scheint.

C3SURF_HTTPD_LISTENIP

Standard-Einstellung: C3SURF_HTTPD_LISTENIP='Host OR IPAdresse'

Gibt die 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
C3SURF_HTTPD_LISTENIP='192.168.11.3'    # Angabe einer IP-Adresse
C3SURF_HTTPD_LISTENIP='IP_NET_1_IPADDR' # Angabe einer IP-Adress-Variablen

Der http-Dienst 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 Variablen 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 z.B. squid verwendet 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'

Schalte automatisches Abmelden beim Erreichen der Sperrstunde an ('yes') oder ab ('no').

C3SURF_PORTAL_DEFAULT_LANG

Standard-Einstellung: C3SURF_PORTAL_DEFAULT_LANG='de'

Wertebereich: ein zweistelliger Ländercode (z. B. 'de', 'fr', 'en').

Legt die Standard-Sprache für die Anmeldeseite fest. Wird diese Variable weggelassen, wird 'de' angenommen.

Es sollte unter ~/opt/files/srv/www/c3surf/lang/ eine Datei namens c3surf.<ländercode> existieren. Derzeit werden 'de', 'fr', 'en' und 'it' mitgeliefert. Wer daraus für eine andere Sprache eine weitere Datei erstellt, möge diese an das fli4l-Team schicken.

C3SURF_PORTAL_LANGUAGES

Standard-Einstellung: C3SURF_PORTAL_DEFAULT_LANG='de fr 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-2016 Das fli4l-Team - February 16, 2016