web-dev-qa-db-fra.com

Les ports de transfert avec iptables ne fonctionnent pas?

J'ai un serveur Ubuntu (14.04.1) qui me demande en tant que routeur pour mon réseau. Il possède une interface Internet, eth0, et une seconde interface, eth1, pour la connexion à mon réseau 10.0.0.0.

J'essaie de transférer TCP le trafic dirigé vers eth0 (pour cet exemple, supposons que son adresse IP est 118.94.79.113) vers eth1 avec une adresse de 10.0.0.1 pour le port 27016

J'ai essayé les commandes suivantes dans l'ordre:

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

mais cela ne semble pas fonctionner du tout, je ne peux pas me connecter à 118.94.79.113:27016 pour accéder à l'application exécutée le 10.0.0.104:27016. Est-ce que cela a à voir avec deux interfaces ou quoi?

6
Trotski94

Essayez d’ajouter -i eth0 à votre entrée PREROUTING et de -o eth0 à votre entrée POSTROUTING et d’exécuter Sudo iptables -A FORWARD -i eth1 -j ACCEPT

2
Ben