我正在使用 Debian Stretch 和 QEMU/virtmanager 来运行虚拟机。
为了让虚拟机拥有网络,我创建了一个桥接网络,如下所示
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
#allow-hotplug enp0s31f6
iface enp0s31f6 inet dhcp
auto br0
iface br0 inet dhcp
bridge_ports enp0s31f6
bridge_stp off
bridge_fd 0
bridge_maxwait 0
如果我执行 sudo brctl show,我会得到以下输出:
bridge name bridge id STP enabled interfaces
br-8f628d520873 8000.02420f53b652 no
br0 8000.107b4448e7e1 no enp0s31f6
docker0 8000.0242be3984ff no
enp0s31f6 是我的主端口,目前运行良好。我的所有虚拟机都连接到 br0,但不久前,它们同时停止工作。我尝试重新启动网络和计算机,但没有任何效果。
如果我执行 ip route show 我会得到
default via 192.168.1.1 dev br0
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.18.0.0/16 dev br-8f628d520873 proto kernel scope link src 172.18.0.1 linkdown
192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.50
大约在同一时间,我知道我做了两件可能对桥梁产生影响的事情。
在我的路由器上,我创建了一些静态 IP,但从那时起,我禁用了它们并重新启动了整个网络。
另外,在我的计算机上,我安装了docker,但是目前我的计算机上没有运行docker。
所以这些是我的理论...也许这两件事与真正的问题无关。
如果有人能指出一个可能的解决方案,我将不胜感激。
答案1
您的/etc/network/interfaces
文件尝试在其中一个桥接端口上单独启动 IP。这不会起作用。IP 只能在桥接器本身上启动。
因此,您应该删除那部分(这可能是在您转换为桥之前遗留下来的):
iface enp0s31f6 inet dhcp