Subsections
1.1 ACCOUNTING - detaillierte Traffic Erfassung
Dieses OPT hat das Ziel, möglichst genau den verbrauchten Traffic jedes Clients zu erfassen und auszuwerten:
- Die Daten werden bytegenau und tageweise gespeichert.
- Es wird der Traffic aller Interfaces protokolliert.
- Die Abfrage erfolgt über das Webinterface als Tages- oder Monatsstatistik oder für einen beliebigen Zeitraum.
- Ein- und ausgehender Traffic wird getrennt und als Summe angezeigt.
- Es ist möglich, die Werte in Byte, Kilobyte, Megabyte oder Gigabyte auszugeben.
Die folgenden Variablen in der accounting.txt sollten Sie konfigurieren.
- OPT_ACCOUNTING
- Die Standardeinstellung ist 'no'.
'yes' aktiviert das Paket.
- ACCOUNTING_DIR
- Die Standardeinstellung ist '/boot/data/accounting'.
Hiermit wird das Datenverzeichnis festgelegt. Es sollte nicht in der RAM-Disk
liegen.
Falls man die Daten in der RAM-Disk sammeln will, um seine Festplatte o.ä. zu
entlasten, sollte man sich OPT_SARFILE oder OPT_CPMVRMLOG näher ansehen
und ggf. damit die Daten sichern und wiederherstellen.
Das Verzeichnis /var/run/accounting darf NICHT als Datenverzeichnis angegeben
werden und NICHT gesichert und wiederhergestellt werden.
- ACCOUNTING_INT
- Die Standardeinstellung ist 'pppoe'.
Hier werden die Interfaces angegeben, über die FLI4l ins Internet routet. Mehrere
Interfaces werden einfach durch Leerzeichen getrennt angegeben.
Beispiel:
ACCOUNTING_INT='pppoe' # DSL
ACCOUNTING_INT='circuit-1 circuit-2' # ISDN
ACCOUNTING_INT='IP_NET_x_DEV' # Ethernet
- ACCOUNTING_CRON
- Die Standardeinstellung ist '55 * * * *'.
Diese Angabe ist optional und kann komplett weggelassen werden.
Mit dieser Angabe kann accounting.sh regelmäßig ausgeführt werden. Für weitere
Informationen zum Syntax bitte die Dokumentation von easycron lesen.
Es sollte darauf geachtet werden das der Traffic zwischen zwei Aktualisierungen
4GB nicht überschreitet. Eine Aktualisierung kurz vor Tages ende ist sinnvoll, damit
der Traffic dem richtigen Tag zugeordnet wird. Die Voreinstellung sollte also bis zu
einer Bandbreite von 9Mbit/s ausreichen.
Für diese Option ist ein installiertes easycron Voraussetzungen.
- ACCOUNTING_LEARNIPS
- Die Standardeinstellung ist 'no'.
Diese Angabe ist optional und kann komplett weggelassen werden.
Bei Angabe von 'yes' wird das Script acclearnips.sh auf den fli4l kopiert und alle
ACCOUNTING_LEARNIPS_INTERVAL
Minuten ausgeführt. Der ARP Cache des
Routers wird überwacht und es werden Accounting Regeln für neue IP-Adressen
erstellt. Für diese Option ist ein installiertes easycron Voraussetzungen.
Die folgenden Variablen in der accounting.txt brauchen Sie nur im Ausnahmefall
konfigurieren.
- ACCOUNTING_VPNINT
- Die Standardeinstellung ist ''.
Diese Angabe ist optional und kann komplett weggelassen werden.
Hier werden VPN-Interfaces (tun0, tun1, ...) angegeben von denen der Traffic mit erfasst werden soll.
Mehrere Interfaces werden einfach durch Leerzeichen getrennt angegeben.
- ACCOUNTING_LEARNIPS_INTERVAL
- Die Standardeinstellung ist '5'.
Diese Angabe ist optional und kann komplett weggelassen werden.
Hier kann der Intervall für acclearnips.sh angegeben werden (siehe
ACCOUNTING_LEARNIPS).
Wenn diese Angabe fehlt oder leer gelassen wird,
wird der Standardwert (5 Minuten) gesetzt.
- ACCOUNTING_LEARNFROMINT
- In der Standardeinstellung werden alle Interfaces überwacht.
Diese Angabe ist optional und kann komplett weggelassen werden.
Mit dieser Einstellung kann festgelegt werden, das IP-Adressen nur vor bestimmten
Interfaces gelernt werden. Dies ist z.B. nützlich wenn der fli4l als Ethernetrouter
eingesetzt wird und IP-Adressen aus dem Providernetz erkannt werden.
Mehrere Interfaces werden einfach durch Leerzeichen getrennt angegeben.
- ACCOUNTING_METHOD
- Die Standardeinstellung ist 'new'.
Diese Angabe ist optional und kann komplett weggelassen werden.
Bei der bisherigen Accounting Methode ('old') wird sämtlicher Traffic durch die
Accounting Regelketten geleitet und zusätzlich Regeln angelegt die den Traffic
zwischen maskierten Netzen ausschließen, dafür wird die Postrouting Regelkette
ausgelesen. Das funktioniert mit der Angabe
POSTROUTING_LIST_1='IP_NET_1 MASQUERADE'
in der base.txt wunderbar, aber leider nicht mit
POSTROUTING_LIST_1='if:any:pppoe MASQUERADE'.
Die neue Methode ('new') leitet nur den Traffic der in
ACCOUNTING_INT
definierten Interfaces in die Accounting Regelketten. Hiermit ist auch
POSTROUTING_LIST_1='if:any:pppoe MASQUERADE'
kein Problem.
- ACCOUNTING_LOCALTRAF
- Die Standardeinstellung ist 'no'.
Diese Angabe ist optional und kann komplett weggelassen werden.
Normalerweise zählt Accounting nur den gerouteten Traffic. Ist ein Proxy auf dem
fli4l installiert, wird der Traffic nicht geroutet und die Accounting Zähler bleiben auf
Null. Hier kann ACCOUNTING_LOCALTRAF auf 'yes' gesetzt werden. Damit wird
auch der Traffic vom Router zum Client und vom Client zum Router in die
Accounting Regelketten geleitet.
Der Nachteil ist das jeglicher Traffic zwischen Client und Router als Internet Traffic
gezählt wird. Das schließt z.B. auch Updates, SSH, SCP, FTP, httpd, usw. ein.
Die Differenz kann schnell negativ werden.
- ACCOUNTING_MAXINT
- Die Standardeinstellung ist '4294967296'.
Diese Angabe ist optional und sollte nur in Sonderfällen angegeben werden.
Der Wert sollte die maximale Anzahl an Bytes sein, die ein Interface haben kann,
bevor es überläuft. Diese Variable muss nur angegeben werden, wenn das
Interface Maximum NICHT 4294967296 Byte (4GB) ist.
Wenn Sie sich nicht sicher sind lassen Sie diesen Parameter weg.
- ACCOUNTING_DEBUG_INT
- Die Standardeinstellung ist 'no'.
Diese Angabe ist optional und kann komplett weggelassen werden.
Bei Angabe von 'yes' wird im Accounting-Verzeichnis eine Datei namens int.log
erstellt, in dem die Berechnung der Interfacedaten protokolliert wird.
Accounting unterstützt die Rechtevergabe im httpd.
Beispiel (httpd.txt):
...
HTTPD_USER_N='2'
HTTPD_USER_1_USERNAME='admin'
HTTPD_USER_1_PASSWORD='geheim'
HTTPD_USER_1_RIGHTS='all'
HTTPD_USER_2_USERNAME='accounting'
HTTPD_USER_2_PASSWORD='0815'
HTTPD_USER_2_RIGHTS='accounting:view'
...
Der User admin hat hier alle Rechte inklusive Accounting, der User accounting hat nur
das Recht Accounting zu verwenden.
Die Bedienung im Web-Interface (httpd) sollte eigentlich selbsterklärend sein. Da aber
hierzu schon einige Rückfragen kamen möchte ich hier kurz darauf eingehen.
In den Ansichten können die Inhalte der linken Spalte (Monatsnamen, Hostnamen, IP-
Adressen, Interfacenamen und Tagesnummern) zur Navigation angeklickt werden.
Mit einem Klick auf Aktualisieren wird accounting.sh ausgeführt.
Im Datenverzeichnis wird für jedes Jahr ein Verzeichnis erstellt und darin die Daten in
Monatsdateien gespeichert.
Im Datenverzeichnis liegt auch die Datei index.acc. Die erfassten IP-Adressen und
Interfaces bekommen eine eindeutige Nummer und werden in die index.acc eingetragen.
Beispiel:
ACCOUNTING_HOST_n='3'
ACCOUNTING_HOST_1_IP='192.168.6.1'
ACCOUNTING_HOST_1_NAME='client1'
ACCOUNTING_HOST_2_IP='192.168.6.2'
ACCOUNTING_HOST_2_NAME='client2'
ACCOUNTING_HOST_3_IP='192.168.6.3'
ACCOUNTING_HOST_3_NAME='client3'
ACCOUNTING_INT_n='3'
ACCOUNTING_INT_1_NAME='ppp0'
ACCOUNTING_INT_2_NAME='eth0'
ACCOUNTING_INT_3_NAME='lo'
Die Variablen ACCOUNTING_HOST_x_NAME sind optional. Diese Namen werden im
Web-Interface angezeigt wenn die Namensauflösung auf index eingestellt ist.
Die index.acc kann direkt auf dem Router bearbeitet werden. Als Editor kann z.B. E3 aus
dem Tools-Paket verwendet werden.
- Achtung
- Die Daten werden anhand der Index-Nummer gespeichert. Eine Änderung
der Zuordnung von Index-Nummer zu IP oder Interface-Namen führt zu
ungültigen Daten.
- Frage
- Was bedeutet die Differenz?
- Antwort
- Nur der geroutete Traffic der eingetragenen Clients wird durch die Regeln erfasst.
Das Internetinterface erfasst jeglichen Traffic vom/zum Internet. Die Differenz kann
z.B. Traffic von nicht eingetragenen Clients, Proxy, E-Mail-Server, Downloadtools
auf dem Router und TCP/IP Overhead sein.
- Frage
- Seit ich OPT_ACCOUNTING installiert habe, wählt sich der Router
regelmäßig selbstständig ein, auch wenn kein Rechner im LAN läuft.
Wie kann ich das abstellen?
- Antwort
- Bitte die Variable DNS_BOGUS_PRIV in der base.txt auf 'yes' setzen.
(Dies entspricht der Standardeinstellung.)
- Frage
- Der Traffic für ppp0 ist mehrere Gigabyte zu hoch und die Differenz
damit auch.
- Antwort
- Es gibt Probleme bei der gleichzeitigen Verwendung von DIALMODE='auto' in der
base.txt und PPPOE_HUP_TIMEOUT='0' in der dsl.txt.
Wenn man 24h online sein möchte, kann man PPPOE_HUP_TIMEOUT auf einen
hohen Wert (z.B. 86400) setzten und regelmäßig für Anfragen sorgen.
Seit fli4l-2.1.12 gibt es noch die Möglichkeit, PPPOE_HUP_TIMEOUT='never' zu
setzen um ein Auflegen zu verhindern. Von dieser Einstellung rate ich ebenfalls ab
und rate eher zur Verwendung eines hohen Wertes, wie z.B. 86400.
© 2001-2015 Das fli4l-Team - January 27, 2015