web-dev-qa-db-fra.com

iptables transfère tout le trafic vers l'interface

J'ai deux interfaces eth1 et eth0. Je veux tout le trafic sur eth0à transmettre à eth1. J'ai créé une règle iptable comme celle-ci:

iptables -A FORWARD -s 0/0 -i eth0 -p tcp -o eth1 -j ACCEPT

Mais ça ne marche pas. Est-ce la bonne façon de procéder?

14
user110

Si vous n'avez pas encore activé le transfert dans le noyau, faites-le.

  • Ouvert /etc/sysctl.conf et commentez net.ipv4.ip_forward = 1

  • Exécutez ensuite $ Sudo sysctl -p

Ajoutez les règles suivantes à iptables

Sudo iptables -t nat -A POSTROUTING --out-interface eth1 -j MASQUERADE  
Sudo iptables -A FORWARD --in-interface eth0 -j ACCEPT

Tout le trafic transféré traversera la chaîne FORWARD. Pour filtrer les paquets, vous devrez maintenant créer des règles sur cette chaîne spécifiant quelle interface est entrante/sortante au lieu d'utiliser les chaînes INPUT/OUTPUT.

22
Creek