Product SiteDocumentation Site

51.5. Управление виртуальными сетевыми интерфейсами и сетями

При базовых настройках используется виртуальная сеть недоступная извне.
Доступ по IP может быть осуществлен с компьютера, на котором поднят KVM. Изнутри доступ происходит через NAT.
Возможные варианты настройки сети:
  • NAT — это вариант по умолчанию. Внутренняя сеть, предоставляющая доступ к внешней сети с автоматическим применением NAT;
  • Маршрутизация (Routed) — аналогично режиму NAT внутренняя сеть, предоставляющая доступ к внешней сети, но без NAT. Предполагает дополнительные настройки таблиц маршрутизации во внешней сети;
  • Изолированная IPv4/IPv6 сеть (Isolated) — в этом режиме, ВМ подключенные к виртуальному коммутатору могут общаться между собой и с хостом. При этом их трафик не будет выходить за пределы хоста;
  • Bridge — подключение типа мост. Позволяет реализовать множество различных конфигураций, в том числе и назначение IP из реальной сети;
  • SR-IOV pool (Single-root IOV) — перенаправление одной PCI сетевых карт хост-машины на ВМ. Технология SR-IOV повышает производительность сетевой виртуализации, избавляя гипервизор от обязанности организовывать совместное использование физического адаптера и перекладывая задачу реализации мультиплексирования на сам адаптер. В этом случае обеспечивается прямая пересылка ввода/вывода с ВМ непосредственно на адаптер.

51.5.1. Управление виртуальными сетями в командной строке

Команды управления виртуальными сетями:
  • virsh net-autostart имя_сети — автоматический запуск заданной сети;
  • virsh net-autostart имя_сети --disable — отключить автозапуск заданной сети;
  • virsh net-create файл_XML — создание и запуск новой сети на основе существующего XML-файла;
  • virsh net-define файл_XML — создание нового сетевого устройства на основе существующего XML-файла (устройство не будет запущено);
  • virsh net-list — просмотр списка виртуальных сетей;
  • virsh net-dumpxml имя_сети —просмотр информации о заданной виртуальной сети;
  • virsh net-destroy имя_сети — удаление заданной сети;
  • virsh net-name UUID_сети — преобразование заданного идентификатора в имя сети;
  • virsh net-uuid имя_сети — преобразование заданного имени в идентификатор UUID;
  • virsh net-update имя_сети — обновить существующую конфигурацию сети;
  • virsh net-start имя_неактивной_сети — запуск неактивной сети;
  • virsh net-undefine имя_неактивной_сети — удаление определения неактивной сети.
# virsh net-list --all
 Имя       Состояние    Автозапуск   Постоянный
-------------------------------------------------
 default   не активен   no           yes

# virsh net-start default
Сеть default запущена

# virsh net-autostart default
Добавлена метка автоматического запуска сети default

# virsh net-list
 Имя       Состояние   Автозапуск   Постоянный
------------------------------------------------
 default   активен     yes          yes

# virsh net-dumpxml default
<network>
  <name>default</name>
  <uuid>0b37eff3-2234-4929-8a42-04a9cf35d3aa</uuid>
  <forward mode='nat' />
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:3e:12:c7'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>
Иногда бывает полезно выдавать клиенту один и тот же IP-адрес независимо от момента обращения. Пример добавления статического сопоставления MAC- и IP-адреса ВМ:
  1. Получить MAC-адрес ВМ (alt-server — имя ВМ):
    # virsh dumpxml alt-server | grep 'mac address'
            <mac address='52:54:00:ba:f2:76'/>
    
  2. Отредактировать XML-конфигурацию сети (default — имя сети):
    # virsh net-edit default
    
    После строки:
    <range start='192.168.122.2' end='192.168.122.254'/>
    
    Вставить строки с MAC-адресами виртуальных адаптеров:
    <host mac='52:54:00:ba:f2:76' name='alt-server' ip='192.168.122.50'/>
    
  3. Сохранить изменения и перезапустить виртуальную сеть:
    # virsh net-destroy default
    # virsh net-start default
    
Изменения внесённые с помощью команды virsh net-edit не вступят в силу в силу до тех пор, пока сеть не будет перезапущена, что приведет к потере всеми ВМ сетевого подключения к хосту до тех пор, пока их сетевые интерфейсы повторно не подключаться.
Изменения в конфигурацию сети, можно внести с помощью команды virsh net-update, которая требует немедленного применения изменений. Например, чтобы добавить запись статического хоста, можно использовать команду:
# virsh net-update default add ip-dhcp-host \
   "<host mac='52:54:00:ba:f2:76' name='alt-server' ip='192.168.122.50' />" \
   --live --config