В данном сетевом режиме для каждой сети создается мост, к которому подключается VXLAN-тегированный сетевой интерфейс.

Идентификационный номер VLAN рассчитывается автоматически и будет одинаковым для всех интерфейсов в конкретной сети. Возможно также принудительно указать значение параметра VLAN_ID в шаблоне виртуальной сети.

Кроме того, каждая сеть VLAN назначает групповой адрес для инкапсуляции транслирования L2 и группового трафика. Данный адрес назначается по умолчанию диапазону 239.0.0.0/8 в соответствии с RFC 2365 (административно назначаемая групповая адресация IP). В частности, групповой адрес получается добавлением VLAN_ID к основному адресу 239.0.0.0/8.

Особенности и ограничения

В данном сетевом режиме задействован стандартный UDP-порт сервера 8472.

Трафик VXLAN направляется на физическое устройство, которое может быть установлено как VLAN-тегированный интерфейс, но в этом случае необходимо убедиться в том, что тегированный интерфейс будет создан вручную изначально на всех серверах виртуализации.

Настройка сервера виртуализации

Для настройки сетевого режима VXLAN необходимо чтобы при подключении всех серверов виртуализации к одной подсети, групповой трафик не фильтровался правилами iptables на серверах виртуализации. Если групповой трафик должен проходить через маршрутизаторы, необходимо настроить в сети многоадресный протокол, например, IGMP.

Настройка сервера управления

Значение параметра VXLAN_ID рассчитывается в соответствии с настройками, указанными в конфигурационном файле /etc/one/oned.conf.

Параметры настройки, приведенные в таблице, можно откорректировать в файле /var/lib/one/remotes/vnm/OpenNebulaNetwork.conf.

ПараметрОписание
vxlan_mcОсновной групповой адрес для каждой сети VLAN. Групповой адрес: vxlan_mc + vlan_id
vxlan_ttlВремя жизни (TTL) должно быть меньше 1 в маршрутизируемых многоадресных сетях (IGMP)
validate_vlan_idУстановить на true для проверки, что другие сети VLAN не подсоединены к мосту

Создание сети

Для создания сети VXLAN необходимо задать значения параметров физической сети, приведенных в таблице:

ПараметрЗначениеОбязательный
NAMEИмя сетиДА
VN_MADvxlanДА
PHYDEVИмя физического сетевого устройства, которое будет подключено к мостуДА
BRIDGEИмя сетевого моста, назначается по умолчанию onebr.<net_id> или onebr.<vlan_id>НЕТ
VLAN_IDИдентификационный номер сети VLAN. Будет сгенерирован, если не указанНЕТ
MTUМаксимальный передаваемый модуль данных (MTU) для тегированного интерфейса и мостаНЕТ

Пример

Создание сети, работающей в режиме VXLAN, с использованием конфигурационного файла:

  1. Создать файл new-net.conf со следующим содержанием:
    # параметры физической сети
    NAME = "vxlan_net"
    VN_MAD = "vxlan"
    PHYDEV = "eth0"
    VLAN_ID = 50 # optional
    BRIDGE = "vxlan50" # optional
    # доступное адресное пространство
    AR=[TYPE = "IP4", IP = "172.16.1.100", SIZE = "100" ]
    # параметры контекстуализации
    NETWORK_ADDRESS = "172.16.1.0"
    NETWORK_MASK = "255.255.255.0"
    DNS = "172.16.1.1"
    GATEWAY = "172.16.1.1"
    CODE
  2. Выполнить команду:
    onevnet create new-net.conf
    Пример вывода после выполнения команды:
    ID: 1
    CODE

В данном примере драйвер проверяет наличие моста vxlan50. Если он не существует, то будет создан. Сетевое устройство eth0 будет тегировано (eth0.50) и подсоединено к vxlan50. Сетевое устройство eth0 может иметь 802.1Q тегированный интерфейс, если предполагается изолировать трафик сети VXLAN.