Traffic-Limit
Traffic-Limit
Hi Leute,
wie setzte ich denn ein Traffic-Limit für ein NIC?
Danke.
wie setzte ich denn ein Traffic-Limit für ein NIC?
Danke.
Viele Grüße
za0
Nieder mit der Pauschal-Abzocke der GEZ!
sollte in etwa so funktionieren:
[edit]
benötigt anscheinend eine "libipt_quote.so" die es unter Debian nicht geben dürfte
[/edit]
[edit2]
du könntest dir z.B mittels "vnstat" einen Cronjob basteln, das verfügt sogar über wöchentliche und monatliche Statistiken
[edit2]
Gruß
gms
Code: Alles auswählen
iptables -A $CHAIN -p tcp -m quota --quota $QUOTALIMIT -j ACCEPT
benötigt anscheinend eine "libipt_quote.so" die es unter Debian nicht geben dürfte
[/edit]
[edit2]
du könntest dir z.B mittels "vnstat" einen Cronjob basteln, das verfügt sogar über wöchentliche und monatliche Statistiken
[edit2]
Gruß
gms
- 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.)
den quota patch gibts durch POM --> http://www.netfilter.org/documentation/ ... WTO-2.html[edit]
benötigt anscheinend eine "libipt_quote.so" die es unter Debian nicht geben dürfte
[/edit]
gruss chroiss
"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.
über das "owner" Modul kannst du auch nach der userid, groupid, sessionid, processid und sessionid abfragen
Die Abfrage nach der pid, sid und cmd ist jedoch laut Manpage unter SMP buggy. Bei mir hat es aber auch auf einem nicht-SMP System ( aber PREEMPT) nicht wirklich funktioniert.
Die Abgrage nach userid und groupid dürfte eigentlich keine Probleme bereiten
Möchtest du wirklich ein Traffic Limit für einzelne Prozesse, oder bist du vielleicht auf der Suche nach einer Bandbreitenbeschränkung für einzelne Prozesse ?
Gruß
gms
Code: Alles auswählen
NAMEDPID=`cat /var/run/named.pid`
iptables -A OUTPUT -o OUTPUT -m owner --pid-owner=$NAMEDPID -j ACCEPT
Die Abgrage nach userid und groupid dürfte eigentlich keine Probleme bereiten
Möchtest du wirklich ein Traffic Limit für einzelne Prozesse, oder bist du vielleicht auf der Suche nach einer Bandbreitenbeschränkung für einzelne Prozesse ?
Gruß
gms
- 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.)
wenn du die Prozesse durch deren Ports definierst ja
Als Beispiel ein Limit von 50 Megabyte für den eingehenden http Traffic:
gruss chroiss
Als Beispiel ein Limit von 50 Megabyte für den eingehenden http Traffic:
Code: Alles auswählen
iptables -A INPUT -p tcp --dport 80 -m quota --quota 52428800 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
"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.
Geil. Ich danke Dir Chroiss!chroiss hat geschrieben:wenn du die Prozesse durch deren Ports definierst ja
Als Beispiel ein Limit von 50 Megabyte für den eingehenden http Traffic:gruss chroissCode: Alles auswählen
iptables -A INPUT -p tcp --dport 80 -m quota --quota 52428800 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j DROP
EDIT: Wie sieht es mit ausgehendem Traffic aus?
Viele Grüße
za0
Nieder mit der Pauschal-Abzocke der GEZ!
So begrenzt man den Traffic überhaupt nur auf 50MB.chroiss hat geschrieben:wenn du die Prozesse durch deren Ports definierst ja
Als Beispiel ein Limit von 50 Megabyte für den eingehenden http Traffic:gruss chroissCode: Alles auswählen
iptables -A INPUT -p tcp --dport 80 -m quota --quota 52428800 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j DROP
Noch eine letzte Frage diesbezüglich hätte ich:
Könnte man das auch so einrichten, dass (anhand des Beispiels) JEDEN Monat nicht mehr als 50 MB über den Port 80 gehen (also zeitlich fixieren)?
Danke.
Viele Grüße
za0
Nieder mit der Pauschal-Abzocke der GEZ!
- ckoepp
- Beiträge: 1409
- Registriert: 11.06.2005 20:11:23
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Nähe Heidelberg
Warum so kompliziert?za0 hat geschrieben:Könnte man das auch so einrichten, dass (anhand des Beispiels) JEDEN Monat nicht mehr als 50 MB über den Port 80 gehen (also zeitlich fixieren)?
Ich denke es geht hier um ein ftpd oder? Da gibts normal extra Module für die das per User regeln...
"Es gibt kein Problem, das man nicht mit einem doppelten Scotch lösen könnte!"
Ernest Hemingway
Ernest Hemingway
Hi ckeopp,ckoepp hat geschrieben:Warum so kompliziert?za0 hat geschrieben:Könnte man das auch so einrichten, dass (anhand des Beispiels) JEDEN Monat nicht mehr als 50 MB über den Port 80 gehen (also zeitlich fixieren)?
Ich denke es geht hier um ein ftpd oder? Da gibts normal extra Module für die das per User regeln...
guckst Du Titel : "Traffic-Limit". Der Thread über ftpd is ein Anderer ..
Viele Grüße
za0
Nieder mit der Pauschal-Abzocke der GEZ!
das geht mitnepos hat geschrieben:Du muesstest mal gucken, aber ich denke, man kann die Counter in iptables sicherlich auch zuruecksetzen. Das machst du automatisch einmal am Monatsanfang und gut is.
Code: Alles auswählen
iptables -Z
Nein! Genau richtig! gms hat mich noch darauf hingewiesen, dass ich evtl. beim reboot Probleme bekommen könnte, der Traffic dann verloren geht. Kann man die Werte nicht irgendwie abspeichern bzw. jede 5 Minuten zwischenspeichern?nepos hat geschrieben: Oder hab ich dich nun falsch verstanden?
EDIT: Noch eine Frage wäre offen: wie kann ich den Traffic für jeden einzelnen Port auslesen?
Viele Grüße
za0
Nieder mit der Pauschal-Abzocke der GEZ!
nepos hat geschrieben:Hm, die Counter kann man nicht wieder zurückschreiben denke ich. Aber 100% sicher bin ich mir da auch wieder nicht.
Code: Alles auswählen
iptables -Z
Viele Grüße
za0
Nieder mit der Pauschal-Abzocke der GEZ!
Code: Alles auswählen
iptables -A OUTPUT -p tcp --dport 80 -m quota --quota 52428800 -j ACCEPT
Ich nehme an, dass ich das modul ipt_quota benötige.iptables: No chain/target/match by that name
wo finde ich das und wie installiere ich es?
Viele Grüße
za0
Nieder mit der Pauschal-Abzocke der GEZ!
- 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.)
BeitragVerfasst am: 27.12.2006 22:10:49 Titel: Antworten mit Zitat
Zitat:
[edit]
benötigt anscheinend eine "libipt_quote.so" die es unter Debian nicht geben dürfte
[/edit]
den quota patch gibts durch POM --> http://www.netfilter.org/documentation/ ... WTO-2.html
gruss chroiss
_________________
"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.
"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.
Naja, damit setzt du die Counter auf 0 zurück, mehr auch nicht.za0 hat geschrieben:nepos hat geschrieben:Hm, die Counter kann man nicht wieder zurückschreiben denke ich. Aber 100% sicher bin ich mir da auch wieder nicht.? <== probier doch mal ....Code: Alles auswählen
iptables -Z
Was sich interessant anhört für deinen Fall könnte -c PKTS BYTES sein. Damit kann man die Counter auf einen Wert setzen und so vorher gesicherte Werte wieder herstellen...
Entschuldige, ich habe das völlig vergessen ...eek... Danke.chroiss hat geschrieben:BeitragVerfasst am: 27.12.2006 22:10:49 Titel: Antworten mit Zitat
Zitat:
[edit]
benötigt anscheinend eine "libipt_quote.so" die es unter Debian nicht geben dürfte
[/edit]
den quota patch gibts durch POM --> http://www.netfilter.org/documentation/ ... WTO-2.html
gruss chroiss
_________________
"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.
Viele Grüße
za0
Nieder mit der Pauschal-Abzocke der GEZ!
Code: Alles auswählen
cvs -d :pserver:cvs@pserver.netfilter.org:/cvspublic login
Logging in to :pserver:cvs@pserver.netfilter.org:2401/cvspublic
CVS password:
cvs [login aborted]: connect to pserver.netfilter.org(213.95.27.115):2401 failed: Connection refused
Viele Grüße
za0
Nieder mit der Pauschal-Abzocke der GEZ!
Hi !za0 hat geschrieben:Schon bei dem Command sagt er:Code: Alles auswählen
iptables -A OUTPUT -p tcp --dport 80 -m quota --quota 52428800 -j ACCEPT
Ich nehme an, dass ich das modul ipt_quota benötige.iptables: No chain/target/match by that name
wo finde ich das und wie installiere ich es?
Diese Library sollte eigentlich auch unter Sarge existieren. Ich habe zumindest hier in der Stable Version gesucht:
http://packages.debian.org/cgi-bin/sear ... &arch=i386
Hast du auch überprüft, ob diese Library bei dir existiert ?
Code: Alles auswählen
root@gms2:~# ls /lib/iptables/libipt_quota.so
/lib/iptables/libipt_quota.so
Code: Alles auswählen
root@csxgen2:~# find /lib/modules/`uname -r` -name "*xt_quota*.ko"
/lib/modules/2.6.19.1-v-3/kernel/net/netfilter/xt_quota.ko
Gruß
gms
hi gms,gms hat geschrieben:
Hi !
Diese Library sollte eigentlich auch unter Sarge existieren. Ich habe zumindest hier in der Stable Version gesucht:
http://packages.debian.org/cgi-bin/sear ... &arch=i386
Hast du auch überprüft, ob diese Library bei dir existiert ?GrußCode: Alles auswählen
root@gms2:~# ls /lib/iptables/libipt_quota.so /lib/iptables/libipt_quota.so
gms
ne die module existieren (auf der vm), denn da soll das trafficlimit auch drauf laufen ...
das problem ist, ich bekomme den mist nicht geladen ...
ich bin gerade dabei einen neuen kernel für die vm zu bauen ... habe den krams jetzt integreiert in den kernel
edit: kernelpanic, ok nice .. lol ... ok wie lade ich das verflixte iptablemodule denn? mit insmod?
edit2
Code: Alles auswählen
insmod /lib/iptables/libipt_quota.so
insmod: error inserting '/lib/iptables/libipt_quota.so': -1 Invalid module format
Viele Grüße
za0
Nieder mit der Pauschal-Abzocke der GEZ!
das ist die Library die im Userspace lauft: "libipt_quota.so"
das Modul welches geladen wird heißt "xt_quota.ko"
das Modul welches geladen wird heißt "xt_quota.ko"
Code: Alles auswählen
root@csxgen2:~# find /lib/modules/`uname -r` -name "*xt_quota*.ko"
/lib/modules/2.6.19.1-v-3/kernel/net/netfilter/xt_quota.ko
es exisitert nicht .. => also kernel kompilieren, oder?gms hat geschrieben:das ist die Library die im Userspace lauft: "libipt_quota.so"
das Modul welches geladen wird heißt "xt_quota.ko"Code: Alles auswählen
root@csxgen2:~# find /lib/modules/`uname -r` -name "*xt_quota*.ko" /lib/modules/2.6.19.1-v-3/kernel/net/netfilter/xt_quota.ko
edit: die fehlen beim 2.4er und 2.6er standardkernel für sarge ...
ich werde dann nochmal den kernel versuchen neu zu kompilieren .... aber wohl daheim nicht mehr hier auf arbeit
EDIT: naja, wenigstens mache ich hier noch die config. irgendwie will er bei mir die virtuelle scsi-platte nicht mounten wo finde ich denn den support von lsi-logic und den anderen scsi-controller den vmware benutzt? der standardsargekernel hat den support ja ...
EDIT3: cannot mount root device .. ;-(
EDIT4: ok scsi buslogic und lsi-scsi-treiber gefunden und in den kernel verankert ... compiling läuft ...
EDIT5: es will immer noch nicht ... ok ich werds daheim weitermachen ..
Viele Grüße
za0
Nieder mit der Pauschal-Abzocke der GEZ!