eth1
2つのインターフェイスがあり、すべてのトラフィックが次のように転送されることをeth0
望みます。eth0
eth1
iptables -A FORWARD -s 0/0 -i eth0 -p tcp -o eth1 -j ACCEPT
しかし、これはうまくいきません。これは正しい方法ですか?
答え1
まだカーネルで転送を有効にしていない場合は、そうします。
開いて
/etc/sysctl.conf
コメントを解除net.ipv4.ip_forward = 1
その後実行
$ sudo sysctl -p
次のルールを追加してください。iptables
sudo iptables -t nat -A POSTROUTING --out-interface eth1 -j MASQUERADE
sudo iptables -A FORWARD --in-interface eth0 -j ACCEPT
転送されたすべてのトラフィックはFORWARDチェーンを通過します。パケットをフィルタリングするには、INPUT / OUTPUTチェーンを使用するのではなく、着信/発信インターフェイスを指定してこのチェーンにルールを作成する必要があります。