Product SiteDocumentation Site

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

30.1. Режим Bridged
30.2. Режим 802.1Q VLAN
30.3. Режим VXLAN
30.4. Режим Open vSwitch
30.5. VXLAN в Open vSwitch
OpenNebula позволяет создавать виртуальные сети, отображая их поверх физических.
При запуске новой ВМ OpenNebula подключит свои виртуальные сетевые интерфейсы (определяемые атрибутами NIC) к сетевым устройствам гипервизора, так как определено в соответствующей виртуальной сети. Это позволит ВМ иметь доступ к публичным и частным сетям.
onevnet — инструмент управления виртуальными сетями в OpenNebula. Описание всех доступных опций утилиты 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 (режим Сетевой мост) — сетевой адаптер ВМ напрямую соединяется с существующим мостом в узле виртуализации;
  • 802.1Q (режим VLAN) — сетевой адаптер ВМ соединяется с существующим мостом в узле виртуализации, а виртуальная сеть настраивается для изоляции VLAN 802.1Q;
  • VXLAN — сетевой адаптер ВМ соединяется с существующим мостом в узле виртуализации, а виртуальная сеть реализует изоляцию с помощью инкапсуляции VXLAN;
  • Open vSwitch — сетевой адаптер ВМ соединяется с существующим мостом Open vSwitch в узле виртуализации, а виртуальная сеть дополнительно обеспечивает изоляцию VLAN 802.1Q;
  • Open vSwitch — VXLAN — сетевой адаптер ВМ соединяется с существующим мостом Open vSwitch в узле виртуализации, а виртуальная сеть дополнительно обеспечивает изоляцию с помощью инкапсуляции VXLAN и, при необходимости, VLAN 802.1Q.
Атрибут VN_MAD виртуальной сети определяет, какой из вышеуказанных сетевых режимов используется.

30.1. Режим Bridged

В этом режиме трафик ВМ передается напрямую через мост Linux на узлах гипервизора. Мостовые сети могут работать в трёх различных режимах в зависимости от дополнительной фильтрации трафика, выполняемой OpenNebula:
  • Bridged — сетевой мост без фильтрации, управляемый мост;
  • Bridged & Security Groups (сетевой мост с группами безопасности) — для реализации правил групп безопасности устанавливаются правила iptables;
  • Bridged & ebtables VLAN (сетевой мост с правилами ebtables) — аналогично Bridged & Security Groups, плюс дополнительные правила ebtables для обеспечения изоляции L2 виртуальных сетей.
При фильтрации трафика необходимо учитывать следующее:
  • в режимах Bridged и Bridged & Security Groups для обеспечения сетевой изоляции можно добавлять тегированные сетевые интерфейсы;
  • режим Bridged with ebtables VLAN предназначен для небольших сред без соответствующей аппаратной поддержки для реализации VLAN. Данный режим ограничен сетями /24 и IP-адреса не могут перекрываться в виртуальных сетях. Этот режим рекомендуется использовать только в целях тестирования.
На узле виртуализации необходимо создать сетевой мост для каждой сети, в которой будут работать ВМ. При этом следует использовать одно имя сети на всех узлах.

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

Параметр
Значение
Обязательный
NAME
Имя виртуальной сети
Да
VN_MAD
Режим:
  • bridge — режим без фильтрации;
  • fw — фильтрация с группами безопасности;
  • ebtables — фильтрация с изоляцией ebtables;
Да
BRIDGE
Имя сетевого моста в узлах виртуализации
Нет
PHYDEV
Имя физического сетевого устройства (на узле виртуализации), которое будет подключено к мосту
Нет
AR
Диапазон адресов, доступных в виртуальной сети
Нет
Пример создания виртуальной сети с использованием конфигурационного файла:
  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
    
Пример создания виртуальной сети в веб-интерфейсе:
  • в левом меню выбрать пункт СетьВирт. сети, на загруженной странице нажать кнопку + и выбрать пункт Создать.
  • на вкладке Общие указать название виртуальной сети:
    Создание виртуальной сети
  • на вкладке Конфигурация необходимо указать интерфейс сетевого моста, выбрать режим работы сети:
    Создание виртуальной сети в режиме bridge
  • на вкладке Адреса можно указать диапазон IP-адресов, который будет использоваться при выделении IP-адресов для ВМ:
    OpenNebula. Выделение диапазона IP-адресов
  • нажать кнопку Создать.

Примечание

Если в качестве интерфейса моста указать интерфейс, через который производится управление и доступ к узлу, то при запуске ВМ этот интерфейс будет автоматически включен в сетевой мост и соединение с сервером будет потеряно. Поэтому в качестве интерфейса, на котором будут автоматически создаваться сетевые мосты (bridge) для виртуальных сетей, необходимо использовать отдельный сетевой интерфейс (в примере интерфейс enp3s0).