Ich hab' mal meine Neuinstallation von IAM (die leider grad nötig war) dokumentiert. Es wäre schön, wenn ihr einfach mal Korrekturlest und evtl. noch den einen oder anderen Tipp parat habt.
Edit: Mittlerweile (12.9., 20:50 Uhr) sind alle Fehler korrigiert und die Anregungen aufgenommen. Es ist eine lauffähige iam-Installation, die an den Puretec-Rootserver angepasst ist.
Es ist auch in der FAQ: http://www.rootforum.org/faq/index.php? ... =008&id=46
Gruß
Olfi ;)
-------------------------------------------------
IAM Install-HowTo für einen Rootserver
Da es immer wieder im Forum auftaucht, hier nochmal eine kleine Zusammenfassung einiger typischer Probleme rund um das Traffic-Ã?berwachungstool iptables accounting monster (IAM). Die wichtigen Schritte sind auch in der mitgelieferten HOWTO Datei beschrieben, allerdings in englisch.
Anhand einer typischen Installation (zum ansehen des Traffics per Web) will ich auf die Probleme kurz eingehen. Weitere Optionen und Konfigurationen sind natürlich gerne willkommen.
Die Befehle und Kommandos sind auf der Shell per ssh einzugeben.
- Archiv downloaden, entpacken und kopieren:
Code: Select all
cd /usr/local/src wget ftp://intevation.de/iam/iam-0.0.2.tar oder wget ftp://ftp.gwdg.de/pub/misc/freegis/intevation/iam/iam-0.0.2.tar tar -xvf iam-0.0.2.tar mkdir /usr/local/iam cp -r /usr/local/src/iam-0.0.2/* /usr/local/iam/ cd /usr/local/iam - Das Skript iptables kopieren, modifizieren und starten
- Kopieren:Mit dem Editor pico öffnen...Code: Select all
cp iptables.server /etc/init.d/iptables- Modifizieren (u.a. dank der Infos von Thomas Koester, dem Entwickler):Code: Select all
pico /etc/init.d/iptablesanpassen.Code: Select all
DUMPFILE=/usr/local/iam/dump
können wir so lassen. Es ist das Device, an dem dieser Rechner an das Internet angeschlossen ist. Bei Rechnern mit nur einer Netzwerkkarte in Richtung Firewall meist eth0.Code: Select all
extif=eth0
Die IP-Adresse, die dieser Server vom Internet aus betrachtet hat, also deine Server-IP.Code: Select all
extip=217.160.xxx.yyy
Die "interne Netzwerkkarte" lo (local). Verkehr vom Rechner zu sich selbst soll ja sicherlich nicht berechnet werden.Code: Select all
intif=lo
Die Netzmaske für das LAN am Serverstandort. Dort kann man z.B. die IP des Updateservers von Puretec eintragen, denn der Traffic dorthin ist ja kostenlos. Diese IP entspricht der des Backupservers, zu dem der Traffic ebenfalls kostenlos ist, wenn man ihn gemietet hat.Code: Select all
intnet=195.20.224.72
Die Zeile hq= kann gelöscht werden. Sie hilft beim Beschreiben des Traffics zwischen eigenem Server und dem Server von intevation.de. Hq waere dann die Netzmaske fuer das Buero (HeadQuarter) von intevation.
Ebenso kann die Kette intevation gelöscht werden, d.h. folgende Zeilen löschen:Dann sorgen wir dafür, dass das /var/log/warn Log nicht mit Meldungen überflutet wird. Die folgenden Zeilen im Bereich 'other traffic' müssen so aussehen:Code: Select all
new_chain intevation acc_ip intevation $hqDanach STR+O drücken und RETURN um zu speichern, sowie STR+X um pico zu verlassen.Code: Select all
new_chain fragment acc_ip fragment 0/0 -f new_chain unknown acc_ip unknown 0/0
- Starten:und es sollte erscheinen:Code: Select all
/etc/init.d/iptables startDann noch einen ersten Dump machen:Code: Select all
Starting iptables ip accounting: iptables.und die Datei dump im Verzeichnis /usr/local/iam sollte vom Skript angelegt sein.Code: Select all
/etc/init.d/iptables dump - Das Skript an eigene Bedürfnisse anpassen
Der Satz aus dem original-HOWTO
dürfte selbsterklärend sein. Das ist nur eine Frage des persönlichen Geschmacks.Edit chains.py to set categories, names, rates and their descriptions.
Zumindest folgende Zeile kann bedenkenlos gelöscht werden, wenn oben die Kette zum intevation-Server gelöscht wurde:Code: Select all
"intevation" : (free, "Intevation office"), - Das Skript iam_report anpassen
Folgendes sollte so in iam_report stehen:
wobei WWWDIR den absoluten Pfad zu dem Webverzeichnis darstellt, in dem iam seine einsehbaren html-Dateien ablegt. Das Verzeichnis muss existieren bzw. noch angelegt werden und natürlich per Web erreichbar sein.Code: Select all
IAM=/usr/local/iam/iam DUMP=/usr/local/iam/dump WWWDIR=/home/Pfad_zum_Webverzeichnis
DUMP und IAM bezeichnen keine Verzeichnisse, sondern den kompletten Pfad samt Dateinamen des Skriptes iam (/usr/local/iam ist das Verzeichnis, /usr/local/iam/iam das Verzeichnis samt Dateinamen dahinter). Bei dump analog.
Wer den Anzeigezeitraum von iam dem Abrechnungszeitraum von 1&1 anpassen will, kann das durch folgende Ã?nderungen in iam_report erreichen (angenommen der 9. des Monats ist euer Stichtag bei 1&1):
Hier muss 09 natürlich durch deinen Abrechnungstag ersetzt werden.Code: Select all
#!/bin/sh IAM=/pfad/zu/iam DUMP=/pfad/zum/dumpfile WWWDIR=/pfad/zum/report YM_CURRENT=`date '+%Y-%m'` YM_LAST=`date --date='1 month ago' '+%Y-%m'` YM_NEXT=`date --date='1 month' '+%Y-%m'` $IAM -f $YM_CURRENT-09 -t $YM_NEXT-09 -w $WWWDIR/$YM_CURRENT.html $DUMP $IAM -f $YM_LAST-09 -t $YM_CURRENT-09 -w $WWWDIR/$YM_LAST.html $DUMP ln -sf $WWWDIR/$YM_CURRENT.html $WWWDIR/current.html ln -sf $WWWDIR/$YM_LAST.html $WWWDIR/last.html exit $? - Reports automatisch erstellen lassen
Dazu müssen in der crontab folgende cronjobs erstellt werden:
zum aufrufen des Cron-Editors, dann dort folgende Zeilen einfügen (die jede halbe Stunde einen dump erstellen und zwei Minuten später den Report schreiben)Code: Select all
export EDITOR=pico crontab -eEbenso wieder STR+O und RETURN zum speichern und STR+X zum verlassen von pico.Code: Select all
0,30 * * * * /etc/init.d/iptables dump >/dev/null 2,32 * * * * /usr/local/iam/iam_report @reboot /etc/init.d/iptables start - Testreport ausgeben (optional)
Jetzt noch einen ersten Report auf der Konsole erstellen lassen:
und es sollte ein Report erscheinen, der allerdings noch nicht viel enthält.Code: Select all
./iam -r dump
Wenn auf dem Server Tools wie Nagios o.ä. laufen, gibt es natürlich immer etwas lokalen Traffic, also nicht wundern.
Wer weitere Ports speziell aufgelistet haben will (wie z.B. bei einigen Gameservern nötig), muss weitere chains erstellen. Wer damit nicht zurecht kommt, kann jederzeit im Forum suchen und ggf. posten, wenn's noch keine Lösung gibt.
Viel Spass mit iam und nochmal THX an alle, die bei der Entwicklung des HowTos durch Tipps, Erklärungen und Verbesserungen mitgewirkt haben, vor allem an deepinpowder, der sich als unermüdlicher Betatester bewährt hat,
RootForum-Team
