Установка 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