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


14

私は2つのインターフェースeth1とを持っていますeth0。上のすべてのトラフィックeth0をに転送したいeth1。次のようなiptableルールを作成しました。

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

しかし、これは機能しません。これはこれを行う正しい方法ですか?

回答:


22

カーネルで転送をまだ有効にしていない場合は、有効にします。

  • 開い/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チェーンを使用する代わりに、どのインターフェースが着信/発信かを指定するルールをそのチェーンに作成する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.