iptables mit trafficbegrenzung

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
HannesMeyer
Beiträge: 172
Registriert: 10.08.2008 13:36:04

iptables mit trafficbegrenzung

Beitrag von HannesMeyer » 15.08.2008 10:36:51

Hallo Freundel,

wie lautet der Befehl, der eine Trafficbegrenzung von 5GB im Monat auf ppp0 anwendet?

Ich habe leider nicht viel Ahnung, daher ist es fuer mich verstaendlicher anhand von Beispielen lerne.

:google: finde ich nur --qiota-bytes aber ich weiss nicht wie man das benutzt.

Benutzeravatar
chroiss
Beiträge: 332
Registriert: 29.10.2004 09:29:43
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: BREMEN (in Wellington,NZ a.D) (in OLDENBURG a.D.) (in BREMEN a.D.) (in COLOGNE a.D.)

Re: iptables mit trafficbegrenzung

Beitrag von chroiss » 15.08.2008 16:14:55

Suche !

http://www.debianforum.de/forum/viewtop ... a+iptables

chroiss

PS: Wobei ich mir unsicher bin, ob iptables die quota nicht wieder auf null setzt, nachdem eine neueinwahl stattgefunden hat.
muss man mal testen. vielleicht weiss es auch ein anderer. :D
"The only secure computer is one that's unplugged, locked in a safe, and buried 20 feet under the ground in a secret location... and I'm not even too sure about that one"--Dennis Huges, FBI.

HannesMeyer
Beiträge: 172
Registriert: 10.08.2008 13:36:04

Re: iptables mit trafficbegrenzung

Beitrag von HannesMeyer » 15.08.2008 19:38:35

Wie kann ich das denn auf ppp0 beschraenken?
hier mein Ansatz. Wie geht es richtig?

Code: Alles auswählen

iptables -A OUTPUT -p tcp,udp -i ppp0 -m  quota --quota 52428800 -j ACCEPT

und dann macht er das automatisch pro Monat?

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: iptables mit trafficbegrenzung

Beitrag von rendegast » 15.08.2008 20:44:27

Vielleicht mit einem traffic-Monitor?
vnstat

Code: Alles auswählen

> vnstat -m

        eth0

           month        rx      |       tx      |    total
        ------------------------+---------------+---------------
          Oct '07     72.57 MB  |    483.06 MB  |    555.64 MB
          Nov '07      1065 MB  |     11878 MB  |     12943 MB
          Dec '07    820.96 MB  |      6419 MB  |      7240 MB
          Jan '08      1098 MB  |      8928 MB  |     10026 MB
          Feb '08      1500 MB  |     11545 MB  |     13046 MB
          Mar '08      1410 MB  |     10067 MB  |     11478 MB
          Apr '08      1364 MB  |     10411 MB  |     11776 MB
          May '08      1279 MB  |     11863 MB  |     13142 MB
          Jun '08      1280 MB  |     10708 MB  |     11988 MB
          Jul '08      1339 MB  |     11978 MB  |     13318 MB
          Aug '08    786.48 MB  |      6101 MB  |      6887 MB
        ------------------------+---------------+---------------
        estimated      1638 MB  |     12714 MB  |     14352 MB

Code: Alles auswählen

BISHER=$( vnstat -m | grep "'" | tail -n1 | cut -f3 -d"|"  | awk '{ print $1}' )   # gibt den aktuellen Monat im MB
oder
BISHER=$( vnstat -m | grep "$(date +%b)" | cut -f3 -d"|"  | awk '{ print $1}' )
oder
BISHER=$( vnstat -m | awk '$1=="'$(date +%b)'" {print $6}' )
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

HannesMeyer
Beiträge: 172
Registriert: 10.08.2008 13:36:04

Re: iptables mit trafficbegrenzung

Beitrag von HannesMeyer » 15.08.2008 21:28:46

Dein Ansatz ist klasse,
sollte aber alles automatisch gehen.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: iptables mit trafficbegrenzung

Beitrag von rendegast » 15.08.2008 21:48:00

in /etc/network/if-up.d/ ?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: iptables mit trafficbegrenzung

Beitrag von gms » 15.08.2008 22:06:57

HannesMeyer hat geschrieben:Dein Ansatz ist klasse,
sollte aber alles automatisch gehen.
mit der iptables/quota-Lösung hast du noch keinen persistenten Zähler. Daher nach jedem Reboot fängt der Zähler wieder bei 0 zu zählen an. Du müßtest daher den aktuellen Wert regelmäßig auf Platte sichern und nach jedem Reboot das Limit um diesen Betrag niederiger ansetzen.
Über vnstat ersparst du dir das alles. Z.B könnte ein einfaches Cron-Script dann ungefähr so ausschauen:

Code: Alles auswählen

IF=ppp0
LIMIT=5000
BISHER=$( /usr/bin/vnstat -m -i "$IF" | /usr/bin/awk '$1=="'$(date +%b)'" {print $6}' )
if [ "$BISHER" -gt "$LIMIT" ]; then
  if ! /sbin/iptables -nvL INPUT | egrep "\sDROP\s.*\s${IF}\s">/dev/null; then
    /sbin/iptables -I INPUT -i $IF -j DROP
    /sbin/iptables -I OUTPUT -o $IF -j DROP
  fi
fi 
edit: am Monatsanfang gehören diese DROP-Regeln natürlich wieder entfernt

Gruß
gms

HannesMeyer
Beiträge: 172
Registriert: 10.08.2008 13:36:04

Re: iptables mit trafficbegrenzung

Beitrag von HannesMeyer » 15.08.2008 22:19:49

> Monatsanfang gehören diese DROP-R
Achso, die datei kann ich ja wider mit cron loeschen lassen.

Was bedeutet denn /usr/bin/vnstat?

KAnn ich das script einfach so von cron abrufen lassen?
Oder muss ich noch etwas anpassen.

Ich habe leider wenig Ahnung. Will aber immer alles moegliche machen.

Antworten