Linux und NAT Loopback

24/09/2008 - 15:17 von Peter Mairhofer | Report spam
Hi,

Ich hatte bis heute einen Provider mit statischer IP und einem ST546i
Modem. Dieses hatte die Option "NAT Loopback". Damit war es möglich,
dass Pakete von intern trotz Portforwarding (DNAT) wieder nach intern
zurückgeschickt werden.

Das war sehr praktisch, weil man überall sowohl intern als auch extern
die Computer gleich ansprechen konnte und die Config überall gleich ist.

Seit heute hab ich nun einen anderen Provider (mit Subnet) und als
Router (damit so schnell wie möglich alles wieder làuft) einen WRT54GL
mit OpenWRT hergenommen.

Die Lösung mit eigenem internen DNS (oder Views) ist mir bekannt, möchte
ich jedoch nicht (jetzt) implementieren.

Fürs erste würde ich gerne das gleiche Verhalten wie beim ST546 haben,
auch wenn es ein Hack ist (damit fürs erste einfach wieder alles so
funktioniert wie vorher).

Nun versuche ich schon die ganze Zeit die passende iptables-Regel zu
finden die mir das bewerkstelligt:

iptables -t nat -I PREROUTING 1 -i br-lan -d <externe IP> -j DNAT

Geht nicht.

Intuitiv müsste jedoch (auch?) SNAT stattfinden, zumindest hat es das
ST546 so gemacht. Aber wie schaffe ich es SNAT und DNAT hier zusammen in
eine Regel zu verpacken?

Im Internet hab ich dazu nichts gefunden, womöglich ist "NAT loopback"
ein Thomson-proprietàres Wort...

lg
Peter
 

Lesen sie die antworten

#1 Peter Mairhofer
24/09/2008 - 15:37 | Warnen spam
Hi again,

Peter Mairhofer schrieb:
[...]
Ich hatte bis heute einen Provider mit statischer IP und einem ST546i
Modem. Dieses hatte die Option "NAT Loopback". Damit war es möglich,
dass Pakete von intern trotz Portforwarding (DNAT) wieder nach intern
zurückgeschickt werden.

[...]

Fürs erste würde ich gerne das gleiche Verhalten wie beim ST546 haben,
auch wenn es ein Hack ist (damit fürs erste einfach wieder alles so
funktioniert wie vorher).
[...]



Ich glaub ich hab das Verhalten jetzt hingebracht, durch Doppelnat
(SNAT+DNAT):

iptables -t nat -A PREROUTING -i br-lan -d $EXT -j DNAT --to-destination
$INT
iptables -t nat -A POSTROUTING -o br-lan -s $INT_NET -d $INT -j SNAT

Nur die Frage ist: Ist das korrekt (nur weil es auf den ersten Blick
funktioniert)?

Weiters ist jetzt natürlich das Problem dass auch lokale Pakete vom
Router durch das zweite Statement mit der öffentlichen IP als Absender
verschickt werden...

lg
Peter

Ähnliche fragen