web-dev-qa-db-ja.com

Linuxサーバーの2つのネットワークインターフェイスにMASQUERADEを設定しても大丈夫ですか?

3つのネットワークインターフェイスを備えたLinuxサーバーがあります。eth0, eth1, eth2。このサーバーでIP転送がオンになっています。

  1. eth0は10.0.1.0/24に接続されています。そのIPは10.0.1.1
  2. eth1は172.16.1.0/24に接続されています。そのIPは172.16.1.1。サーバーAは、172.16.1.2でルーターCにpingを実行できます。
  3. eth2は192.168.1.0/24に接続されています。そのIPは192.168.1.1。サーバーAは192​​.168.1.2でサーバーBにpingを実行できます。
  4. ルータCは、172.16.2.0/24および172.16.3.0/24にルーティングできます。
 [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を複数のネットワークインターフェイスに設定しても大丈夫ですか?

2
userpal

はい、複数のMASQUERADEルールがあっても問題ありません。通常、各ルールは、特定のインターフェイスから送信されるパケットと一致します。次に例を示します。

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

最初のルールは、送信されるパケットに一致しますeth0、2番目のものは送信されるパケットと一致しますeth1

2
larsks