Page 1 of 1

iptables und usertraffic ...

Posted: 2004-08-15 16:40
by fettbird
Hallo allerseits,

ich möchte gerne den Traffic, den Benutzer mit ihren Diensten
erzeugen(in meinem Fall irgendein gameserver) protokollieren.

Das heißt:
Benutzer Fred, betreibt einen Gameserver (der dienst wird als
Benutzer Fred ausgeführt). ich möchte jetzt den up/downstream für
benutzer fred und diesen server loggen.

Wie muss jetzt der Befehl lauten um das zu loggen für iptables ?
Oder besser gesagt gibt es vielleicht schon tools die mir die arbeit
abnehmen?

danke im voraus :-)

mfg Bene

p.s. ich kenne den artikel der tutorials über iam aber leider weiß ich nicht wie ich das für einen dienst eines benutzers ausführe ???

Re: iptables und usertraffic ...

Posted: 2004-08-15 16:57
by Anonymous
Out of the box funktioniert das nicht .. jegliche Tools kannst du in dieser Hinsicht vergessen, weil man einen Gameserver nicht einfach nach *ports* statisch loggen kann aufgrund von diversen handshake Mechanismen.

Es gibt dennoch eine relativ triviale Lösung:

Schau dir den POM (patch-o-matic) patch von Netfilter für den Kernel an [1] .. dieser erlaubt das socketowner matchen auch in der INPUT chain, in der OUTPUT chain ist das standardmäßig vorhanden (sofern Netfilter im Kernel).

das ganze würde dann sofern du alles richtig eingespielt hast in etwa so aussehen:

Code: Select all

iptables -X account1
iptables -N account1
iptables -A account1 -j ACCEPT

iptables -A INPUT -d IP -p udp -m owner --uid-owner <socket-owner-id> -j account1
iptables -A INPUT -d IP -p tcp -m owner --uid-owner <socket-owner-id> -j account1
iptables -A OUTPUT -s IP -p udp -m owner --uid-owner <socket-owner-id> -j account1
iptables -A OUTPUT -s IP -p tcp -m owner --uid-owner <socket-owner-id> -j account1
Das <socket-owner-id> ist natürlich entsprechend zu ersetzen, in deinem Fall würdest du die id über

Code: Select all

id -u fred
herausbekommen.

Den eigentlichen traffic müsstest du dann ggf. über ein Script parsen und in einer mysqlDB addieren:

Code: Select all

iptables -vxnL account1 | grep ACCEPT | awk '{print $2}'
damit erhälst du die bytes in der chain account1

:wink:




Links:
[1] http://netfilter.org/patch-o-matic/pom- ... cketlookup

Re: iptables und usertraffic ...

Posted: 2004-08-15 17:07
by fettbird
wow :-)
vielen dank.
werde das jetzt mal ausprobieren!

ich hoffe das ich das irgendwie hinbekomme!
teile mir den server mit nem freund!
ich (programmierer brauche datenbanken usw. er Schüler will onlinegaming!
und irgendwie muss ich das halt für ihn mitloggen! damit wir diesbezüglich genaue triaffic infos haben ...

melde mich gleich nochmal ob es funktioniert hat.

Re: iptables und usertraffic ...

Posted: 2004-08-15 17:36
by fettbird
kann man das vielleicht auch irgendwie in iam einbinden ?

ich kriege das was du oben wirklich gut beschrieben hast nicht hin!

daher würde es mir mittlerweile schon reichen incomming und outgoing traffic für einzelne ports zu protokollieren!

wenn ich z.b. alles was auf 1716 kommt mit in iam aufnhemen möchte, was muss ich dann tun?

danke nochmals für die verschwendete zeit :-)

Re: iptables und usertraffic ...

Posted: 2004-08-15 19:02
by Anonymous
fettbird wrote:kann man das vielleicht auch irgendwie in iam einbinden ?

ich kriege das was du oben wirklich gut beschrieben hast nicht hin!

daher würde es mir mittlerweile schon reichen incomming und outgoing traffic für einzelne ports zu protokollieren!

wenn ich z.b. alles was auf 1716 kommt mit in iam aufnhemen möchte, was muss ich dann tun?

danke nochmals für die verschwendete zeit :-)
Du musst einfach nen eigenen neuen kernel backen wo der POM patch mit drin ist .. und wie gesagt nach ports loggen bringt dir bei nem gameserver nichts.
Ansonsten habe ich von IAM keine Ahnung da ich mir Dinge die ich brauche selber schreibe :wink:

Re: iptables und usertraffic ...

Posted: 2004-08-15 19:08
by mutombo
dafür gibts doch sogar ne howto von mir ;)

http://www.debianhowto.de/howtos/de/use ... index.html

ist halt mit ipac-ng

Re: iptables und usertraffic ...

Posted: 2004-08-15 19:09
by fettbird
und damit kann ich den traffic von nem gameserver richtig loggen ?

Re: iptables und usertraffic ...

Posted: 2004-08-15 19:16
by kase
smashie wrote: und wie gesagt nach ports loggen bringt dir bei nem gameserver nichts.
Kommt auf den GameServer an. Bei einem Counter-Strike Server ist es zB so, dass mehr als 95% über den Port 27015 fließen, dh, wenn man diesen Port misst, hat man schon eine recht hohe Genauigkeit, und brauch nicht groß Kernel patchen, usw.

Ansonsten würde ich ipac-ng sogar iam bevorzugen, da iam inzwischen doch etwas veraltet ist. (IMHO)

Re: iptables und usertraffic ...

Posted: 2004-08-15 19:31
by fettbird
mir reicht eine ungefähre angabe!
hauptsache mein freund verbraucht mit der daddelei nicht zuviel traffic!
und dafür reicht dieses ipac-ng ja ?
danke für all euere tipps

Re: iptables und usertraffic ...

Posted: 2004-08-15 20:01
by Anonymous
fettbird wrote:mir reicht eine ungefähre angabe!
hauptsache mein freund verbraucht mit der daddelei nicht zuviel traffic!
und dafür reicht dieses ipac-ng ja ?
danke für all euere tipps
dazu musst du den Kernel trotzdem Patchen .. und das mit den 95% über den port 20715 stimmt nicht .. habe ich aus eigener Erfahrung getestet :wink:

Re: iptables und usertraffic ...

Posted: 2004-08-15 20:04
by fettbird
ok,
habe das kernel patchen nach dieser anleitung versucht:
(bin genau danach vorgegangen)
http://www.debianhowto.de/howtos/de/use ... tions.html

aber leider sucht der bei mir nach den dateien die er zu brauchen scheint in den falschen verzeichnissen:

Code: Select all

linux:/usr/src/linux # patch -p1 < ../owner-socketlookup.patch
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -urN a/include/net/tcp.h b/include/net/tcp.h
|--- a/include/net/tcp.h        2002-11-29 00:53:15.000000000 +0100
|+++ b/include/net/tcp.h        2003-03-27 15:33:45.000000000 +0100
--------------------------
File to patch:
ich nutze suse 9.1
jemand nen tip ?

Re: iptables und usertraffic ...

Posted: 2004-08-15 21:27
by Anonymous
back doch einfach nen neuen eigenen Kernel .. zu jeder Kenerl option gibts ne 'help' da sollte man mit ein wenig Verstand nichts falsch machen können

Re: iptables und usertraffic ...

Posted: 2004-08-15 21:32
by kase
Du brauchst den Kernel nicht patchen.

Falls du Debian hast, installier ipac-ng nach diesem HowTo:
http://www.debianhowto.de/howtos/de/ipa ... ac-ng.html

Und adde einfach 27015 zur Ã?berwachung. Wenn dir die 95% zu ungenu sind, dann adde einfach 27000 bis 27030 tcp und udp, dann hast du auf jeden Fall sämtlichen Traffic zu 100% erfasst.

(Mal abgesehen von Layer2 Traffic, den eh nur dein Switch erfasst, und iptables nicht mitloggen kann)

Re: iptables und usertraffic ...

Posted: 2004-08-15 22:28
by fettbird
ja aber ich muss doch diese "owner-socketlookup" sache noch mit in den kernel backen! und ich habe suse 9.1. (jaja ich weiß ;-))

hat da einer nen tip wie man was in den kernel nachträglich reinbaut?

und kann mir einer mal die genauen iptables commands geben um alle
udp und tcppacket die über 1716 zu erwischen ?

danke weiterhin :-)

Re: iptables und usertraffic ...

Posted: 2004-08-15 23:20
by Anonymous
fettbird wrote:ja aber ich muss doch diese "owner-socketlookup" sache noch mit in den kernel backen! und ich habe suse 9.1. (jaja ich weiß ;-))

hat da einer nen tip wie man was in den kernel nachträglich reinbaut?

und kann mir einer mal die genauen iptables commands geben um alle
udp und tcppacket die über 1716 zu erwischen ?

danke weiterhin :-)
Nein wenn du nach Portranges gehst musst du das nicht unbedingt .. dann wird halt jeglicher traffic auf den spezifischen ports gelogged .. halte ich für ne schwachsinns methode .. ich frage mich wirklich wo das Problem ist nen Kernel zu backen.

Desweiteren gab ich dir die _genauen_ commands bereits im 1. Posting :wink:

Re: iptables und usertraffic ...

Posted: 2004-08-15 23:31
by fettbird
hast ja recht :-)
gibt bei mir nur irgendwie die probleme, das in dem patchfile schwachsinnige ordnerangaben sind!
die dateien gibt es bei mir aber in ganz anderen ordner als es die patchfile erwartet!
naja :-( werde mir das morgen nochmal anschauen!
versuchen den scheiss kernel mit diesem owner /netfilter patch zu bezwingen und dann mal weiter sehen ...
mfg Bene

Re: iptables und usertraffic ...

Posted: 2004-08-16 00:21
by Anonymous
die Pathangaben sind bei einem Patch vollkommen irrelevant .. hol dir von kernel.org nen 2.4.27er danach make menuconfig und entsprechend alles durchgehen .. danach POM benutzen und patchen das klappt wunderbar

Re: iptables und usertraffic ...

Posted: 2004-08-16 11:00
by fettbird
habe aber nen 2.6 kernel!
geht das damit trotzdem ?
wahrscheinlich nicht! woher kriegt man denn den richtigen patch für die 2.6 version ?

Re: iptables und usertraffic ...

Posted: 2004-08-16 11:31
by Anonymous
fettbird wrote:habe aber nen 2.6 kernel!
geht das damit trotzdem ?
wahrscheinlich nicht! woher kriegt man denn den richtigen patch für die 2.6 version ?
ja geht es siehe patch-o-matic-ng ... benutz keinen SuSE Kernel sondern back dir nen eigenen :roll:

Re: iptables und usertraffic ...

Posted: 2004-08-20 13:44
by mutombo
so hab mir den thread nochmal komplett durchgelesen.
also ipac-ng geht auch mit kernel2.6, der patch ist nur nötig wenn man traffic userbasierend loggen will.

mich würde mal interessieren wo z.b. CS noch traffic verursacht?

Für CS 1.6 mit STEAM sind es diese Ports:
UDP 1200
UDP 27000 to 27015 inclusive
TCP 27030 to 27039 inclusive
Für 1.5:
Incoming UDP to local destination 27015.
In and out UDP to local destination 27011.
Outgoing UDP to remote destination 27010, 27012.
Outgoing TCP to remote destination 5273.
Outgoing TCP to remote destination 7002.

hier steht doch ganz klar welche ports wohin traffic verursachen.