KVM network

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

Подробная информация доступна по ссылке