
ブリッジ ネットワーク アダプターを使用して、VirtualBox で Windows ホストと Linux VM ゲスト間のオンリンク接続を作成しようとしています。ゲストの IP は 10.xxx、ホストの IP は 192.xxx です。次の操作を実行します。
- ホスト上
route add 10.x.x.x mask 255.255.255.255 0.0.0.0
。
結果: ホスト上の 10.xxx に ping できません。(予想外)
- ゲストの場合
sudo ip route add 192.x.x.x via 10.x.x.1 dev enp0s9 onlink
。(ゲートウェイはインターフェースに設定されていますが、ゲートウェイは偽物であり、ネットワーク上に存在しません。ip
既存のゲートウェイなしでオンリンクしたくないため、ゲートウェイを指定する必要がありました (Error: Invalid flags for nexthop - PERVASIVE and ONLINK can not be set.
0.0.0.0 を使用するとエラーが発生します))。
結果: ホスト上の 10.xxx に ping できません。(予想外)
- ゲストでは以前のエントリを削除し、代わりに
sudo ip route add 192.168.2.6 via 0.0.0.0 dev enp0s9
結果:ip route
新しいエントリにオンリンクがないことが表示されているにもかかわらず、ホスト上の 10.xxx に ping を実行できます。(予想外)
3 の後に 1 で作成したエントリを削除し、10.xxx に ping を実行しようとすると、ping は失敗します。
そもそも、なぜゲストにルートを作成する必要があるのでしょうか? 2 でホストから ping できないのはなぜですか? onlink はゲートウェイをバイパスするはずだと思っていました。なぜ 3 が機能するのでしょうか?
この後、ゲストから 192.xxx に ping できません (それで問題ありませんが、意味がありません)。ただし、ゲストで実行しているソフトウェアはホストからの接続を確立できます (これが必要なことですが、理由と方法が少しわかりません)。