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. ;)
Kommentare
Verfasse den ersten Kommentar!