[Wien] portforwarding wifi/wan

Gregor Glashüttner (spam-protected)
Do Jul 16 22:17:22 CEST 2009


2009/7/16 Markus Gschwendt <(spam-protected)>:
> warum verwendet er dann (bei -i das) interface das mit der
> destination-ip übereinstimmt?

Ok, der Begriff "Destination-IP" ist hier doppeldeutig, einmal die
Destination des ursprünglichen (nicht geDNATeten) Paketes, also die
Router IP (auf WAN oder WIFI) und einmal die Destination nach dem
DNAT, also der Rechner, an den weitergeleitet werden soll.

> beispiel:
> ein paket ist gerichtet an: 10.0.0.1:21
> 10.0.0.1 ist auf eth0
> soll forward sein auf: 192.168.0.1:21
> 192.168.0.1 ist erreichbar über eth1
> tatsächlich kommt das paket herein über 10.0.0.2 auf eth2
> wenn -i eth0 -d 10.0.0.1
> dann wird das paket nicht weitergeleitet weil es nicht auf eth0
> hereinkam.

Wenn du mit eth0 und eth2 WIFI und WAN meinst, dann haben wir ja genau
das Problem beschrieben.
Richtigerweise sollte es zwei Regeln geben:

iptables -t nat -I PREROUTING -p $PROTO -d 10.0.0.1 --dport $PORT -j
DNAT --to-destination 192.168.0.1
iptables -t nat -I PREROUTING -p $PROTO -d 10.0.0.2 --dport $PORT -j
DNAT --to-destination 192.168.0.1

Moment, ich verstehe glaub ich gerade, was du mit dem Entfernen der -i
-Optionen erreichen wolltest: Intern wird das Paket ja noch an
10.0.0.1 weiter geroutet, also sollte eine Regel reichen. Hm, aber
funktioniert das auch? Werden nach dem internen Routing alle
iptables-Chains nocheinmal von vorne aufgerufen?

LG Gregor

-- 
Partykeller
www.meineparty.at




Mehr Informationen über die Mailingliste Wien