Глава 8. Настройка сетевого окружения
В этой главе рассматриваются варианты конфигурации сетевого окружения, используемые приложениями на основе libvirt. Приведенная здесь информация применима ко всем гипервизорам, в том числе Xen и KVM. Дополнительно можно обратиться к документации libvirt.
Две типичные конфигурации позволяют настроить виртуальную сеть или общее физическое устройство. Конфигурация виртуальной сети будет одинакова для всех дистрибутивов, ее можно сразу применять. А общее физическое устройство будет нуждаться в дополнительной настройке для разных дистрибутивов.
8.1. Преобразование сетевых адресов с помощью libvirt
Преобразование сетевых адресов (NAT, Network Address Translation) используется довольно часто для организации общих сетевых соединений (виртуальных сетей).
Любая стандартная установка libvirt
включает возможности подключения к виртуальным машинам на основе NAT. Чтобы в этом убедиться, выполните команду virsh net-list --all
.
# virsh net-list --all
Name State Autostart
-----------------------------------------
default active yes
Если запись «default» отсутствует, попробуйте подключить следующий файл конфигурации:
# virsh net-define /usr/share/libvirt/networks/default.xml
/usr/share/libvirt/networks/default.xml
содержит определения сетевого окружения, используемого по умолчанию.
Настройте автоматический запуск:
# virsh net-autostart default
Network default marked as autostarted
Запустите сеть:
# virsh net-start default
Network default started
Вы должны увидеть изолированный мост. К этому устройству не подключены физические интерфейсы, так как оно использует перенаправление IP и NAT для подключения к внешней сети. Не добавляйте новые интерфейсы.
# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.000000000000 yes
libvirt
добавит правила iptables
, разрешающие прохождение трафика гостевых систем, подключенных к устройству virbr0
в цепочках INPUT
, FORWARD
, OUTPUT
и POSTROUTING
. Затем libvirt
попытается включить параметр ip_forward
. Но другие программы могут его отключить, поэтому в файл /etc/sysctl.conf
стоит добавить выражение
net.ipv4.ip_forward = 1
После завершения настройки размещающей системы можно подключить гостевую систему к виртуальной сети. Подключить гостевую систему к сети «default» можно с помощью следующего файла:
<interface type='network'>
<source network='default'/>
</interface>
Note
Можно дополнительно определить MAC-адрес, иногда есть смысл задать его вручную. Если этого не сделать, он просто будет сгенерирован автоматически.
<interface type='network'>
<source network='default'/>
<mac address='00:16:3e:1a:b3:4a'/>
</interface>