myFreeBSD Search - FreeBSD - OpenBSD - NetBSD

myFreeBSD.org
[home] -- [tools] -- [ipa]
Mirror Seite
www.myfreebsd.ath.cx
Index
·
·
·
·
· TOOLS
· QMAIL
FreeBSD Links
·FreeBSD
·Maximumbsd
·freebsd-support.de
· BSD Foren
·FreeBSD Diary
·BSD Today
·Daemonnews
·O'Reilly/BSD
·OS Online/BSD
·FreeBSD Portal
·FreeBSD Forums
·BSD Vault
·FreeBSD Fresh Ports
Hilfe zum Thema FreeBSD ? FreeBSD-Handbuch <en> <de>
 Tools für den täglichen Gebrauch Konatkt ? 
 

 

 

Neu: IPA, Accounting für IP-Filter 
Installieren von ipa ...mehr
Konfiguration von IPA ...mehr
ipastat ...mehr.
Mehr zum Thema ISDN ...I4B Doku
 Tools
  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.

 


Copyright © 2002 myFreeBSD.org. All rights reserved.