3つのネットワークインターフェイスを備えたLinuxサーバーがあります。eth0, eth1, eth2
。このサーバーでIP転送がオンになっています。
10.0.1.1
。172.16.1.1
。サーバーAは、172.16.1.2でルーターCにpingを実行できます。192.168.1.1
。サーバーAは192.168.1.2でサーバーBにpingを実行できます。[10.0.1.0/24] | 172.16.2.0/24------ | | [C] ------ 172.16.1.0/24 ------ [A] ------ 192.168.1.0/24 ------ [B] 172.16.3.0/24 ------ |
MASQUERADEをeth0に設定しました。サーバーB(192.168.1.2)が10.0.1.0/24に接続すると、IPMASQUERADEがeth0で発生します。
MASQUERADEをeth1に設定できますか? LinuxでMASQUERADEを複数のネットワークインターフェイスに設定しても大丈夫ですか?
はい、複数のMASQUERADE
ルールがあっても問題ありません。通常、各ルールは、特定のインターフェイスから送信されるパケットと一致します。次に例を示します。
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
最初のルールは、送信されるパケットに一致しますeth0
、2番目のものは送信されるパケットと一致しますeth1
。