trafficshaping - Traffic nur bis zu einer bestimmten Menge - WIE?

Herakles

Profifragensteller
Moin!

Scheinbar bin ich einer der wenigen Menschen auf dieser Welt, die sich selbst ein Traffic-Limit auferlegen wollen, denn wirklich was zu folgendem Thema habe ich nicht gefunden (google, Forum, ihr kenn den Spaß)

Ich bin hier in einem Studenten-Netzwerk, das nur eine bestimmte Menge an Traffic zulässt. Überschreitet man das, wird man für 4 Tage aus dem Netz geworfen, beim nächsten Verstoss für 6 Tage und so weiter.

Das will ich natürlich nicht. Folglich kam mir die Idee, meinen eigenen Traffic zu überwachen und sagen wir 100MB vor Grenzerreichung eine Warnmeldung zu bekommmen oder gar einen ersten Disconnect zu haben, der mir vor Augen hält, das ich halb so lang machen sollte...

Dummynet und QOS sind Stichworte, die mir auf Anhieb ins Auge sprangen, ehrlicherweise suche ich aber einen "quick&dirty"-Lösung, die kein großes Einlesen benötigt, denn viel Zeit hab ich für den Spass ja nicht. Wenn ich wieder exceede, werde ich gnadenlos gekickt, brauche also eine SCHNELLE Lösung.

Hat jemand eine Idee, wie mir noch zu helfen ist?


Der besorgte internetkranke Herakles
 
die schnellste Lösung wäre es, den Netzwerkadmin darum zu bitten genau DIESE Funktion zu implementieren. Dass also beispielsweise sein System bei 100 freien MB dir eine Mail schickt.
 
hi,

hast du dir ipa (/usr/ports/sysutils/ipa) schon mal angeschaut?
Code:
ipa(8) allows to make IP accounting (network accounting) based on
FreeBSD IPv4/v6 Firewall (including IPFW2), OpenBSD Packet Filter and
IP Filter accounting rules on FreeBSD, NetBSD and OpenBSD.

It supports limits for accounting rules and limits events as "limit is
reached", "reached limit is expired", etc. It understands time intervals
like "end of day", "end of week", "end of month", etc.

ipastat(8) is a viewer for IP accounting database made by ipa(8).

WWW: http://ipa-system.sourceforge.net/

- Andrey Simonenko
simon@comsys.ntu-kpi.kiev.ua

dazu direkt hier aus dem Forum:
http://www.bsdforen.de/showthread.php?t=6377&highlight=ipa
http://www.bsdforen.de/showthread.php?t=9210&highlight=ipa (*)


(*)
ueber all wo dort exec = <wasauchimmer> steht kann potentiell alles ausgefuehrt werden, also auch ein Programm/Skript, welches dir boese Mails schreibt oder so.


teuk
 
Herakles schrieb:
Das will ich natürlich nicht. Folglich kam mir die Idee, meinen eigenen Traffic zu überwachen und sagen wir 100MB vor Grenzerreichung eine Warnmeldung zu bekommmen oder gar einen ersten Disconnect zu haben, der mir vor Augen hält, das ich halb so lang machen sollte...

Traffic Accounting (das ist _kein_ Shaping, was Du da beschreibst![1]) mit hartem Limit ist relativ billig zu realisieren. Du definiert einfach accounting Regeln in der Firewall, die Deinen gezaehlten Traffic abbilden. Wenn dafuer mehrere Regeln notwendig sind, kommt halt noch etwas Rechnerei dazu.

Letztlich musst Du nur per Script (cron) diese Regeln pollen, den aktuellen Stand irgendwo wegsichern (wg. Reboot) und bei Erreichen Deiner Toleranzschwelle die Aktion ausloesen (Verbindung trennen, ifconfig down oder was auch immer). Der Rest ist Mathematik und ein bissel Grundverstaendnis Deines Paketfilters (welchen Du auch immer verwenden magst).

Solltest allerdings aufpassen. Wir hatten einen bei uns, der hatte sich selbst das Limit aus Furcht vor Ueberschreitung so niedrig gesetzt, dass wir den immer fetzig per http/ftp/$WHATEVER Zugriffen rauskicken konnten. Sowas erreicht schnell Volkssportstatus ;-).

Herakles schrieb:
Dummynet und QOS sind Stichworte, die mir auf Anhieb ins Auge sprangen, ehrlicherweise suche ich aber einen "quick&dirty"-Lösung, die kein großes Einlesen benötigt, denn viel Zeit hab ich für den Spass ja nicht. Wenn ich wieder exceede, werde ich gnadenlos gekickt, brauche also eine SCHNELLE Lösung.

Beides Overkill fuer das, was Du beschrieben hast. Bei Trafficshaping geht es darum, die zur Verfuegung stehende Bandbreite unter mehreren Applikationen aufzuteilen und dabei gewisse Bandbreiten zu garantieren. So regelst Du meinetwegen HTTP und FTP runter, dass Dir nie durchs Surfen die VoIP Verbindung "stottert". Das hat mit dem Accounting, was Du suchst, nichts zu tun. Bei QOS ist sozusagen das Netz immer langsamer bzw. wird es zugunsten anderen Traffics heruntergeregelt. Stark vereinfacht (Vorsicht, _/\_ Alarm ;-)) simulierst Du damit ein Modem, obwohl Du eigentlich 100Mbit Ethernet hast. Ich glaube nicht, dass es das ist, was Du willst.

Was Du noch machen koenntest, waere eine kombinierte Loesung: Je weiter Du Dich Deinem Limit naeherst, desto langsamer wird Dein Netz. Das erspart Dir eine unvermittelte harte Abschaltung und verhindert, dass Du, aufgrund der Granularitaet von cron (oder des Poll Intervalls eines ggf. selbst geschriebenen Scriptes) ueber Dein Limit schiesst, noch bevor das System abriegeln kann. Bei entsprechend hoher Bandbreite, kann eine Minute heute ja schon viel ausmachen. Und vielleicht willst Du auch nicht 1x pro Minute pollen ...

Das hat allerdings dann alles schon nichts mehr mit quick & dirty zu tun.

Die hier empfohlene Loesung mit ipa kenne ich zwar nicht, klingt aber wie ein Treffer. Scheint die inzwischen existierende, solide Loesung fuer die Bastelcronscripte der alten Tage zu sein.

[1] Jaja, liebe Erbsenzaehler - es ist _streng_ genommen auch eine Form von von Shaping ... mit den Stufen 0 und 1.
 
Ich würds mit Dummynet versuchen.
Kauf dir das Buch "BSD Hacks" von O'Reilly, Hack #70: Traffic Shaping on FreeBSD.
6 Seiten lesen und du hast alles was du brauchst. Naja, fast! Du musst noch ein Script erstellen, das z.B. jede Minute schaut, ob die Grenze überschritten ist und dann dir ein eMail senden.

greets

[tE]bachi
 
ipa ist IMHO hierfuer die geeignete Wahl, zusammen mit pf/ALTQ oder ipfw/dummynet kannst du dann schoen bei erreichen des Limits die Geschwindigkeit stufenweise drosseln. (Ein hartes kappen ist nicht gut, dann gehen ja nichtmal mehr Mails etc.)
 
Zurück
Oben