Azure の VM のルーティング動作がおかしい

Azure の VM のルーティング動作がおかしい

Ubuntuマシンが3台あります。マシンA、B、Cです。また、VNet 10.3.0.0/16を作成し、3つのサブネットを作成しました。SubN1: 10.3.0.0/24 SubN2: 10.3.1.0/24 SubN3: 10.3.2.0/24

マシン A には 3 つの NIC、eth0、eth1、eth2 があります。マシン B には 2 つの NIC、eth0、eth1 があります。マシン C には 2 つの NIC、eth0、eth1 があります。

管理目的で、すべてのマシンの eth0 を SubN1 に接続します。マシン A eth1 とマシン B eth1 は SubN2 に属し、マシン A eth2 とマシン C eth1 は SubN3 に属します。マシン B をインターフェイス eth1 を使用してマシン C に接続できるようにしたいのですが、これはマシン B と C の間にルートを追加する必要があることを意味します。B と C は接続されていないことを確認しました。

次に、マシン B のルーティング テーブルで、次のコマンドを入力します: ip route add {SubN3}/24 via {マシン A の eth1 の IP アドレス} dev eth1 マシン C のルーティング テーブルで、次のコマンドを入力します: ip route add {SubN2}/24 via {マシン A の eth2 の IP アドレス} dev eth1

マシン A で IP 転送を設定していなくても、マシン B は eth1 経由でマシン C に正常に接続できます。

素晴らしいですね!しかし、疑問が湧いてきます。

マシン B と C が接続されている(互いに ping または ssh を実行)のに、マシン A(eth1 または eth2) でトラフィックを確認できません。

マシンAをシャットダウンしても、マシンBとCはまだ接続されています!! 奇妙です。

私が望むのは、マシン B と C が接続されているが、トラフィックはマシン A を経由することです。

何が間違っているのか、あるいは設定する必要があるのか​​教えていただけますか?

ありがとう

答え1

ping 出力にはもう少し時間がかかると思います。

私もあなたと同じテストを受けています。

vm1 has nic0 10.0.0.4, nic1 10.0.1.4, nic2 10.0.2.4;
vm2 has nic0 10.0.0.5, nic1 10.0.1.5;
vm3 has nic0 10.0.0.6, nic2 10.0.2.5.
nic0s join into subnet0 10.0.0.0/24; 
nic1s join into subnet1 10.0.1.0 24; 
nic2s join into subnet2 10.0.2.0/24.

次に、vm2 に 1 つのルートを追加します。sudo ip route add 10.0.2.0/24 via 10.0.1.4 dev eth1 ここに画像の説明を入力してください

vm3 にルートを 1 つ追加します。sudo ip route add 10.0.1.0/24 via 10.0.2.4 dev eth1 ここに画像の説明を入力してください

したがって、eth1 を使用して vm2 から vm3 に ping を実行できます。ポータルで vm1 を停止すると、次の応答が表示されます: 宛先ホストに到達できません。 ここに画像の説明を入力してください

vm1 を再起動すると、ping 接続が復元されます。 ここに画像の説明を入力してください

したがって、設定は正しいと思いますが、この場合はもう少し時間が必要です。

関連情報