Ubuntu 通过无线,VM 通过有线

Ubuntu 通过无线,VM 通过有线

我正在尝试做这样的事情:

  • 所有来自 Ubuntu 的网络连接都应通过我的无线连接
  • 所有源自 Windows 内部(安装在 VM 内)的连接都应通过有线连接。

现在,我能够通过将虚拟机的适配器桥接到 eth0 接口来获得第二个。但是每当我连接以太网电缆时,Ubuntu 都会拒绝使用我的无线连接进行任何进一步的连接。我猜有线比无线有更高的优先级,但是有什么方法可以实现上述情况吗?

答案1

您需要在 LAN 接口上设置更高的度量(或在 WLAN 接口上设置更低的度量)。或者只需禁用 LAN 接口的 NetworkManager 并删除其 IP(ifconfig eth0 0.0.0.0)。别担心,您的 VM 不会受到影响。只需确保您不关闭接口( )ifconfig eth0 up

答案2

所以,我找到了一个可行的解决方案。假设路由表如下所示:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.0.2.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0
192.168.56.0    0.0.0.0         255.255.255.0   U         0 0          0 ra0
0.0.0.0         192.168.56.1    0.0.0.0         UG        0 0          0 ra0
default         gw-01           0.0.0.0         UG        0 0          0 eth0

我伪造了路由表。可能有缺陷!但它应该可以作为一个例子。请注意,涉及两个接口。在这种情况下,默认路由是将数据包发送到属于 eth0 的 gw-01。我所做的只是以下内容:

sudo route del default gw-01 eth0 
sudo route add default 192.168.56.1

一切都按预期运行,但主机中的访问相对较慢。我不确定为什么,但至少我有一个可行的方法。任何更好的解决方案仍然欢迎。

相关内容