Product SiteDocumentation Site

⁠Глава 29. Виртуальные сети

29.1. Режим Bridged
29.1.1. Глобальная конфигурация
29.1.2. Создание виртуальной сети
29.1.3. Дополнительные возможности
29.2. Режим 802.1Q (VLAN)
29.2.1. Глобальная конфигурация
29.2.2. Создание виртуальной сети
29.2.3. Поддержка Q-in-Q (Stacked VLAN)
29.3. Режим VXLAN
29.3.1. Глобальная конфигурация
29.3.2. Создание виртуальной сети
29.4. Режим Open vSwitch
29.4.1. Глобальная конфигурация
29.4.2. Создание виртуальной сети
29.4.3. Транкинг VLAN
29.5. Использование Open vSwitch в сетях VXLAN
OpenNebula позволяет создавать виртуальные сети, абстрагируя их от физической инфраструктуры.
При запуске ВМ её сетевые интерфейсы (определённые в шаблоне с помощью атрибутов NIC) подключаются к соответствующим сетевым устройствам гипервизора в соответствии с настройками выбранной виртуальной сети. Это обеспечивает ВМ доступ как к частным, так и к публичным сетям.
Управление виртуальными сетями осуществляется через:
  • командную строку (onevnet);
  • веб-интерфейс Sunstone.

Примечание

Подробное описание команды onevnet доступно в справочном руководстве:
$ man onevnet
Примеры:
  • получить список виртуальных сетей:
    $ onevnet list
      ID USER     GROUP    NAME              CLUSTERS   BRIDGE               LEASES
       2 oneadmin oneadmin VirtNetwork       0          onebr2               0
       0 oneadmin oneadmin LAN               0          vmbr0                1
    
  • вывести подробную информацию о сети:
    $ onevnet show 0
    
Все операции с виртуальными сетями также доступны в веб-интерфейсе:
Работа с виртуальными сетями в OpenNebula-Sunstone
OpenNebula поддерживает следующие сетевые режимы:
  • Bridged (режим Сетевой мост) — ВМ подключается напрямую к Linux-мосту на узле;
  • 802.1Q (режим VLAN) — изоляция трафика через VLAN-теги на общем мосту;
  • VXLAN — изоляция через инкапсуляцию VXLAN поверх IP-сети;
  • Open vSwitch — использование моста Open vSwitch с поддержкой VLAN;
  • Open vSwitch — VXLAN — комбинированная изоляция с применением OVS и VXLAN.
Тип сетевого режима задаётся атрибутом VN_MAD в шаблоне виртуальной сети.

⁠29.1. Режим Bridged

В этом режиме трафик ВМ передаётся напрямую через Linux-мост на узле гипервизора. OpenNebula поддерживает три варианта реализации Bridged:
  • dummy — без настройки моста (только для тестирования);
  • bridge (Bridged) — стандартный мост без фильтрации трафика;
  • fw (Bridged & Security Groups) — мост с применением правил групп безопасности с использованием iptables.

Примечание

Для работы групп безопасности в режиме fw должен быть установлен пакет ebtables.

⁠29.1.1. Глобальная конфигурация

Параметры поведения сетевого драйвера настраиваются в файле /var/lib/one/remotes/etc/vnm/OpenNebulaNetwork.conf (см. табл. Параметры конфигурации).
⁠

Таблица 29.1. Параметры конфигурации

Параметр
Описание
:ipset_maxelem
Максимальное число записей в IP-наборах (для групп безопасности)
:keep_empty_bridge
Сохранять мосты без подключённых интерфейсов (true/false)
:ip_bridge_conf
Хеш параметров, передаваемых команде ip при создании моста (ip link add <bridge> type bridge ...)

Примечание

После изменения конфигурации необходимо синхронизировать файлы со всеми узлами кластера:
$ onehost sync -f
Требования к инфраструктуре:
  • на каждом узле виртуализации должен быть создан сетевой мост с именем, указанным в атрибуте BRIDGE;
  • имя моста должно совпадать на всех узлах, входящих в кластер.

Важно

Не используйте интерфейс управления (через который осуществляется SSH-доступ к узлу) в качестве PHYDEV.
Если мост будет создан на этом интерфейсе, соединение с узлом будет потеряно. Всегда выделяйте отдельный физический интерфейс для виртуальных сетей (например, enp3s0).

Примечание

Если мост, указанный в атрибуте BRIDGE, отсутствует, OpenNebula не создаёт его автоматически, кроме случаев, когда задан PHYDEV. В этом случае мост будет создан при первом запуске ВМ.

⁠29.1.2. Создание виртуальной сети

Пример создания виртуальной сети с использованием конфигурационного файла:
  1. Создайте файл net-bridged.conf:
    NAME = "VirtNetwork"
    VN_MAD = "bridge"
    BRIDGE = "vmbr0"
    PHYDEV = "enp3s0"
    
    AR=[
        TYPE = "IP4",
        IP   = "192.168.0.140",
        SIZE = "5"
    ]
    
  2. Загрузите сеть, выполнив команду:
    $ onevnet create net-bridged.conf
    ID: 1
    
Параметры виртуальной сети в режиме Bridged приведены в табл. Параметры виртуальной сети в режиме Bridged.
⁠

Таблица 29.2. Параметры виртуальной сети в режиме Bridged

Параметр
Значение
Обязательный
NAME
Имя виртуальной сети
Да
VN_MAD
Режим:
  • dummy — режим Dummy Bridged;
  • bridge — без фильтрации;
  • fw — фильтрация с группами безопасности;
Да
BRIDGE
Имя сетевого моста на узлах виртуализации
Нет (кроме dummy)
PHYDEV
Имя физического сетевого устройства на узле виртуализации, подключаемого к мосту (не применяется в режиме dummy)
Нет
AR
Диапазон адресов, доступных в виртуальной сети
Нет
Пример создания виртуальной сети в веб-интерфейсе:
  1. В левом меню выберите пункт Сеть → Вирт. сети.
  2. На открывшейся странице нажмите кнопку + и выберите пункт Создать.
  3. На вкладке Общие укажите название виртуальной сети:
    Создание виртуальной сети
  4. На вкладке Конфигурация укажите интерфейс сетевого моста и выберите режим работы сети:
    Создание виртуальной сети в режиме bridge
  5. На вкладке Адреса задайте диапазон IP-адресов, который будет использоваться при выделении IP-адресов для ВМ:
    OpenNebula. Выделение диапазона IP-адресов
  6. Нажмите кнопку Создать.

⁠29.1.3. Дополнительные возможности

По умолчанию мост не фильтрует VLAN-теги. Для ограничения разрешённых тегов используется атрибут VLAN_TAGGED_ID. Он задаёт диапазон VLAN, разрешённых для трафика ВМ (поддерживаются списки тегов, разделённые запятыми, и диапазоны значений). Пример:
VLAN_TAGGED_ID = "100,105-107"
В этом случае ВМ будет разрешено использовать VLAN 100, 105, 106 и 107.

Примечание

Маркировка трафика выполняется самой ВМ. Мост лишь пробрасывает теги, но не добавляет их.