Port-Forwarding mit Iptables

Erstellt: 19.09.2010 01:03

Das Ziel ist es den Port 80 vom internen LAN ins externe WAN weiterzuleiten und umgekehrt.

          ___________________              _________________
_______ | | | | _______
| | | eth0 | Forwarding | eth1 | | |
| WAN |---| 123.xxx.xxx.xxx |--------------| 192.168.0.42 |---| LAN |
|_____| | Port 80, TCP | | Port 80, TCP | |_____|
|_________________| |_______________|

Zuerst wird die Destination manipuliert von den einkommenden Paketen von der WAN-IP zur LAN-IP damit diese ihr Ziel erreichen können.

# iptables -A PREROUTING -p tcp -t nat -i eth0 --dport 80 -j DNAT --to 192.168.0.42:80

Nun das eigentliche Forwarding von Paketen mit der Destination-IP 192.168.0.42 und dem Destination-Port 80 von eth0.

# iptables -A FORWARD -p tcp -i eth0 --dport 80 -d 192.168.0.42 -j ACCEPT

Das ganze rückwärts mit Source-IP und -Port. (Die Destionation ist ja beim Rückweg die Source.)

# iptables -A FORWARD -p tcp -i eth1 --sport 80 -s 192.168.0.42 -j ACCEPT

Und am Ende die Source manipulieren damit das Paket weiss, dass es zur WAN-IP zurück muss und nicht zur LAN-IP welche ja nicht direkt erreichbar ist.

# iptables -A POSTROUTING -t nat -o eth0 -j SNAT --to 123.xxx.xxx.xxx

In diesem Beispiel bleibt der Port der selbe. Man könnte auch Port 8080 auf 80 weiterleiten als Beispiel. Viel Erfolg. ;)

Tagged: Linux Netzwerk


Ähnliche Artikel:
Exim-Smarthost mit Authentifizierung über STARTTLS
(Sun/Oracle) Java in Iceweasel: "Caused by: java.net.ConnectException: Network is unreachable"
SSH-Login sehr langsam
Hostname ändern unter Linux
IP von Denyhosts entbannen

« Vorheriger Eintrag

Nächster Eintrag »

Kommentare

Verfasse den ersten Kommentar!

Kommentar verfassen