ubuntuusers.de

iptables NAT

Status: Ungelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

Das_Wort

Anmeldungsdatum:
23. Dezember 2009

Beiträge: 5269

Wohnort: /dev/null

Hallo,

folgende Situation:

Clients in einem OpenVPN sollen einen iptables NAT einen Dienst erreichen der selbst nicht Teil des VPNs ist.

Der Plan ist dass der Client (z.B.: 172.16.0.6) ein Paket an 172.16.0.22 schickt. Dieses Paket landet beim OpenVPN-Server und wird dort über PREROUTING abgefangen und umpacketiert. Als Absender wird nun 192.168.1.244 (LAN-IP des OpenVPN-Servers) in das Paket geschrieben und der Empfänger als 192.168.1.22 (Service im LAN des OpenVPN-Servers) umgeschrieben. Wenn der Service nun antwortet schickt dieser das Paket an 192.168.1.244 zurück, dort werden Absender und Adressat wider umgeschrieben und an den Client zurück sendet.

Das Destination NAT sollte meines Verständnisses nach folgender Befehl funktionieren.

iptables -t nat -A PREROUTING -d 172.16.0.22 -o br0 -j DNAT --to-destination 192.168.1.22

Beim Source-NAT bin ich mir noch nicht ganz sicher. Diese Regel scheint mir als nicht ausreichend für meine Usecase:

iptables -t nat -A POSTROUTING -o br0 -j SNAT --to-source 192.168.1.244

Schließlich sollen nicht alle Pakete die an …244 gesendet werden wieder in das VPN geroutet werden, sondern nur die Antworten zu Anfragen die aus dem VPN-Netz kamen. Müssen die Pakete dafür nicht irgendwie markiert werden?

Die Lösung muss nicht zwingend mit iptables direkt umgesetzt werden, wenn es etwas einfacheres gibt (shorewall?), dann würde ich das auch nutzen.

Viele Grüße und Dank

Das Wort

resselkessel

Anmeldungsdatum:
29. Mai 2013

Beiträge: 33

Hallo,

ist der VPN-Server 192.168.244 auch dein Default Gateway im Lan? Ich würde es ohne Nat mit echtem Routing umsetzen. Ansonsten kannst du MASQUERADE verwenden für dein Vorhaben:

iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE

Dabei muss der Rechner 192.168.1.22 aber mindestens das VPN-Netz kennen:

route add -net 172.16.0.0/24 gw 192.168.1.244

Das_Wort

(Themenstarter)

Anmeldungsdatum:
23. Dezember 2009

Beiträge: 5269

Wohnort: /dev/null

Nein leider nicht. Wenn es ginge würde ich auch kein NAT einrichten. Aber das Netzwerk soll nicht verändert werden.

Antworten |