Traffic pro User begrenzen

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
darxyde2
Beiträge: 7
Registriert: 28.03.2008 21:07:40

Traffic pro User begrenzen

Beitrag von darxyde2 » 28.03.2008 21:20:05

Hallo

Kennt jemand ein Programm/Script mit dem man den Traffic den ein User pro Monat erzeugen darf z.B. auf 20gb begrenzen kann?
Es muss für mehrere User funktionieren, d.h. User1-->Noch 10GB verfügbar, User2-->Noch 12GB verfügbar usw
Wenn die 20GB verbraucht sind soll jeder weitere Traffic blockiert werden

Gruß

Benutzeravatar
C_A
Beiträge: 1082
Registriert: 22.04.2004 14:51:01
Lizenz eigener Beiträge: GNU General Public License

Beitrag von C_A » 29.03.2008 12:08:40

iptables hat eine quota Funktion.
man iptables hat geschrieben: quota
Implements network quotas by decrementing a byte counter with each packet.

--quota bytes
The quota in bytes.

darxyde2
Beiträge: 7
Registriert: 28.03.2008 21:07:40

Beitrag von darxyde2 » 29.03.2008 13:06:28

Aber das gilt dann doch für den ganzen Server und nicht für einzelne User oder?

Benutzeravatar
C_A
Beiträge: 1082
Registriert: 22.04.2004 14:51:01
Lizenz eigener Beiträge: GNU General Public License

Beitrag von C_A » 29.03.2008 13:09:03

Ich weiss nicht wie dein Netz aufgebaut ist aber wenn jeder User seine IP hat dann laesst sich das pro IP festlegen (-s, -d).

darxyde2
Beiträge: 7
Registriert: 28.03.2008 21:07:40

Beitrag von darxyde2 » 29.03.2008 13:10:17

C_A hat geschrieben:Ich weiss nicht wie dein Netz aufgebaut ist aber wenn jeder User seine IP hat dann laesst sich das pro IP festlegen (-s, -d).
Es hat nicht jeder seine eigene IP, jeder hat nur einen eigenen Account auf dem Server

Benutzeravatar
C_A
Beiträge: 1082
Registriert: 22.04.2004 14:51:01
Lizenz eigener Beiträge: GNU General Public License

Beitrag von C_A » 29.03.2008 13:15:28

man iptables hat geschrieben:owner
This module attempts to match various characteristics of the packet creator, for locally-generated packets. It is
only valid in the **OUTPUT** chain, and even this some packets (such as ICMP ping responses) may have no owner, and
hence never match.

--uid-owner userid
Matches if the packet was created by a process with the given effective user id.

darxyde2
Beiträge: 7
Registriert: 28.03.2008 21:07:40

Beitrag von darxyde2 » 29.03.2008 14:43:34

Ich habe jetzt ein paar Filterregeln angelegt
-A OUTPUT -p tcp -t filter -m quota --quota 2097152 -m owner --uid-owner 1001 -j ACCEPT
-A OUTPUT -p tcp -j DROP

Jedoch wird jetzt der Traffic von dem User dem der Prozess gehört gezählt und nicht von dem User der den Traffic tatsächlich erzeugt

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

Beitrag von nepos » 31.03.2008 08:41:31

Woher sollte iptables auch wissen, welcher User den Traffic erzeugt? Es sieht ja nur den Prozess, von dem die Daten kommen und kann anhand dessen eine User-ID identifizieren.

Benutzeravatar
C_A
Beiträge: 1082
Registriert: 22.04.2004 14:51:01
Lizenz eigener Beiträge: GNU General Public License

Beitrag von C_A » 31.03.2008 11:25:39

nepos hat geschrieben:Woher sollte iptables auch wissen, welcher User den Traffic erzeugt?
Es ist halt abgesehen von setuid Programmen in der Regel so, dass der Prozess auch von der UID gestartet wurde mit der er selbst laeuft.

Da das ganze aber natuerlich nur auf die OUTPUT chain anwendbar ist, ist das Ganze eine unbrauchbare "Loesung".

Antworten