В этой статье мы разберём настройку сети в Proxmox VE 9.0 — гипервизоре для управления виртуальными машинами и контейнерами. Вы узнаете, как работать с двумя ключевыми технологиями: Linux Bridge (классический способ организации сети в Linux), Open vSwitch (решение для программно-определяемых сетей с поддержкой сложных сценариев). Кроме того, вы освоите: создание бондов (агрегацию физических интерфейсов для повышения отказоустойчивости и пропускной способности), настройку VLAN для сегментации трафика между виртуальными машинами.
Как выглядит сеть после установки Proxmox VE
Если вы уже установили Proxmox VE (напомню, процесс установки я описывал в статье Proxmox VE — знакомство и установка на ZFS), при первом входе в веб-интерфейс вы увидите стандартную сетевую конфигурацию:
- Физический интерфейс
enp1s0— подключён к вашей локальной сети. - Виртуальный бридж
vmbr0— связан сenp1s0и используется для подключения виртуальных машин.

Эта схема построена на Linux Bridge — решении, которое подходит для большинства сценариев.
Немного теории
Для того чтобы вы понимали как работает сеть на Proxmox VE, пробежимся немного по теории.
На сервере есть один или несколько физических сетевых интерфейсов, в настоящее время в Linux они называются примерно так: enp1s0, enp3s0f1. Они предназначены для физического подключения к вашей сети (к коммутатору).
Сетевые интерфейсы можно объединять в бонды, это называется агрегацией. Агрегация может обеспечить балансировку (Load balancing) и резервирование трафика (Failover). Есть разные типы агрегации, об этом написано ниже.
Кроме сетевых интерфейсов и бондов на гипервизоре должен быть виртуальный бридж. На Proxmox VE он обычно называется vmbr0. Можно сделать несколько брдиджей, например: vmbr1, vmbr2. Бридж может работать поверх сетевого интерфейса или бонда. На бридж можно повесить VLAN-тег и ip-адрес. Именно бридж используется для подключения к сети виртуальных машин.
Proxmox VE ещё позволяет создавать виртуальные интерфейсы (vlan-интерфейсы). Они работают поверх бриджа, и на каждый такой интерфейс можно повесть VLAN-тег и ip-адрес.
Ниже я буду использовать Linux Bridge и Open vSwitch для создания следующей конфигурации сети:

Linux Bridge vs Open vSwitch
Proxmox VE предлагает сразу две технологии для создания виртуальной сети: Linux Bridge и Open vSwitch. Обе технологии используются для организации виртуальной сети в Proxmox VE, но имеют принципиальные различия в функциональности, производительности и сценариях применения.
✅ Linux Bridge полностью реализован в ядре Linux, то есть работает на уровне ядра. Это даёт минимальные задержки и более низкое потребление CPU по сравнению с OVS. Поддерживает Bonding, VLAN (802.1Q), STP (Spanning Tree Protocol). Используется в Proxmox VE для простых конфигураций, которые покрывают, по моему мнению, 90% всех задач.
Он идеально подходит для одиночного сервера или небольших кластеров (3-8 ноды). Новичкам с ним разобраться будет проще, в интернете множество информации как и что настраивать.
Функционал, по сравнению с Open vSwitch, небольшой. Но повторюсь, если у вас сеть не уровня дата-центра, то скорее всего вам этого функционала хватит. Linux Bridge не поддерживает:
- Нет встроенной поддержки SDN, OpenFlow, сложного QoS.
- VLAN-настройки менее гибкие (например, ограниченная работа с QinQ).
- Нет инструментов для централизованного управления сетью.
- Нет интеграции с системами вроде OpenStack.
✅ Open vSwitch — это программный виртуальный коммутатор с поддержкой SDN (Software-Defined Networking). Он работает в пользовательском пространстве, с возможностью ускорения через модули ядра, что накладывает дополнительную нагрузку на CPU и может увеличить задержки. Применять Open vSwitch стоит только тогда, когда вам нужна какая-то функциональность, которую не может обеспечить Linux Bridge.
Open vSwitch из веб интерфейса настраивается также просто как и Linux Bridge, но вам придётся выучить некоторые консольные утилиты для отладки или мониторинга за ним. Web-интерфейс позволяет настроить лишь базовые вещи (Bonding, VLAN), а остальное, для чего и нужен Open vSwitch, вам придется настраивать с помощь терминала.
Функциональность Open vSwitch:
- Поддержка OpenFlow, VXLAN/GRE-туннелей, сложного QoS.
- Гибкое управление VLAN (включая QinQ), бондинг с режимами LACP, failover.
- Интеграция с контроллерами SDN (например, OpenDaylight, ONOS).
- Тонкая настройка трафика (политики QoS, ACL, мониторинг через ovs-vsctl).
- Поддержка туннелирования (VXLAN для межузловой коммуникации в кластере).
- Возможность интеграции с OpenStack Neutron.
Кстати! В этой статье я покажу лишь базовую настройку Open vSwitch (Bonding, VLAN), так как у меня нет опыта его использования в сложных конфигураций (а именно для них он и сделан). Простую конфигурацию я обслуживал на проде, Open vSwitch вёл себя стабильно, но через время перевел сеть на Linux Bridge, чтобы упростить себе жизнь.
И ещё кое-что! Не рекомендуется использовать обе технологии одновременно, так как высока вероятность столкнуться с непонятными глюками. То есть, если уж начали использовать Open vSwitch, то не используйте Linux Bridge на других интерфейсах, всегда используйте что-то одно.
Настройка сети с использованием Linux Bridge
Создание бонда
❗️Убедитесь, что у вас есть доступ к серверу через консоль (не только по сети). Если настройки будут ошибочны, вы потеряете связь.
Допустим у нас 2 сетевых интерфейса и мы хотите настроить бонд. Стандартный мост vmbr0 использует физический интерфейс (например, enp1s0). Чтобы создать бонд, сначала удалите vmbr0, но не применяйте изменения (кнопка Apply Configuration). До подтверждения сеть останется рабочей.

После удаления бриджа создадим Linux Bond:

При создании укажем:
- Name:
bond0(стандартное имя, можно изменить). - Slaves: Выберите физические интерфейсы (например,
enp1s0,enp7s0). - Mode: Выберите режим агрегации (подробнее ниже).
- bond-primary (опционально): Укажите интерфейс, который будет активным первым (только для режимов
active-backup,balance-alb).

Поддерживаемые типы бондов
Proxmox, в режиме Linux Bridge, поддерживает следующие режимы бондов:
✅ Balance-rr
Пакеты отправляются поочередно через все интерфейсы (round-robin), тем самым увеличивая пропускную способность и отказоустойчивость. Но может нарушать порядок пакетов, поэтому использовать не рекомендуется. Нужна поддержка коммутатора.
✅ Active-backup
Обеспечивает хорошую отказоустойчивость, при потери одного линка работа сети сразу переключится на запасной. Но не увеличивает пропускную способность, так как используется только один интерфейс, остальные сидят в запасе. Это хороший решим агрегации, например сервер с двумя сетевыми интерфейсами, подключаете к разным свитчам, получаете защиту от обрыва кабеля и от поломки свитча. Не требует настройки коммутатора.
✅Balance — xor
Распределяет трафик по хэшу MAC/IP/портов (режим XOR), то есть обеспечивает и балансировку и отказоустойчивость. Требует настройки коммутатора в режиме static LAG. Я бы рекомендовал вместо этого режима использовать LACP.
✅Broadcast
Все пакеты дублируются на все интерфейсы. Для каких-то очень специфических сценариев (возможно, multicast). Хотя и multicast будет себя лучше чувствовать при LACP. В общем я не знаю зачем он здесь нужен.
✅LACP (802.3ad)
Стандартная агрегация с использованием протокола LACP. Обеспечивает хорошую балансировку и отказоустойчивость. Широко применяется, есть много инструкций в интернете по настройке LACP. Требует поддержку и настройку LACP на коммутаторе.
✅balance-tlb
Исходящий трафик распределяется по загрузке интерфейсов. Входящий трафик — только через один интерфейс. Балансировка хуже чем LACP, отказоустойчивость тоже хуже, так как для входящего трафика используется 1 интерфейс. Но не требует настройки коммутатора, вы просто вставляете 2 провода в один коммутатор и всё работает.
✅balance-alb
Расширяет TLB поддержкой балансировки входящего трафика через ARP. То есть это полная балансировка (вход/выход) без настройки коммутатора. Но требует поддержки драйверами сетевых карт.
Создания бриджа поверх бонда
После настройки бонда bond0 необходимо создать бридж vmbr0, который свяжет его с виртуальными машинами. Нажмите Create → Linux Bridge.

Заполните параметры:
- Name:
vmbr0(стандартное имя для основного моста). - Bridge ports:
bond0(укажите созданный бонд, не физические интерфейсы!). - IPv4/CIDR: Например,
192.168.1.10/24(адрес сервера в вашей сети). - Gateway: Например,
192.168.1.1(шлюз для доступа во внешние сети).

Получилась такая конфигурация:

Настройка VLAN
Если нужно добавить поддержку VLAN, в бридже ставим галочку VLAN aware:

И создадим vlan-интерфейс (Linux VLAN):

Заполните параметры:
- Name: Называем интерфейс по типу
<bridge>.<vlan-tag>, тогда поля Vlan raw device и VLAN Tag заполнятся автоматически. - IPv4/CIDR: Назначаем ip-адрес.

Можем сделать несколько таких vlan-интерфейсов с другими ip-адресами, например так:

На бридже vmbr0 опция VLAN aware позволяет бриджу работать с vlan-ами. При желании вы можете убрать ip-адрес с бриджа, тогда Proxmox VE будет доступен только по определённому VLAN-у.
После внимательной проверки, нажимаем кнопку Apply Configuration и наша конфигурация сети применяется. А если вы где-то допустили ошибку, то придётся подключать монитор к серверу и проверять конфигурацию из консоли. Поэтому ниже покажу некоторые вещи которые можно смотреть и редактировать в консоли.
Смотрим на конфигурацию из консоли
Конфигурация сети находится в файле /etc/network/interfaces. Вот как выглядит показанная выше конфигурация:
cat /etc/network/interfaces
auto lo iface lo inet loopback auto enp1s0 iface enp1s0 inet manual auto enp7s0 iface enp7s0 inet manual auto bond0 iface bond0 inet manual bond-slaves enp1s0 enp7s0 bond-miimon 100 bond-mode active-backup bond-primary enp1s0 auto vmbr0 iface vmbr0 inet static address 192.168.10.8/24 gateway 192.168.10.1 bridge-ports bond0 bridge-stp off bridge-fd 0 bridge-vlan-aware yes bridge-vids 2-4094 auto vmbr0.20 iface vmbr0.20 inet static address 192.168.20.8/24 auto vmbr0.30 iface vmbr0.30 inet static address 192.168.30.8/24
Можем посмотреть статус бонда с помощью команды:
cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v6.14.8-2-pve Bonding Mode: fault-tolerance (active-backup) Primary Slave: enp1s0 (primary_reselect always) Currently Active Slave: enp1s0 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Peer Notification Delay (ms): 0 Slave Interface: enp1s0 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 52:54:00:05:75:86 Slave queue ID: 0 Slave Interface: enp7s0 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 52:54:00:5b:47:26 Slave queue ID: 0
Настройка сети с использованием OVS Bridge
Установка openvswitch
Предварительно нужно установить пакет openvswitch-switch:
apt install openvswitch-switch
После установки в системе появятся две службы:
- ovsdb-server — служба управляющая базой данных OVS (файл /etc/openvswitch/conf.db).
systemctl status ovsdb-server
● ovsdb-server.service - Open vSwitch Database Unit
Loaded: loaded (/usr/lib/systemd/system/ovsdb-server.service; static)
Active: active (running) since Sun 2025-08-31 22:13:31 MSK; 5min ago
Invocation: 185dce55cc784c788950f02d67d21fdf
Process: 592 ExecStart=/usr/share/openvswitch/scripts/ovs-ctl --no-ovs-vswitchd --no-monitor --system-id=random --no-record-hostname start $OVS_CTL_OPTS >
Main PID: 745 (ovsdb-server)
Tasks: 1 (limit: 4610)
Memory: 8.3M (peak: 10.1M)
CPU: 1.132s
CGroup: /system.slice/ovsdb-server.service
└─745 ovsdb-server /etc/openvswitch/conf.db -vconsole:emer -vsyslog:err -vfile:info --remote=punix:/var/run/openvswitch/db.sock --private-key=db>
- ovs-vswitchd — основная служба, обрабатывающая трафик и управляющая виртуальным коммутатором.
systemctl status ovs-vswitchd
● ovs-vswitchd.service - Open vSwitch Forwarding Unit
Loaded: loaded (/usr/lib/systemd/system/ovs-vswitchd.service; static)
Active: active (running) since Sun 2025-08-31 22:13:31 MSK; 5min ago
Invocation: 878eb869848e49e690d6e3c54b6ed5a3
Process: 768 ExecStart=/usr/share/openvswitch/scripts/ovs-ctl --no-ovsdb-server --no-monitor --system-id=random --no-record-hostname start $OVS_CTL_OPTS >
Main PID: 807 (ovs-vswitchd)
Tasks: 1 (limit: 4610)
Memory: 2.8M (peak: 5.2M)
CPU: 76ms
CGroup: /system.slice/ovs-vswitchd.service
└─807 ovs-vswitchd unix:/var/run/openvswitch/db.sock -vconsole:emer -vsyslog:err -vfile:info --mlockall --no-chdir --log-file=/var/log/openvswit>
Кроме этого OVS содержит загружаемый модуль, поставляемый в составе ядра Proxmox, то есть этот модуль не зависит от dkms. Посмотреть на него вы можете с помощью команды:
modinfo openvswitch | grep filename
filename: /lib/modules/6.14.8-2-pve/kernel/net/openvswitch/openvswitch.ko
Создание бриджа
После установки пакета openvswitch-switch, нужно создать OVS Bridge. Кстати, я не показываю это в статье, но я предварительно удалил все что настроил с помощью Linux Bridge.
Итак, создаём OVS Bridge:

Заполняем поля:
- Name:
vmbr0(стандартное имя для основного моста). - IPv4/CIDR: Назначаем ip-адрес, например
192.168.0.8/24. - Gateway (IPv4): Назначаем ip-адрес шлюза, например
192.168.0.1.

Создание бонда
После создания бриджа, создадим бонд: Create / OVS Bond:

В настройках укажем:
- Mode: Тип агрегации.
- Slaves: Физические интерфейсы, которые мы объединяем в бонд.
- OVS Bridge: Бридж, который будет работать поверх бонда (например
vmbr0).

Поддерживаемые типы бондов
✅ Active-backup
Работает точно также как обычный Active-backup. Один активный порт, остальные в резерве. При обрыве происходит мгновенное переключение. Обеспечивает отказоустойчивость без настройки коммутатора. Поддерживает BFD (Bidirectional Forwarding Detection) для обнаружения обрыва за миллисекунды (в Linux-бондинге такого нет).
✅ Balance-slb
Балансирует исходящий трафик по хэшу источника (MAC/IP), и динамически подстраивается под нагрузку. Не требует настройки коммутатора и может использоваться если нужна не только отказоустойчивость но и балансировка. Лучше распределяет нагрузку, чем Linux balance-xor. Минусом является то что балансировка происходит только исходящего трафика, а входящий трафик идёт через один интерфейс.
✅ LACP (balancr-tcp)
Классический LACP (802.3ad) с балансировкой по хэшу IP + TCP/UDP портов (совсем как LACP в Linux Bridge). При доминировании одного потока (например, бэкап с одного сервера) нагрузка пойдет через один интерфейс. Требует поддержку LACP на коммутаторе.
✅ LACP (balancr-slb)
Использует протокол LACP для объединения портов, но распределяет трафик через алгоритм SLB (адаптивный хэш). Обеспечивает наилучшую балансировку и отказоустойчивость. В стандартном LACP (balance-tcp) хэш фиксирован (например, IP+порт), и если у вас 90% трафика от одного клиента — нагрузка пойдет через один интерфейс. SLB этого избегает создавая наилучшую балансировку трафика.
Настройка VLAN
Для создания VLAN-интерфейсов вы должны создать OVS IntPort:

При создании укажем:
- Name: Имя интерфейса (можете придумать любое).
- IPv4/CIDR: ip-адрес на интерфейсе.
- VLAN Tag.
- OVS Bridge: OVS бридж, который мы создали ранее.

Таких интерфейсов можно создать несколько, например так:

При желании, вы можете убрать ip-адрес с бриджа, и тогда ваш Proxmox VE будет доступен только по VLAN интерфейсу. Тоже самое можно делать и с Linux Bridge. Вы можете назначать или убирать ip-адрес с бриджа, главное чтобы ip-адреса на int-интерфейсах (OVS) или на vlan-интерфейсах (Linux Bridge) не пересекались.
После тщательной проверки конфигурации сети, нажимаем кнопку «Apply Configuration». В случае ошибки вы можете потерять доступ к серверу по сети, тогда придётся подключать монитор и заходить в консоль, поэтому ниже я покажу некоторые моменты при работе с консолью.
Кстати! При переключении с OVS на Linux bridge замечал что настройки не всегда применяются и требуется перезагрузка сервера. В обратную сторону переключение обычно срабатывало без необходимости перезагружаться.
Смотрим на конфигурацию из консоли
Конфигурация основанная на OVS хранится в том же файле (/etc/network/interfaces), но выглядит немного по другому:
cat /etc/network/interfaces
auto lo iface lo inet loopback auto enp1s0 iface enp1s0 inet manual auto enp7s0 iface enp7s0 inet manual auto int20 iface int20 inet static address 192.168.20.8/24 ovs_type OVSIntPort ovs_bridge vmbr0 ovs_options tag=20 auto int30 iface int30 inet static address 192.168.30.8/24 ovs_type OVSIntPort ovs_bridge vmbr0 ovs_options tag=30 auto bond0 iface bond0 inet manual ovs_bonds enp1s0 enp7s0 ovs_type OVSBond ovs_bridge vmbr0 ovs_options bond_mode=active-backup auto vmbr0 iface vmbr0 inet static address 192.168.10.8/24 gateway 192.168.10.1 ovs_type OVSBridge ovs_ports bond0 int20 int30
Для того чтобы посмотреть список бондов в системе с использованием OVS выполните команду:
ovs-appctl bond/list
bond type recircID members bond0 active-backup 0 enp1s0, enp7s0
А для того чтобы посмотреть статус бонда используем другую команду:
ovs-appctl bond/show bond0
---- bond0 ---- bond_mode: active-backup bond may use recirculation: no, Recirc-ID : -1 bond-hash-basis: 0 lb_output action: disabled, bond-id: -1 updelay: 0 ms downdelay: 0 ms lacp_status: off lacp_fallback_ab: false active-backup primary: <none> active member mac: 52:54:00:5b:47:26(enp7s0) member enp1s0: enabled may_enable: true member enp7s0: enabled active member may_enable: true
Итог
Linux bridge позволит вам создать простую, но надёжную сеть, с поддержкой бондинга и VLAN-ами. Open vSwitch позволит вам создать как простую, так и очень сложную сеть, используйте его только когда вы точно знаете что для чего он вам нужен.
Если понравилась статья, подпишись на мой канал в VK или Telegram.