Пока я не обновил свою ОС, я мог запускать виртуальные машины со следующей конфигурацией сети:
-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}
В ОС хоста я использую два моста, которые работают в двух отдельных VLAN Dot1q. VLAN не имеют абсолютно ничего общего с теми, которые я указал выше. Единственная причина, по которой я добавил "vlan = 0" и "vlan = 1", заключалась в том, чтобы предотвратить внутренний цикл в виртуальном HUB QEMU.
Опция vlan была удалена. Если я просто опущу его в упомянутой конфигурации сети, возникнет петля в сети. Согласно QEMU, я должен использовать -netdev
вариант сейчас. Мой вопрос: можно ли настроить сеть так же, как я делал раньше, без каких-либо внешних скриптов, таких как if-up.sh? Я не могу понять, как воссоздать конфиг с помощью -netdev
.
Я разобрался:
-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}
Вышеупомянутая конфигурация имеет тот же эффект, что и та, которую я опубликовал в вопросе, и нет цикла.