qemu KVM 的桥接网络未激活

qemu KVM 的桥接网络未激活

我正在为 Rocky 9.3 创建 kickstart 以供部署。这些主机将具有 virsh (qemu) 来托管每个主机的多个虚拟机。所有这些主机都具有基于 MAC 的 DHCP ens9f0

我正在使用下面的方法为这些虚拟机创建桥接网络:

network --bootproto=dhcp --device=br0 --ipv6=auto --activate --bridgeslaves=ens9f0 --bridgeopts=priority=32768,stp=yes

这应该创建一个br0ens9f0最后br0应该有 DHCP IP 并被激活。 ens9f0应该是 UP 但没有任何 IP 并且br0应该使用 DHCP ip 进行 UP ...

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens9f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
    link/ether 3c:ec:ef:fc:bf:1e brd ff:ff:ff:ff:ff:ff
    altname enp101s0f0
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 3c:ec:ef:fc:bf:1e brd ff:ff:ff:ff:ff:ff
    inet 10.73.119.255/20 brd 10.73.127.255 scope global dynamic noprefixroute br0
       valid_lft 604798sec preferred_lft 604798sec
    inet6 fe80::1607:7351:9b51:4dbf/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

但有时在对它们进行映像处理时,两者ens9f0br0使用相同的 DHCP IP 激活,而虚拟机将无法进行任何连接。

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens9f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 3c:ec:ef:fc:bf:1e brd ff:ff:ff:ff:ff:ff
    altname enp101s0f0
    inet 10.73.119.255/20 brd 10.73.127.255 scope global dynamic noprefixroute ens9f0
       valid_lft 418211sec preferred_lft 418211sec
    inet6 fe80::3eec:efff:fefc:bf1e/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 10.73.119.255/20 brd 10.73.127.255 scope global dynamic noprefixroute br0
       valid_lft 418211sec preferred_lft 418211sec
    inet6 fe80::1607:7351:9b51:4dbf/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

或者有时ens9f0处于激活和连接状态但br0处于关闭状态。

发生这种情况时,我手动运行nmtui以停用ens9f0,然后br0获取 DHCP IP,它就可以正常工作。

我尝试在帖子中使用nmcli,但 nmcli 在 kickstart 中无法正常工作。

我也尝试过stp=no,但出现了同样的问题。

我也尝试在第一次启动时使用一次性脚本,nmcli但同样的问题仍然存在。

有人能告诉我如何在 kickstart 中正确配置它吗?

任何帮助是极大的赞赏。

答案1

我比较了 nmtui 停用对 ens9f0.nmconnection 文件所做的更改。

由于 nmcli 在 %post kickstart 中不起作用,因此我在同一个 %post kickstart 中使用 sed append 手动做了同样的事情。

sed -i '/type=ethernet/a autoconnect=false\nautoconnect-priority=-100\nautoconnect-retries=1' "/etc/NetworkManager/system-connections/ens9f0.nmconnection"

相关内容