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

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

私は現在、dnsmasqを使用してDHCPおよびDNSキャッシュサーバーとして機能する小さなDebianボックスを作成しています。現時点では、2つのインタフェース(eth0、eth1)のみがあります。 1つはMy WAN(eth0)に接続され、もう1つはMy LAN(eth1)に接続してIPを割り当てます。

NIC間でトラフィックを転送するために、次のようにiptablesを設定しました。

iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT

その後、iptables-persistを使用してルールを修正しました。

新しいNIC(eth2)をインストールしてdnsmasqを設定したので、2つのサブネットがあります。私は以下を追加しました:

iptables --append FORWARD --in-interface eth2 -j ACCEPT

効果があるiptables-perciousを
クリーンアップ/etc/iptables/rules.v4して再インストールしましたが、/etc/iptables/rules.v4を編集したときに設定ファイルにeth2の痕跡がありませんでした。

問題はうまくいくということですが、私が何を間違っているのでしょうか?

ベストアンサー1

/etc/iptables/rules.v4コマンドを実行すると更新されないため、iptables直接更新する必要があります。たとえば、次のようになります。

iptables-save > /etc/iptables/rules.v4

おすすめ記事