O iptables encaminha todo o tráfego para a interface

14

Eu tenho duas interfaces eth1e eth0. Quero que todo o tráfego eth0seja encaminhado eth1. Eu criei uma regra iptable como esta:

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

Mas isso não funciona. Essa é a maneira correta de fazer isso?

user110
fonte

Respostas:

22

Se você ainda não ativou o encaminhamento no kernel, faça-o.

  • Aberto /etc/sysctl.confe descomentadonet.ipv4.ip_forward = 1

  • Então execute $ sudo sysctl -p

Adicione as seguintes regras ao iptables

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

Todo o tráfego encaminhado atravessará a cadeia FORWARD. Para filtrar pacotes, agora você terá que criar regras nessa cadeia especificando qual interface é recebida / enviada em vez de usar as cadeias INPUT / OUTPUT.

Riacho
fonte