it-swarm.com.de

Portweiterleitung mit iptables funktioniert nicht?

Ich habe einen Ubuntu-Server (14.04.1), der als Router nach meinem Netzwerk fragt. Es verfügt über eine Internetschnittstelle (eth0) und eine zweite Schnittstelle (eth1) für die Verbindung mit meinem 10.0.0.0-Netzwerk.

Ich versuche, TCP an eth0 gerichteten Datenverkehr (in diesem Beispiel lautet seine IP-Adresse 118.94.79.113) an eth1 mit einer Adresse von 10.0.0.1 für Port 27016 weiterzuleiten

Ich habe die folgenden Befehle nacheinander ausgeführt:

Sudo echo "1" > /proc/sys/net/ipv4/ip_forward

Sudo sysctl net.ipv4.ip_forward=1

Sudo iptables -t nat -A PREROUTING -p tcp --dport 27016 -j DNAT --to-destination 10.0.0.104:27016

Sudo iptables -t nat -A POSTROUTING -j MASQUERADE

aber das scheint überhaupt nicht zu funktionieren, ich kann keine Verbindung zu 118.94.79.113:27016 herstellen, um auf die Anwendung zuzugreifen, die auf 10.0.0.104:27016 ausgeführt wird. Hat es damit zu tun, dass es sich über zwei Schnittstellen erstreckt, oder was?

6
Trotski94

Versuchen Sie, -i eth0 zu Ihrem PREROUTING -Eintrag und -o eth0 zu Ihrem POSTROUTING -Eintrag hinzuzufügen und Sudo iptables -A FORWARD -i eth1 -j ACCEPT auszuführen.

2
Ben