Режим сетевой мост

В данном сетевом режиме трафик виртуальных машин (ВМ) напрямую передается через существующий сетевой мост на серверах виртуализации.

Режимы фильтрации трафика

При использовании сетевого моста устанавливается один из режимов фильтрации трафика:

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

При фильтрации трафика необходимо учитывать следующее:

Примечание

  • В режимах Bridged и Security Group можно добавлять тегированные сетевые интерфейсы для обеспечения сетевой изоляции. Данный режим является рекомендуемой стратегией развертывания в работающих системах (не тестовых).
  • Режим Ebtables VLAN предназначен для небольших сред без соответствующей аппаратной поддержки для внедрения сетей VLAN. Данный режим ограничен сетями с длиной префикса 24 бита (/24) и IP-адреса не могут перекрываться в виртуальных сетях. Рекомендуется только для целей тестирования.

Поведение при удалении ВМ

Предупреждение

По умолчанию при удалении ВМ на сервере виртуализации также будет удален существующий сетевой мост, если он больше не используется ни одной ВМ.

Для того чтобы незадействованный сетевой мост не удалялся, необходимо в конфигурационном файле /var/lib/one/remotes/etc/vnm/OpenNebulaNetwork.conf установить следующее значение параметра:

keep_empty_bridge: true

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

Предупреждение

Действия по настройке сервера виртуализации для использования виртуальных сетей выполняются в ОС СН под учетной записью администратора ОС СН с высоким уровнем целостности.

Требования к настройке

Для настройки данного сетевого режима необходимо выполнение следующих требований:

  1. На сервере виртуализации необходимо установить пакет bridge-utils:

    sudo apt-get install bridge-utils  # для Debian/Ubuntu
    sudo yum install bridge-utils      # для RHEL/CentOS
    
  2. Если планируется использовать режим фильтрации Ebtables VLAN, на узлы необходимо установить пакет ebtables, который по умолчанию обеспечивает изоляцию сети:

    sudo apt-get install ebtables      # для Debian/Ubuntu
    sudo yum install ebtables          # для RHEL/CentOS
    

Создание сетевого моста

На сервере виртуализации необходимо создать сетевой мост для каждой сети, в которой будут работать виртуальные машины. При этом следует использовать одно имя сети на всех узлах.

Примечание

Важно: Имя сети должно быть одинаковым на всех узлах кластера виртуализации.

Пример настройки сетевого моста

Содержание файла /etc/network/interfaces с настройками сетевого моста:

# Настройка физического интерфейса
auto eth0
iface eth0 inet manual

# Настройка сетевого моста
auto br0
iface br0 inet static
    bridge_ports eth0
    address 172.16.1.20
    netmask 255.255.255.0
    gateway 172.16.1.1

Альтернативный способ создания моста через командную строку

# Создание моста
sudo ip link add name br0 type bridge

# Добавление интерфейса в мост
sudo ip link set eth0 master br0

# Назначение IP-адреса мосту
sudo ip addr add 172.16.1.20/24 dev br0

# Поднятие интерфейсов
sudo ip link set eth0 up
sudo ip link set br0 up

# Добавление маршрута по умолчанию
sudo ip route add default via 172.16.1.1 dev br0

Проверка настроек

После настройки необходимо проверить состояние сетевого моста:

# Просмотр мостов
brctl show

# Пример вывода:
# bridge name     bridge id               STP enabled     interfaces
# br0             8000.001122334455       no              eth0

# Проверка IP-конфигурации
ip addr show br0

# Проверка маршрутов
ip route show

Решение проблем

Проблема: Виртуальные машины не получают сетевой доступ.

Возможные решения:

  1. Проверьте, что физический интерфейс (eth0) находится в состоянии UP
  2. Убедитесь, что мост создан правильно: brctl show
  3. Проверьте правила iptables/ebtables, не блокируют ли они трафик
  4. Для режима Ebtables VLAN проверьте, что подсети не пересекаются

Проблема: Мост автоматически удаляется после удаления ВМ.

Решение: Установите параметр keep_empty_bridge: true в конфигурационном файле.