PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : IPTables: Ausnahmen fuer 2 verschiedene Netze



Mase
05.07.2004, 11:31
Hi,

hab mal ne Frage zu IPTables, folgendes Szenario:
Netz hinter der Firewall: 192.168.0.0/24
Netz davor, kein NAT: 10.0.1.0/24
Netz davor, kein NAT: 192.168.23.0/24
Rest (0.0.0.0/0) NAT.

Mit der Regel ...

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d ! 10.0.1.0/24 -j SNAT --to-source $EXT_IP

... klappt das nicht weil dann fuer 192.168.23.0/24 genattet wird. Und wenn ich noch ne 2te Regel mit 192.168.23.0/24 klappts auch nicht weil das Paket schon fuer die erste Chains zutrifft (sprich ! 10.0.1.0/24)
Ich hab dann versucht das mit User-Chains zu loesen, aber ich bekomm immer Fehler:

iptables -N NAT_NET
iptables -t nat -A NAT_NET -s 192.168.0.0/24 -d ! 10.0.1.0/24 -g SNAT --to-source $EXT_IP
iptables -t nat -A NAT_NET -s 192.168.0.0/24 -d ! 192.168.23.0/24 -g SNAT --to-source $EXT_IP
iptables -t nat -A POSTROUTING -j NAT_NET

Hab ich bei den User-Chains was verbockt oder gibts ne andere Loesung ?
Danke !

nikster77
05.07.2004, 12:30
Ich weiss nicht ganz genau was du vorhast... aber du solltest auf jeden Fall eine FORWARD Regel verwenden.
...Glaube Ich....

z.B.:
iptables -A FORWARD -o $EXP_IP -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -o <LAN-Interface> -m state --state ESTABLISHED,RELATED -j ACCEPT

ich hoffe ich habe verstanden was du meinst, dann sollte das klappen.

Niels

Mase
05.07.2004, 12:56
Einen FORWARD braucht man fuer POSTROUTING sowieso.
Mir gehts darum das fuer 192.168.0.0/24 ueberall hin genattet wird, bis auf die 2 angegebenen Netze. FORWARD muss ich eh 0.0.0.0/0 auf ACCEPT setzen.