使用 nmcli 添加静态路由到虚拟网桥会破坏 kvm 网络,但是

使用 nmcli 添加静态路由到虚拟网桥会破坏 kvm 网络,但是

我有一个使用 nmcli 创建的虚拟网桥 br0,并连接了一个物理以太网接口

桥接设备用于 kvn virt-manager 虚拟机。它们获得一个静态 IP 地址。例如,一个虚拟机获得 IP 地址 192.168.39.11 主机是 192.168.39.10

root@black:/etc/NetworkManager/system-connections# nmcli con show
NAME               UUID                                  TYPE      DEVICE 
br0                a4a276d8-cbdb-4119-83f9-4a7403e98adf  bridge    br0    
netplan-eno2       80ab1970-e833-372e-8635-f330b7d9f1f0  ethernet  eno2   
netplan-eno1       10838d80-caeb-349e-ba73-08ed16d4d666  ethernet  eno1   
rumahtumi          c9c05065-f2f8-48b5-a3bb-b794776a805a  wifi      wlp9s0 
virbr0             d5dcf8cb-80f2-448c-b468-d9b1d4ab2e86  bridge    virbr0 
bridge-slave-eno2  cf0b153e-8a4f-48e1-9a0b-bdf83e80d6c8  ethernet  --   

它运行良好,但主机和虚拟机之间的流量似乎会传到网络并返回。至少,如果我这样做:

ip route add 192.168.39.11/32 dev br0

然后 ping 192.168.39.11 平均 ping 时间减半。从虚拟机返回主机也可以看到相同的好处。

但是 `ip route add```...不是永久的

所以我尝试这个:

nmcli connection modify br0 +ipv4.routes 192.168.39.11/32

然后关闭并建立 br0 连接(或重新启动)。但是,从此时起,VM 没有到网络的路由,它没有获得 DHCP 租约。

因此,nmcli connection modify要么是错误的,要么与使用添加路线的方式不同ip route add

更新:当我将备份的 .nmconnection 文件与修改后的文件进行比较时,nmcli connection modify...发现两个变化。其中一个是:

...
[ipv4]
method=auto
route1=192.168.39.11/32

另一个我忽略的是 部分timestamp中的一行[connection]。我已将其删除,现在似乎可以正常工作。虽然我必须关闭第二个以太网接口的原始连接,并打开 br0

编辑:我认为我的问题更可能是这样的:当添加路由时,nmcli 正在删除从属连接,因此禁用桥接器。

相关内容