升级到 Fedora 26 后缺少 vboxnet 接口

升级到 Fedora 26 后缺少 vboxnet 接口

我在我的工作站上运行 Fedora 25,安装了 VirtualBox (5.1.24) 和 2 个仅主机网络 (vboxnet0/vboxnet1),这些网络显示在 Gnome 的图形网络管理器中。

升级到Fedora 26后界面消失了。我在 VirtualBox 中重新创建了它们:

workstation ~ $ ifconfig -a
enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 192.168.150.12  netmask 255.255.255.0  broadcast 192.168.150.255
    inet6 fe80::d77a:6ee1:8ecf:2119  prefixlen 64  scopeid 0x20<link>
    ether 50:7b:9d:69:94:f2  txqueuelen 1000  (Ethernet)
    RX packets 187617  bytes 237567859 (226.5 MiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 93498  bytes 7749149 (7.3 MiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
vboxnet0: flags=4098<BROADCAST,MULTICAST>  mtu 1500
    inet 192.168.56.1  netmask 255.255.255.0  broadcast 0.0.0.0
    ether 0a:00:27:00:00:00  txqueuelen 1000  (Ethernet)
    RX packets 0  bytes 0 (0.0 B)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 0  bytes 0 (0.0 B)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
vboxnet1: flags=4098<BROADCAST,MULTICAST>  mtu 1500
    inet 192.168.57.1  netmask 255.255.255.0  broadcast 0.0.0.0
    ether 0a:00:27:00:00:01  txqueuelen 1000  (Ethernet)
    RX packets 0  bytes 0 (0.0 B)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 0  bytes 0 (0.0 B)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

在 VB 中我运行的是 FreeBSD 10.3。

inside_vb ~ $ ifconfig -a
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
    ether 08:00:27:7f:29:b3
    inet 192.168.150.83 netmask 0xffffff00 broadcast 192.168.150.255 
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    description: int
    options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
    ether 08:00:27:b0:dd:d3
    inet 192.168.56.31 netmask 0xffffff00 broadcast 192.168.56.255 
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active
em2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    description: ext
    options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
    ether 08:00:27:73:08:fe
    inet 192.168.57.31 netmask 0xffffff00 broadcast 192.168.57.255 
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active

在过去的几个月里,我在工作站上使用 sshem1界面。现在 wokrstation 看不到 VBox 界面(我在 GUI 中看不到vboxnet0vboxnet1)。

 workstation ~ $ ping 192.168.56.31
     PING 192.168.56.31 (192.168.56.31) 56(84) bytes of data.
     ^C
     --- 192.168.56.31 ping statistics ---
     116 packets transmitted, 0 received, 100% packet loss, time 117799ms

FreeBSD 上的 VBox 内的路由表对我来说看起来不错(但我可能是错的):

inside_vb ~ $ sudo netstat -r
Routing tables

Internet:
Destination        Gateway            Flags      Netif Expire
default            192.168.150.1      UGS         em0
localhost          link#7             UH          lo0
192.168.56.0       link#2             U           em1
192.168.56.31      link#2             UHS         lo0
192.168.57.0       link#3             U           em2
192.168.57.31      link#3             UHS         lo0
192.168.150.0      link#1             U           em0
192.168.150.83     link#1             UHS         lo0

工作站上的路由表,也许有错误,但我没有手动执行任何操作:

workstation ~ $ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.150.1   0.0.0.0         UG    100    0        0 enp3s0
192.168.150.0   0.0.0.0         255.255.255.0   U     100    0        0 enp3s0

另外,当我尝试使用 激活vboxnet0工作站上的接口时nmtui,收到的错误是:
无法激活连接:此时设备 vboxnet0 上的连接“有线连接 1”不可用。贝夫

我应该怎么做才能在 GNOME/系统设置 gui 中看到接口vboxnet0/ ?vboxnet1还有哪些其他信息可以帮助解决此问题?

更多信息:当我看到 NetworkManager 的日志时,我可以看到过去会发现接口然后连接,但现在却没有。任何想法,问题的原因是什么?

workstation ~ $ journalctl -u NetworkManager | grep vboxnet
Jul 18 09:11:46 workstation NetworkManager[1822]: <info> [1500361906.2587] manager: (vboxnet0): new Ethernet device (/org/freedesktop/NetworkManager/Devices/3)
Jul 18 09:11:46 workstation NetworkManager[1822]: <info> [1500361906.2845] manager: (vboxnet1): new Ethernet device (/org/freedesktop/NetworkManager/Devices/4)
Jul 18 09:13:07 workstation NetworkManager[1822]: <info> [1500361987.1150] device (vboxnet0): link connected
Jul 18 09:13:07 workstation NetworkManager[1822]: <info> [1500361987.3323] device (vboxnet1): link connected

Jul 24 21:30:28 workstation NetworkManager[11093]: <info> [1500924628.7757] manager: (vboxnet0): new Ethernet device (/org/freedesktop/NetworkManager/Devices/3)
Jul 24 21:30:28 workstation NetworkManager[11093]: <info> [1500924628.7771] manager: (vboxnet1): new Ethernet device (/org/freedesktop/NetworkManager/Devices/4)

答案1

这是一个5.1.24 中的已知问题,已在 5.1.25 中修复。重新安装(并重新启动,并在我的情况下重新部署 Vagrant 框)确实不是工作。解决方法是在主机上运行以下命令(对于每个仅主机网络):

sudo ip link set vboxnet0 up

重复的内容比比皆是:1,2,3

答案2

您可能需要重新安装 VirtualBox。这些vboxnet接口由内核模块处理。要么升级没有重建该模块(如果您通过常规 Fedora 存储库安装了 VirtualBox,则不太可能),要么导致它在启动时加载(或以其他方式自动加载)的配置被删除。我不能 100% 确定加载它的配置在 Fedora 上的位置,但是重新安装应该解决任一问题。

答案3

我找到了一个解决方法(来源:https://unix.stackexchange.com/a/261559/243160)这对我有用:

workstation ~ $ sudo ip link set vboxnet0 up
workstation ~ $ sudo ip link set vboxnet1 up

然后ifconfig正确显示接口,我可以从工作站 ping 到 VB,反之亦然:

workstation ~ $ ifconfig
vboxnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
vboxnet1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

遗憾的是,这不是持久的(重新启动后再次出现此问题,我需要再次执行它),因此在找到正确的解决方案之前,我编写了脚本以在启动后执行它。另外,这个解决方案并没有像我想要的那样工作,像以前一样在 NetworkManager GUI 中显示界面。

我将其放入单独的答案中,因为它部分解决了问题,并且可能对其他人有帮助。

答案4

谢谢它真的很有帮助。升级到 Fedora 26 后我也开始面临这个问题。手动启动 vboxnet0 解决了从主机 ping 到来宾的问题。

主机:Fedora 26 访客:Lubuntu(适配器 1:仅主机,适配器 2:NAT)

相关内容