我正在 ArchLinux 上运行 libvirt,使用它的default
网络和手动创建的 nftables 规则。
我注意到 libvirt 的 DHCP 服务器没有为虚拟机分配 IP 地址:
journalctl -u libvirtd
Sep 06 17:46:19 laptop dnsmasq-dhcp[8083]: no address range available for DHCP request via virbr0
我做了一些调查,发现当我看看
ip addr
网桥仅分配virbr0
有 IP 范围。它缺少范围,这就是 libvirt 的 dnsmasq 实例拒绝为虚拟机分配 IP 的原因。192.168.100.0/24
192.168.122.0/24
现在,virbr0
当我启动/停止虚拟机时,libvirt 会自动重新配置网桥,因此我总是必须手动运行
sudo ip address add 192.168.122.1/24 dev virbr0 broadcast 192.168.100.255
使网络正常运行。
我的配置是否存在问题,或者 libvirt 处理桥接的方式是否存在问题?
我想找到一种方法来继续尽可能多地使用 libvirt 的开箱即用网络,而不必手动管理网桥或其 IP 范围。