通过桥接适配器创建在线路由的意外行为

通过桥接适配器创建在线路由的意外行为

我正在尝试使用桥接网络适配器在 VirtualBox 中创建 Windows 主机和 Linux 虚拟机客户机之间的在线连接。客户机上的 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(我对此没意见,但这没有意义),但是我在客户机上运行的软件能够从主机建立连接(这是我想要的,但我不确定为什么以及如何做到的)。

相关内容