同じサブネット上でマシン 1 からマシン 2 を経由してマシン 3 に、またはその逆にトラフィックをルーティングするにはどうすればよいですか?

同じサブネット上でマシン 1 からマシン 2 を経由してマシン 3 に、またはその逆にトラフィックをルーティングするにはどうすればよいですか?

仮想マシンを実行するCitrix Xenserverがあります。そこにはそれぞれ2つのネットワークカードを持つ3つのVMがあります。eth0管理に使用する会社のLANとeth13つのVMの両方にある「シングルサーバープライベートネットワーク」です。管理インターフェイスは私のSSHセッションでのみ機能します。

私の仮想マシンに割り当てられたIPは次のとおりです。

M1 = 192.168.0.1/24
M2 = 192.168.0.2/24
M3 = 192.168.0.3/24

M2では、IP転送を有効にしました。

echo 1 > /proc/sys/net/ipv4/ip_forward

M1からM2を介してM3にトラフィックをルーティングするには、次の手順を実行します。

ip route add 192.168.0.3 via 192.168.0.2 dev eth1

M3にも:

ip route add 192.168.0.1 via 192.168.0.2 dev eth1

しかし、ルートを追跡したり、M1からM3に(またはその逆)トラフィックを送信したりすると、M2を経由せずに目的地に向かうようです。同じサブネットにあるからですか?同じサブネット上にある場合、このルーティングを達成するにはLinuxボックスで何をすべきですか?

ベストアンサー1

ネットワーク:

  1. Xenに単一サーバーのプライベートネットワークを作成します。
  2. machine1とmachine3をそれぞれ1つずつ追加します。
  3. 次へ追加そのうちの2つはmachine2のステップ1で作成されました。

マシン1:

ip addr add 1.1.1.2/24 dev eth1
ip route add 2.2.2.0/24 via 1.1.1.1 dev eth1 proto static

マシン3:

ip addr add 2.2.2.2/24 dev eth1
ip route add 1.1.1.0/24 via 2.2.2.1 dev eth1 proto static

マシン2(ルーター):

ip addr add 1.1.1.1/24 dev eth1
ip addr add 2.2.2.1/24 dev eth2

テスト:

ping 2.2.2.2 # machine1
ping 1.1.1.2 # machine3

おすすめ記事