透過橋接適配器建立 onlink 路由意外行為

透過橋接適配器建立 onlink 路由意外行為

我正在嘗試使用橋接網路介面卡在 VirtualBox 中的 Windows 主機和 Linux 虛擬機器之間建立 onlink 連線。訪客上的 IP 10.xxx 主機上的 IP 是 192.xxx 我執行以下操作:

  1. 在主機上route add 10.x.x.x mask 255.255.255.255 0.0.0.0

結果:我無法在主機上 ping 通 10.xxx。 (出乎意料)

  1. 上客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 時出現的錯誤) )。

結果:我無法在主機上 ping 通 10.xxx。 (出乎意料)

  1. 在訪客上,我刪除了以前的條目,而是這樣做sudo ip route add 192.168.2.6 via 0.0.0.0 dev enp0s9

結果:儘管ip route顯示新條目沒有 onlink,但我可以 ping 通主機上的 10.xxx。 (出乎意料)

如果在 3 之後我刪除在 1 中建立的條目並嘗試 ping 10.xxx,則 ping 失敗。

為什麼我首先需要為訪客制定一條路線?為什麼我無法使用 2 從主機 ping 通?我認為 onlink 應該繞過網關。為什麼3有效?

經過上述任何操作後,我無法從來賓 ping 192.xxx(我對此表示同意,但這沒有意義),但是我在來賓上運行的軟體能夠與主機建立連接(這是我想要的,但我不確定為什麼以及如何)。

相關內容