Product SiteDocumentation Site

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

28.1. Режим Bridged
28.1.1. Глобальная конфигурация
28.1.2. Создание виртуальной сети
28.1.3. Дополнительные возможности
28.2. Режим 802.1Q (VLAN)
28.2.1. Глобальная конфигурация
28.2.2. Создание виртуальной сети
28.2.3. Поддержка Q-in-Q (Stacked VLAN)
28.3. Режим VXLAN
28.3.1. Глобальная конфигурация
28.3.2. Создание виртуальной сети
28.4. Режим Open vSwitch
28.4.1. Глобальная конфигурация
28.4.2. Создание виртуальной сети
28.4.3. Транкинг VLAN
28.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 в шаблоне виртуальной сети.

28.1. Режим Bridged

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

Примечание

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

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

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

Таблица 28.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. В этом случае мост будет создан при первом запуске ВМ.

28.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.

Таблица 28.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. Нажмите кнопку Создать.

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

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

Примечание

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