KVM network bridge — основа построения сети для виртуальных машин, запускаемых при помощи KVM. На мастер хосте задается 2 интерфейса.
KVM network (на примере CentOS)
На KVM хосте стандартной организацией сети является схема с двумя сетевыми интерфейсами
virbr0
eth1
Для виртуальных машин используется по умолчанию подсеть 192.168.122.0/24 из приватного диапазона
Рассмотрим на примере CentOS машины какие изменения нужно внести в стандартные настройки, чтобы сервер мог полноценно выполнять роль KVM хоста.
Интерфейс virbr0 будет использоваться как сетевой мост, eth1 — интерфейс для выхода во внешнюю сеть.
mcedit /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=none
NAME=eth1
ONBOOT=yes
BRIDGE=virbr0
HWADDR=00:0c:78:41:90:0a
mcedit /etc/sysconfig/network-scripts/ifcfg-virbr0
TYPE=BRIDGE
DEVICE=virbr0
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
Для каждого интерфейса конфигурационные файлы требуется привести к приведенному виду. Заменить MAC/UUID для eth1 и при необходимости IP адреса и диапазоны
На хосте разрешаем forwarding ipv4 трафика.
echo 'net.ipv4.ip_foreward = 1' > /usr/lib/sysctl.d/60-libvirtd.conf
Тот же параметр нужно дописать в /etc/sysctl.conf чтобы изменения сохранились при перезагрузке
Активируем 60-libvirtd.conf
/sbin/sysctl -p /usr/lib/sysctl.d/60-libvirtd.conf
Редактируем firewall
firewall-cmd --permanent --direct --passthrough ipv4 -I FORWARD -i bridge0 -j ACCEPT
Отдельно правила для входящих для моста и исходящих для него пакетов
firewall-cmd --permanent --direct --passthrough ipv4 -I FORWARD -o bridge0 -j ACCEPT
firewall-cmd --reload
На этом настройка сети для KVM завершена.
Посмотреть статус можно выполнив
virsh net-list
Вывести актуальные настройки
virsh net-dumpxml default
Их можно отредактировать не меняя конфигурационные файлы. Например, сменить IP адреса
virsh net-edit default
После внесения изменений обязательно перезапускать libvirtd
service libvirtd restart
Также можно перезагружать машину.
Настройки сети на сервере с Debian
Настройки моста можно добавить в /etc/network/interfaces
auto lo br0
iface lo inet loopback
# Set up interfaces manually, avoiding conflicts with, e.g., network manager
iface eth0 inet manual
# Bridge setup
iface br0 inet static
bridge_ports eth0
address ххх.ххх.ххх.ххх
broadcast ххх.ххх.ххх.ххх
netmask ххх.ххх.ххх.ххх
gateway ххх.ххх.ххх.ххх
bridge_stp off
bridge_fd 0
bridge_maxwait 0
Подробная информация по настройке KVM network в Ubuntu системах доступна по ссылке
Также читайте про процесс создания виртуальной машины на KVM