| | | Hilfe zum Thema FreeBSD ?
FreeBSD-Handbuch <en>
<de> |
| Tools
für den täglichen Gebrauch |
Konatkt
? | | |
|
Neu: IPA, Accounting
für IP-Filter
| |
|
| |
IPA
[02.01.2003] |
ipa
ist ein Accounting Programm welches man in Verbindung mit IP-Filter
einsetzen kann. |
|
| |
| Installation
von ipa |
Am
einfachsten installiert man ipa über die Ports-Collection.
Dafür sind folgende Schritte notwendig:
1. In
das Verzeichnis /usr/ports/sysutils/ipa wechseln
2. make install eingeben
3. make clean eingeben
Damit sollte ipa auf dem System installiert sein. |
| Konfiguration
von ipa |
Um
ipa zu konfigurieren, sollte breits eine funktionierende ipfilter
Installation, mit dazugehöriger ipf.conf vorliegen. Ich werde
hier nicht erklären, wie man ipfilter in den Kernel kompilert
und ein config-file anlegt. Das wird hier --> http://www.obfuscation.org/ipf/
ganz gut beschrieben.
In diesem Beispiel möchet ich gerne alles was an meinem tun0
Interface an Daten rein - bzw. raus geht mitzählen. Dafür
sind zunächst zwei Zeilen in dem ipfilter config-file nötig.
|
count
in on tun0 from any to any
count out on tun0 from any to any
|
| Diese
beiden Zeile füge ich ganz am Ende des ipfilter-config
Files ein |
Als
nächstes brauche ich die Datei ipa.conf. Diese liegt
in /usr/local/etc und sollte für dieses Beispiel so
aussehen:
|
global {
maxchunk = 1G
update_db_time = 30s
db_dir = /var/ipa
lock_wait_time = 20s
}
rule tun0 {
info = Summary traffic for tun0
ipfil = o@1
ipfil = i@1
}
rule tun0_in {
info = Incomming traffic for tun0
ipfil = i@1
}
rule tun0_out {
info = Outgoing traffic for tun0
ipfil = o@1
}
|
In diesem config-file
sind insgesamt drei Regel enthalten.
rule_tun0: Alle Daten, die über tun0
rein - bzw. rausgehen werden gezählt.
rule_tun0_in: Alle Daten, die über
tun0 reingehen werden gezählt.
rule_tun0_out: Alle Daten, die über
tun0 rausgehen weden gezählt.
Um ipa bei jedem Systemstart mitzustarten liegt bereits
ein shell script in /usr/local/etc/rc.d. Dieses muss nach
ipa.sh umbenannt werden und mit den richtigen Rechten versehen
werden.
|
| Auslesen
der ipa Datenbank mit ipastat |
Um jetzt die
IPA-Datenbank auszulesen gibt es das Tool ipastat, welches
durch den Port ipa mit installiert wird.
ipastat -R tun0 auf der shell eingegeben
könnte dann folgenden putput liefern:
+---------------------+---------------------+
| From | To |
+---------------------+---------------------+
| 2002.12.01/00:00:00 | 2002.12.31/24:00:00 |
+---------------------+---------------------+
+------+--------------------------+-------------+--------+
| Rule | Info | Bytes | Mbytes |
+------+--------------------------+-------------+--------+
| tun0 | Summary traffic for tun0 | 19023109207 | 18141
|
+------+--------------------------+-------------+--------+
ipastat -R tun0_in zeigt alle Daten die über
tun0 reingehen.
ipastat -R tun0_out zeigt alle Daten die über
tun0 rausgehen.
|
| IPA
daily script |
|
|
|
|
Mit diesem Script,
welches nach /etc/periodic/daily/ kopiert werden kann, wird einmal pro
Tag eine Statistik der bisher übertragenen Daten erstellt. In diesem
Script erstelle ich die Datei "bandwidth_report.txt" auf meinen
Webserver, so dass ich die Infos von überall abfragen kann.
Hier das Script:
#! /bin/sh
echo "ipa stats"
for r in `grep rule /usr/local/etc/ipa.conf |awk '{print $2}'` ;do
echo "**********************************************"
/usr/local/bin/ipastat -r $r
done
echo "**********************************************" >>
/usr/local/www/data.default/myfreebsd/band
width_report.txt
/usr/local/bin/ipastat -r tun0_in -e >> /usr/local/www/data.default/myfreebsd/bandwidth_report.txt
/usr/local/bin/ipastat -r tun0_out -e >> /usr/local/www/data.default/myfreebsd/bandwidth_report.txt
So
siehts im Web aus.
|