Hallo Leute, ich suche für einen Freund nach einer Lösung, da er selbst wenig Zeit hat für sowas. Nunja kleine Vorab-Info: Er wohnt in einem Studenten-Wohnheim und hat dort auch irgendwie so ne Direkt-Internetanbindung. So nun wird es ein wenig komplexer, bei ihm wird was Traffic angeht das ganze nochmals unterteilt zwischen internen (Unitraffic / bestimmter IP-Bereich) und externen Traffic (außerhalb dieses Bereichs). Bisher hatte er selbst noch kein Überwachungstool dafür gefunden. Sein Problem ist halt nunmal das er so schlecht sieht was nun an internen und externen Traffic bisher entstand und was noch an Traffic für den laufenden Monat noch frei wäre. Nun ist es halt hier und da schon vorgekommen, das er den Traffic der bei nur 3 GB/Monat liegt überschritten hatte und seine Internet-Verbindung dann für ne Zeit gesperrt war. Und um sowas zukünfig zu vermeiden wäre ein solches Tool schon was feines. Es sieht im Grunde so aus: Er bräuchte praktisch nen Tool, dem man sagen kann feste IP von x.x.x.x bis y.y.y.y ist internerTraffig und IP v.v.v.v oder wie auch immer bzw. alles andere was nicht in den IP-Bereich des internen fällt ist externer Traffic, und das ganze im dann übersichtlich dann auf z.B. seinem kde-Desktop anzeigt damit er das immer vor Augen hat. :-) Desweiteren schreibt er mir: Also ich selbst hab ne feste IP, die mir vom DHCP-Server immer wieder zugeteilt wird. Der Server erkennt meine Hardwareadresse der Netzwerkkarte und teilt mir immer die selbe IP zu. Der Uni-interne Traffic hat einen bestimmten IP-Bereich: xxx.xx.xx.x bis yyy.yy.yy.yyy Alles andere wird auf meinen Traffic angerechnet (Grenze bei 3 GB). Nun die Frage gibts dafür irgendwelche brauchbaren Tools die das können bzw. kennt jemand für solche Fälle eine Lösung wie man sowas überwachen und auswerten kann? Sein System: OpenSuSE 10.0 / kde 3.5.0 level "a" Wäre super wenn es für sowas etwas gäbe. Besten Dank vorab. Viele Grüße Sascha
Nunja kleine Vorab-Info: Er wohnt in einem Studenten-Wohnheim und hat dort auch irgendwie so ne Direkt-Internetanbindung. So nun wird es ein wenig komplexer, bei ihm wird was Traffic angeht das ganze nochmals unterteilt zwischen internen (Unitraffic / bestimmter IP-Bereich) und externen Traffic (außerhalb dieses Bereichs).
Das sollte mit iptables möglich sein. Google mal nach "iptables ip accounting". Grafisch und aufbereitet ist es dadurch natürlich noch nicht und es verlangt auch nach etwas Handarbeit, aber möglich sollte es damit sein. Grüße Dominik
Quoting Sascha Blum
Bisher hatte er selbst noch kein Überwachungstool dafür gefunden. Sein Problem ist halt nunmal das er so schlecht sieht was nun an internen und externen Traffic bisher entstand und was noch an Traffic für den laufenden Monat noch frei wäre. Nun ist es halt hier und da schon vorgekommen, das er den Traffic der bei nur 3 GB/Monat liegt überschritten hatte und seine Internet-Verbindung dann für ne Zeit gesperrt war. Und um sowas zukünfig zu vermeiden wäre ein solches Tool schon was feines.
Das kriegt man mit iptables, einem cronjob, awk und ein paar Shellskripten doch problemlos hin.
Es sieht im Grunde so aus:
Er bräuchte praktisch nen Tool, dem man sagen kann feste IP von x.x.x.x bis y.y.y.y ist internerTraffig und IP v.v.v.v oder wie auch immer bzw. alles andere was nicht in den IP-Bereich des internen fällt ist externer Traffic, und das ganze im dann übersichtlich dann auf z.B. seinem kde-Desktop anzeigt damit er das immer vor Augen hat. :-)
Wenn ers auch noch in bunt will wirst Du wohl tcl/tk oder dergleichen zum Aufbereiten der Daten brauchen. Oder Du fütterst sowas wie mrtg damit.
Desweiteren schreibt er mir: Also ich selbst hab ne feste IP, die mir vom DHCP-Server immer wieder zugeteilt wird. Der Server erkennt meine Hardwareadresse der Netzwerkkarte und teilt mir immer die selbe IP zu. Der Uni-interne Traffic hat einen bestimmten IP-Bereich: xxx.xx.xx.x bis yyy.yy.yy.yyy Alles andere wird auf meinen Traffic angerechnet (Grenze bei 3 GB).
Nun die Frage gibts dafür irgendwelche brauchbaren Tools die das können bzw. kennt jemand für solche Fälle eine Lösung wie man sowas überwachen und auswerten kann?
mittels iptables den Traffic durch je eine Chain pro auszuwertendem Bereich schieben. Und zwar im INPUT-Chain als erstes, im OUTPUT-Chain als letztes und im FORWARD-Chain die eingehenden zuerst und die ausgehenden zuletzt. Wobei Du die Regeln für FORWARD nur brauchst wenn der zählende Rechner auch routen soll. Also z.B. so: iptables -N internet_counter iptables -A internet_counter -j RETURN # der interne Netzbereich in CIDR-Notation LAN=192.168.0.0/16 # eingehender Traffic auf eth0 iptables -I INPUT 1 -i eth0 ! -s $LAN -j internet_counter iptables -I FORWARD 1 -i eth0 ! -s $LAN -j internet_counter # ausgehender Traffic auf eth0 iptables -A OUTPUT -o eth0 ! -s $LAN -j internet_counter iptables -A FORWARD -o eth0 ! -s $LAN -j internet_counter Achtung: wenn noch andere iptables-Regeln im System existieren, muß man das Ganze evtl. ein bißchen anpassen! Damit läuft dann jedes zu zählende Paket durch internet_counter. Jetzt kannst Du per CRON-Job regelmäßig (z.B. alle 5 Minuten) den Packet Count von internet_counter auslesen und auf 0 setzen. Zählerstand mit Datum und Uhrzeit in ein Logfile wegschreiben und beim Auswerten dieses einfach für den gewünschten Zeitraum rausgreppen und aufsummieren. -- Erhard Schwenk Akkordeonjugend Baden-Württemberg - http://www.akkordeonjugend.de APAYA running System - http://www.apaya.net
Hallo, Sascha Blum schrieb:
Hallo Leute,
Er bräuchte praktisch nen Tool, dem man sagen kann feste IP von x.x.x.x bis y.y.y.y ist internerTraffig und IP v.v.v.v oder wie auch immer bzw. alles andere was nicht in den IP-Bereich des internen fällt ist externer Traffic, und das ganze im dann übersichtlich dann auf z.B. seinem kde-Desktop anzeigt damit er das immer vor Augen hat. :-)
Ich habe mal sowas geschrieben... mit iptables... bei Interesse werde ich sie mal raussuchen... Grüsse Raffael
Hallo Raffael, Am Donnerstag, 2. Februar 2006 16:52 schrieb Raffael Schmid:
Er bräuchte praktisch nen Tool, dem man sagen kann feste IP von x.x.x.x bis y.y.y.y ist internerTraffig und IP v.v.v.v oder wie auch immer bzw. alles andere was nicht in den IP-Bereich des internen fällt ist externer Traffic, und das ganze im dann übersichtlich dann auf z.B. seinem kde-Desktop anzeigt damit er das immer vor Augen hat. :-)
Ich habe mal sowas geschrieben... mit iptables... bei Interesse werde ich sie mal raussuchen...
wenn du das machen würdest wäre das super ... Du kannst sie mir ja auch per PM schicken wenn du möchtest oder über die Liste, das überlasse ich dir ... Besten Dank vorab. Viele Grüße Sascha
Hallo Sascha,
Ich habe mal sowas geschrieben... mit iptables... bei Interesse werde ich sie mal raussuchen...
wenn du das machen würdest wäre das super ...
Du kannst sie mir ja auch per PM schicken wenn du möchtest oder über die Liste, das überlasse ich dir ... Sorry, dass ich erst jetzt schreibe... hoffentlich kannst du es immernoch gebrauchen! War in einem Lager und habe meine Mails daher eine Weile nicht abgefragt...
Der Script liest aus den IPtables die Traffic aus, welche
darübergegangen ist. Nach Ende Monat wird die Statistik zurückgesetzt.
Die Statistik wird in ein File geschrieben (var stored), damit nach
einem Neustart alles noch vorhanden ist.
Eine Ausgabe auf KDE habe ich nicht... aber das sollte funktionieren
mit Kdialog oder so...
Grüsse
raffael
PS: wenn du Fehler findest, schreib doch bitte:-)
crontab:
----------
0 0 * * * /usr/sbin/traffic.sh
Der Script wäre wie folgt:
----------------------------
#!/bin/sh
iptables="/usr/sbin/iptables"
stored="/tmp/traffic-stored"
date=`date "+%e"`
export stored
export iptables
export date
while [ !$ok == 1 ]
do
if [ -e $stored ]
then
TRAFFIC=`cat $stored | cut -d ":" -f2`
DAY=`cat $stored | cut -d ":" -f1`
if [ $DAY -gt $date ]
then
DAY=$date
TRAFFIC=0
ok=1
else
ok=1
fi
else
TRAFFIC=0
DAY=$date
ok=1
fi
done
export TRAFFIC
#
($iptables -vnxL forward_int; $iptables -vnxL forward_ext; $iptables
-vnxL forward_dmz;)
| \
awk 'BEGIN { BYTES=0; TRAFFICMONTH=ENVIRON["TRAFFIC"]; TRAFFICMAX=120000 } \
/\
participants (4)
-
Dominik Klein
-
Erhard Schwenk
-
Raffael Schmid
-
Sascha Blum