Product SiteDocumentation Site

8.2. Мостовое соединение с помощью libvirt

Мостовое соединение используется для выделения физического устройства виртуальной машине и часто применяется для более тонкой настройки серверов с многочисленными сетевыми интерфейсами.
Отключите сетевые сценарии Xen
Если ваша система использует мост Xen, рекомендуется его отключить. Для этого в файле /etc/xen/xend-config.sxp измените строку
(network-script network-bridge)
на
(network-script /bin/true)
Отключите NetworkManager
NetworkManager не поддерживает мостовое подключение и должен быть отключен, если вы планируете использовать сетевое окружение со старыми сетевыми сценариями.
# chkconfig NetworkManager off
# chkconfig network on
# service NetworkManager stop
# service network start

Note

Вместо отключения NetworkManager можно добавить параметр «NM_CONTROLLED=no» в сценарии ifcfg-*.
Создание сценариев инициализации сети
Создайте или отредактируйте указанные ниже файлы конфигурации сети. Повторите для каждого дополнительного сетевого моста (изменив имя).
Перейдите в каталог /etc/sysconfig/network-scripts.
# cd /etc/sysconfig/network-scripts
Откройте сценарий для добавляемого устройства. В приведенном примере ifcfg-eth0 содержит определение физического сетевого интерфейса, входящего в состав моста:
DEVICE=eth0
# измените аппаратный адрес, чтобы он соответствовал адресу сетевой карты
HWADDR=00:16:76:D6:C9:45
ONBOOT=yes
BRIDGE=br0

Подсказка

Можно настроить максимальный размер блока передачи (MTU, Maximum Transfer Unit), добавив переменную MTU в конец файла конфигурации.
MTU=9000
Создайте новый сценарий с именем ifcfg-br0 (или аналогичным названием) в каталоге /etc/sysconfig/network-scripts. br0 обозначает имя моста и может иметь любую длину, главное — чтобы эта часть имени файла совпадала с параметром DEVICE.
DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes
DELAY=0

Warning

The line, TYPE=Bridge, is case-sensitive. It must have uppercase 'B' and lower case 'ridge'.
Завершив настройку, перезапустите службу сети или перезагрузите компьютер.
# service network restart
Configure iptables to allow all traffic to be forwarded across the bridge.
# iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
# service iptables save
# service iptables restart

Disable iptables on bridges

Alternatively, prevent bridged traffic from being processed by iptables rules. In /etc/sysctl.conf append the following lines:
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
Reload the kernel parameters configured with sysctl
# sysctl -p /etc/sysctl.conf
Restart the libvirt daemon.
# service libvirtd reload
Теперь должно быть доступно общее физическое устройство, которое гости могут подключить. Проверьте его наличие:
# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.000000000000       yes
br0             8000.000e0cb30550       no              eth0
Обратите внимание, что созданный мост совершенно не зависит от virbr0. НЕ пытайтесь подключить физическое устройство к virbr0. Мост virbr0 используется исключительно для NAT.