iptables はすべてのトラフィックをインターフェイスに転送します。

iptables はすべてのトラフィックをインターフェイスに転送します。

eth12つのインターフェイスがあり、すべてのトラフィックが次のように転送されることをeth0望みます。eth0eth1

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チェーンを使用するのではなく、着信/発信インターフェイスを指定してこのチェーンにルールを作成する必要があります。

おすすめ記事