仮想マシンを実行するCitrix Xenserverがあります。そこにはそれぞれ2つのネットワークカードを持つ3つのVMがあります。eth0
管理に使用する会社のLANとeth1
3つの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
ネットワーク:
- Xenに単一サーバーのプライベートネットワークを作成します。
- machine1とmachine3をそれぞれ1つずつ追加します。
- 次へ追加そのうちの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