Traffic-Limit

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Benutzeravatar
za0
Beiträge: 816
Registriert: 09.07.2005 00:14:18
Wohnort: das 4. Reich der GEZ

Traffic-Limit

Beitrag von za0 » 27.12.2006 16:02:41

Hi Leute,

wie setzte ich denn ein Traffic-Limit für ein NIC?

Danke.

Viele Grüße
za0


Nieder mit der Pauschal-Abzocke der GEZ! :twisted:

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

Beitrag von gms » 27.12.2006 16:47:37

sollte in etwa so funktionieren:

Code: Alles auswählen

iptables -A $CHAIN -p tcp -m quota --quota $QUOTALIMIT -j ACCEPT
[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

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.)

Beitrag von chroiss » 27.12.2006 22:10:49

[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.

Benutzeravatar
za0
Beiträge: 816
Registriert: 09.07.2005 00:14:18
Wohnort: das 4. Reich der GEZ

Beitrag von za0 » 27.12.2006 22:29:31

Hi Leute

und danke erstmal für die Antworten. Ich werde mir das morgen genauer angucken.

Ich hätte vorab noch eine andere Frage: ist es irgendwie möglich einzelnen Prozessen gewissen Traffic-Limit zu geben?

Viele Grüße
za0


Nieder mit der Pauschal-Abzocke der GEZ! :twisted:

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

Beitrag von gms » 27.12.2006 23:06:35

über das "owner" Modul kannst du auch nach der userid, groupid, sessionid, processid und sessionid abfragen

Code: Alles auswählen

NAMEDPID=`cat /var/run/named.pid`
iptables -A OUTPUT -o OUTPUT -m owner --pid-owner=$NAMEDPID -j ACCEPT
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

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.)

Beitrag von chroiss » 27.12.2006 23:07:52

wenn du die Prozesse durch deren Ports definierst ja

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
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.

Benutzeravatar
za0
Beiträge: 816
Registriert: 09.07.2005 00:14:18
Wohnort: das 4. Reich der GEZ

Beitrag von za0 » 28.12.2006 11:42:45

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:

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
gruss chroiss
Geil. Ich danke Dir Chroiss! :-D

EDIT: Wie sieht es mit ausgehendem Traffic aus?

Viele Grüße
za0


Nieder mit der Pauschal-Abzocke der GEZ! :twisted:

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 28.12.2006 11:58:03

Einfach die Regel entsprechend ändern? Statt INPUT halt OUTPUT usw nehmen.

Benutzeravatar
za0
Beiträge: 816
Registriert: 09.07.2005 00:14:18
Wohnort: das 4. Reich der GEZ

Beitrag von za0 » 28.12.2006 12:24:40

nepos hat geschrieben:Einfach die Regel entsprechend ändern? Statt INPUT halt OUTPUT usw nehmen.
Hi nepos und danke ....

so einfach ist das also .... :D super :D

Viele Grüße
za0


Nieder mit der Pauschal-Abzocke der GEZ! :twisted:

Benutzeravatar
za0
Beiträge: 816
Registriert: 09.07.2005 00:14:18
Wohnort: das 4. Reich der GEZ

Beitrag von za0 » 30.12.2006 11:17:18

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:

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
gruss chroiss
So begrenzt man den Traffic überhaupt nur auf 50MB.

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! :twisted:

Benutzeravatar
ckoepp
Beiträge: 1409
Registriert: 11.06.2005 20:11:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nähe Heidelberg

Beitrag von ckoepp » 30.12.2006 12:44:13

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)?
Warum so kompliziert?
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

Benutzeravatar
za0
Beiträge: 816
Registriert: 09.07.2005 00:14:18
Wohnort: das 4. Reich der GEZ

Beitrag von za0 » 30.12.2006 13:12:05

ckoepp hat geschrieben:
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)?
Warum so kompliziert?
Ich denke es geht hier um ein ftpd oder? Da gibts normal extra Module für die das per User regeln...
Hi ckeopp,

guckst Du Titel : "Traffic-Limit". Der Thread über ftpd is ein Anderer .. :wink:

Viele Grüße
za0


Nieder mit der Pauschal-Abzocke der GEZ! :twisted:

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 31.12.2006 02:30:56

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. Oder hab ich dich nun falsch verstanden?

Benutzeravatar
za0
Beiträge: 816
Registriert: 09.07.2005 00:14:18
Wohnort: das 4. Reich der GEZ

Beitrag von za0 » 31.12.2006 09:56:17

nepos 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.
das geht mit

Code: Alles auswählen

iptables -Z
bzw mit cron am monatsanfang.
nepos hat geschrieben: Oder hab ich dich nun falsch verstanden?
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?

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! :twisted:

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 31.12.2006 12:06:20

Hm, die Counter kann man nicht wieder zurückschreiben denke ich. Aber 100% sicher bin ich mir da auch wieder nicht.

Benutzeravatar
za0
Beiträge: 816
Registriert: 09.07.2005 00:14:18
Wohnort: das 4. Reich der GEZ

Beitrag von za0 » 31.12.2006 13:46:48

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
? <== probier doch mal ....

Viele Grüße
za0


Nieder mit der Pauschal-Abzocke der GEZ! :twisted:

Benutzeravatar
za0
Beiträge: 816
Registriert: 09.07.2005 00:14:18
Wohnort: das 4. Reich der GEZ

Beitrag von za0 » 01.01.2007 02:54:29

Code: Alles auswählen

iptables -A OUTPUT -p tcp --dport 80 -m quota --quota 52428800 -j ACCEPT
Schon bei dem Command sagt er:
iptables: No chain/target/match by that name
Ich nehme an, dass ich das modul ipt_quota benötige.

wo finde ich das und wie installiere ich es?

Viele Grüße
za0


Nieder mit der Pauschal-Abzocke der GEZ! :twisted:

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.)

Beitrag von chroiss » 03.01.2007 10:54:46

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.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 03.01.2007 11:08:11

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.

Code: Alles auswählen

iptables -Z
? <== probier doch mal ....
Naja, damit setzt du die Counter auf 0 zurück, mehr auch nicht.
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...

Benutzeravatar
za0
Beiträge: 816
Registriert: 09.07.2005 00:14:18
Wohnort: das 4. Reich der GEZ

Beitrag von za0 » 03.01.2007 11:54:49

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.
Entschuldige, ich habe das völlig vergessen ...eek... Danke.

Viele Grüße
za0


Nieder mit der Pauschal-Abzocke der GEZ! :twisted:

Benutzeravatar
za0
Beiträge: 816
Registriert: 09.07.2005 00:14:18
Wohnort: das 4. Reich der GEZ

Beitrag von za0 » 10.01.2007 15:18:11

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
die anleitung da kannste knicken. netfilter.org verwender svn. ausserdem kann man die source per ftp ziehen

Viele Grüße
za0


Nieder mit der Pauschal-Abzocke der GEZ! :twisted:

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

Beitrag von gms » 10.01.2007 17:44:34

za0 hat geschrieben:

Code: Alles auswählen

iptables -A OUTPUT -p tcp --dport 80 -m quota --quota 52428800 -j ACCEPT
Schon bei dem Command sagt er:
iptables: No chain/target/match by that name
Ich nehme an, dass ich das modul ipt_quota benötige.

wo finde ich das und wie installiere ich es?
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 ?

Code: Alles auswählen

root@gms2:~# ls /lib/iptables/libipt_quota.so
/lib/iptables/libipt_quota.so
Vermutlich hat dein Hoster, das zugehörige Kernelmodul nicht für notwendig erachtet :wink:

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
da muß wohl ein neuer Kernel her :)

Gruß
gms

Benutzeravatar
za0
Beiträge: 816
Registriert: 09.07.2005 00:14:18
Wohnort: das 4. Reich der GEZ

Beitrag von za0 » 10.01.2007 17:53:20

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 ?

Code: Alles auswählen

root@gms2:~# ls /lib/iptables/libipt_quota.so
/lib/iptables/libipt_quota.so
Gruß
gms
hi 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! :twisted:

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

Beitrag von gms » 10.01.2007 18:04:11

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

Benutzeravatar
za0
Beiträge: 816
Registriert: 09.07.2005 00:14:18
Wohnort: das 4. Reich der GEZ

Beitrag von za0 » 10.01.2007 18:14:23

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
es exisitert nicht .. :( => also kernel kompilieren, oder?

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! :twisted:

Antworten