Установка libvirt на Ubuntu 22.04

Установка libvirt на Ubuntu 22.04

Делаем установку

apt install libvirt-daemon virt-manager qemu-system qemu-user ovmf grub-efi-amd64-bin grub-efi-ia32-bin grub-pc-bin

Проверяем версию коммандой:

virsh --version

Должно вывести версию 8.0.0

Добавьте локального пользователя в группу libvirt

usermod -a -G libvirt user

Откройте файл

nano /etc/libvirt/libvirtd.conf

Раскоментируйте строки

unix_sock_group = "libvirt"
unix_sock_rw_perms = "0770"

Перезапустите сервис

systemctl restart libvirtd

Настройка сети

Создайте файл

echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/10-ip-forward.conf

Измените настройки сети по умолчанию

virsh net-edit --network default

Измените значения только ip и dhcp. Остальные uuid, bridge, mac address изменять не надо

<network>
  <name>default</name>
  <uuid>c792c9ec-7d90-407c-9084-a39f762b2228</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:ba:3d:a9'/>
  <ip address='172.30.0.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='172.30.0.100' end='172.30.0.254'/>
    </dhcp>
  </ip>
</network>

Добавьте сеть в автозапуск

virsh net-autostart --network default

Обновите настройки

virsh net-destroy default 
virsh net-start default

LXC контейнеры

В lxc контейнерах нужно поменять

lxc.net.0.link = virbr0

В файле /etc/lxc/default.conf

lxc.net.0.link = virbr0

Отключите сеть lxc-net

systemctl disable lxc-net
systemctl stop lxc-net

Поменять в файле /etc/default/lxc-net

USE_LXC_BRIDGE="false"

Добавление хостов на лету

Иногда нужно добавить новые статические адреса, не перезагружая сеть. Для этого существуют следующая комманда:

lxc net-update default add-last ip-dhcp-host "<host name='bob' ip='172.30.0.25' />"  --live --config

Как узнать IP адреса хостов в libvirt?

Для того, чтобы узнать IP, нужно выполнить комманду:

virsh net-dhcp-leases default