在我更新操作系统之前,我可以使用以下网络配置启动虚拟机:
-net nic,vlan=0,model=virtio,macaddr=${MAC1} -net bridge,vlan=0,br=${BRIDGE1} \
-net nic,vlan=1,model=virtio,macaddr=${MAC2} -net bridge,vlan=1,br=${BRIDGE2}
在主机操作系统中,我使用两个在两个独立的 Dot1q VLAN 中运行的网桥。这些 VLAN 与我上面指定的 VLAN 完全无关。我添加“vlan=0”和“vlan=1”的唯一原因是为了防止 QEMU 的虚拟 HUB 中出现内部循环。
vlan 选项已被删除。如果我简单地在提到的网络配置中省略它,就会发生网络循环。根据 QEMU,我-netdev
现在应该使用该选项。我的问题是:是否可以像以前一样设置网络,而无需任何外部脚本(如 if-up.sh)?我不知道如何使用 重新创建配置-netdev
。
答案1
我已经明白了:
-device virtio-net-pci,mac=${MAC1},netdev=${BRIDGE1} \
-netdev bridge,br=${BRIDGE1},id=${BRIDGE1} \
-device virtio-net-pci,mac=${MAC2},netdev=${BRIDGE2} \
-netdev bridge,br=${BRIDGE2},id=${BRIDGE2}
上面的配置和我在问题中贴出来的效果是一样的,没有循环。