PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : iptables: Traffic ausgehend von Appl1 via eth0 und Appl1:1 via eth0:1 - möglich?



meinereinerseiner
23.02.10, 08:34
Hallo,

ist es möglich den Ausgehenden Traffic Applkationsabhängig zu routen/redirecten?

Ich habe 2 identische Services (den Namen könnte man noch unterschiedlich machen) welche einmal an eth0 und einmal an eth0:1 lauschen.
Eingehender Traffic ist kein Problem, nur bauen die Apps halt auch ausgehende auf und da melden sich beide halt immer mit der IP von eth0.

Bislang scheint es wohl so zu sein, das iptables nur prozess owner bzw. PIDs unterscheiden kann, aber keine prozessnamen....

vielleicht hat ja jemand nen tip.

thx,
tom

Rain_maker
23.02.10, 09:04
Soviel ich weiß, kann das iptables nicht, da nicht auf der Applikationsschicht gefiltert wird.

Es gab/gibt irgendwelche "Layer 7"-Patches für iptables (Tante G wird mehr wissen), vielleicht lässt sich damit etwas drehen.

marce
23.02.10, 09:06
evtl. kannst Du über die Routing-Tabelle erreichen, daß jeweils eth0:1 oder :0 verwendet wird - wenn das jeweilige Ziel der Applikation bekannt und unterschiedlich ist...

meinereinerseiner
23.02.10, 09:33
so gehts:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -m owner --uid-owner <uid> -o eth0 -j SNAT --to VirtIF_IP

derRichard
23.02.10, 11:19
so gehts:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -m owner --uid-owner <uid> -o eth0 -j SNAT --to VirtIF_IP

und wo ist da jetzt die abfrage auf den prozessnamen, wie du es wolltest?

//richard

Rain_maker
23.02.10, 12:21
und wo ist da jetzt die abfrage auf den prozessnamen, wie du es wolltest?

Gute Frage, vermutlich Problem durch unterschiedliche Nutzerkennungen der beiden Dienste umgangen.

meinereinerseiner
23.02.10, 13:03
ja, richtig - hätte ich mal besser noch dazu schreiben sollen.

habe jetzt beide applikationen mit unterschiedlichen kennungen laufen und unterscheide die halt so.

iptables kann zwar auch pid bzw. den namen, allerdings geht das noch nicht auf mehrprozessor maschinen.

cheers,
tom

derRichard
23.02.10, 13:12
iptables kann zwar auch pid bzw. den namen, allerdings geht das noch nicht auf mehrprozessor maschinen.


das smp-problem besteht doch nur bei alten systemen, wenn ich nicht irre.

//richard

meinereinerseiner
23.02.10, 13:28
ich habs unter centos 5.4 versucht, da gehts nicht

derRichard
23.02.10, 13:33
ja das hat noch einen älteren kernel.

//richard

meinereinerseiner
23.02.10, 13:34
"neu" ist halt relativ :)

derRichard
23.02.10, 13:46
"neu" ist halt relativ :)

naja, der 2.6.18 ist wirklich nicht mehr der neueste.
wobei redhat wirklich viel von neueren kerneln rückportiert hat.
aber eben nicht alles.^^

hier auf meiner opensuse11.0 kiste kann das owner-modul schon smp.

//richard