Я запускаю libvirt на ArchLinux, используя его default
сеть с созданными вручную правилами nftables.
Я заметил, что DHCP-сервер libvirt не назначает 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 192.168.100.0/24
назначенный на это. Отсутствует 192.168.122.0/24
range, поэтому экземпляр dnsmasq libvirt отказывается назначать IP-адреса виртуальным машинам.
Теперь libvirt автоматически перенастраивает virbr0
мост, когда я запускаю / останавливаю виртуальную машину, поэтому мне всегда приходится запускать вручную
sudo ip address add 192.168.122.1/24 dev virbr0 broadcast 192.168.100.255
чтобы сеть заработала.
Есть ли у меня проблема с конфигурацией или что-то не так с тем, как libvirt обрабатывает мост?
Я хотел бы найти способ продолжить использовать как можно больше готовых сетевых компонентов libvirt и не управлять мостом или его диапазонами IP вручную.