Маршрутизация между ВМ в VMware ESXi, Proxmox и KVM: конфиги vSwitch, Linux Bridge и OVS (2026) | AdminWiki

Маршрутизация между ВМ в VMware ESXi, Proxmox и KVM: конфиги vSwitch, Linux Bridge и OVS (2026)

06 июня 2026 10 мин. чтения
Содержание статьи

Маршрутизация между виртуальными машинами внутри одного гипервизора заменяет физические маршрутизаторы и коммутаторы. Это решение экономит оборудование, повышает гибкость управления сетью и позволяет быстро разворачивать изолированные сегменты для тестовых, рабочих сред или DMZ. В этом руководстве вы получите проверенные инструкции по настройке виртуального маршрутизатора в трёх основных гипервизорах 2026 года: VMware ESXi, Proxmox VE и KVM. Все примеры адаптированы под актуальные версии ПО и включают конкретные команды для немедленного применения.

Что настроим по шагам:

  • разобьём сеть на изолированные сегменты VLAN и соберём VLAN trunk;
  • настроим NAT для виртуальных машин и IP-форвардинг на виртуальном роутере;
  • разберём конфиги под vSwitch, Linux Bridge и OVS в трёх гипервизорах;
  • продиагностируем типовые сбои маршрутизации и пройдём чек-лист перед продакшеном.

Зачем нужна маршрутизация внутри гипервизора и какие задачи она решает

Виртуальный маршрутизатор - это выделенная виртуальная машина с включённым IP-форвардингом, которая управляет трафиком между сетевыми сегментами. Он решает несколько практических задач без покупки дополнительного железа. Изоляция тестового и рабочего контуров через VLAN предотвращает случайное влияние экспериментов на продакшен-сервисы. Создание DMZ для веб-серверов обеспечивает их доступ из интернета, одновременно защищая внутреннюю сеть. Организация выхода в интернет для ВМ, у которых нет прямого доступа к физическому шлюзу, упрощает сетевое администрирование — именно здесь и нужен NAT для виртуальных машин. Этот подход даёт полный контроль над политиками маршрутизации и фаервола на уровне виртуальной инфраструктуры.

Общая архитектура решения: виртуальный маршрутизатор как ядро

Архитектура строится вокруг одной ключевой ВМ, выполняющей функции роутера. Физический сетевой интерфейс гипервизора подключается к виртуальному коммутатору (vSwitch в ESXi, Linux Bridge или OVS в Proxmox/KVM). На этом коммутаторе создаются изолированные сегменты, часто помеченные тегами VLAN. Виртуальный маршрутизатор получает несколько виртуальных сетевых карт, каждая из которых привязана к своему сегменту или VLAN. На этой ВМ настраивается IP-адресация на каждом интерфейсе, включается IP-форвардинг и конфигурируются правила iptables/nftables для маршрутизации и трансляции адресов (NAT). Остальные виртуальные машины используют IP-адрес соответствующего интерфейса маршрутизатора в качестве шлюза по умолчанию.

Настройка виртуальных сетей и маршрутизации в VMware ESXi

В этом разделе: создание vSwitch → Port Groups для VLAN → развёртывание ВМ-роутера с IP-форвардингом и NAT.

В VMware ESXi сетевая изоляция и подготовка к маршрутизации выполняются через vSphere Client или ESXi Shell. Основной инструмент - стандартный или распределённый виртуальный коммутатор (vSwitch).

Создание и конфигурация vSwitch и Port Groups для VLAN

Сначала создайте новый vSwitch или используйте существующий. В vSphere Client перейдите в раздел Networking, выберите хост, нажмите Add networking. Тип подключения - Virtual Machine Port Group. Выберите созданный vSwitch. На этапе настройки сети задайте имя Port Group, например, VLAN-10-MGMT. Критический параметр - VLAN ID. Укажите значение, соответствующее вашему сегменту, например, 10. Для режима trunk, где один порт будет передавать несколько VLAN, установите VLAN ID в 4095 (All). Физический адаптер (uplink) должен быть настроен в режиме trunk на подключённом физическом коммутаторе. Повторите создание Port Group для каждого необходимого VLAN.

Развертывание и настройка виртуального маршрутизатора на ВМ

Создайте новую виртуальную машину. В качестве гостевой ОС выберите дистрибутив Linux, например, Debian 13 или Ubuntu 24.04 LTS. На шаге настройки сети добавьте несколько сетевых адаптеров (vNIC). Для каждого адаптера выберите в качестве сети соответствующий Port Group, созданный ранее. После установки ОС настройте сетевые интерфейсы в файле /etc/network/interfaces или с помощью netplan. Пример для интерфейса в VLAN 10:

auto ens192
iface ens192 inet static
    address 192.168.10.1
    netmask 255.255.255.0
    vlan-raw-device ens192

Установите необходимые пакеты: apt install iptables-persistent nftables iproute2. Включите IP-форвардинг, добавив в /etc/sysctl.conf строку net.ipv4.ip_forward=1 и выполнив sysctl -p. Настройте правила NAT для выхода в интернет через физический интерфейс гипервизора: iptables -t nat -A POSTROUTING -o ens160 -j MASQUERADE.

Организация маршрутизации в Proxmox VE: Linux Bridge и Open vSwitch

В этом разделе: VLAN-aware Linux Bridge → Open vSwitch → VLAN-тегирование сетевых устройств ВМ.

Proxmox VE предлагает два основных метода организации сетей для маршрутизации: классический Linux Bridge и более функциональный Open vSwitch. Выбор зависит от требуемой сложности.

Классический способ: настройка VLAN на Linux Bridge

Самый простой метод - использовать VLAN-aware мост. В веб-интерфейсе Proxmox откройте Node -> System -> Network. Отредактируйте существующий мост vmbr0. В разделе VLAN aware поставьте галочку. Теперь при создании виртуальной машины в настройках сетевого устройства можно указать VLAN Tag, например, 20. Для виртуального маршрутизатора добавьте несколько сетевых устройств, каждое с уникальным VLAN Tag. Конфигурация моста в файле /etc/network/interfaces будет выглядеть так:

auto vmbr0
iface vmbr0 inet static
    address 10.0.0.2/24
    gateway 10.0.0.1
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0
    bridge-vlan-aware yes
    bridge-vids 2-4094

Продвинутый сценарий: маршрутизация с использованием Open vSwitch

Для сложных сетей с поддержкой VXLAN, QoS или программных правил лучше использовать Open vSwitch. Установите пакет: apt install openvswitch-switch. Удалите стандартный мост vmbr0 и создайте OVS Bridge через интерфейс или командой:

ovs-vsctl add-br vmbr0-ovs
ovs-vsctl add-port vmbr0-ovs eno1

В веб-интерфейсе Proxmox создайте новый мост Linux Bridge с произвольным именем, но в его конфигурации укажите ovs_bridge vmbr0-ovs и ovs_type internal. Это создаст внутренний порт на OVS-бридже. Управление VLAN теперь осуществляется командами OVS, например, ovs-vsctl set port vnet0 tag=30. Этот подход обеспечивает лучшую масштабируемость для сред с большим количеством VLAN или требующих SDN.

Конфигурация сетей и маршрутизации в KVM (на базе Libvirt)

В этом разделе: встроенные сети nat и routed в libvirt → ручная сборка Linux Bridge → выделенная ВМ-роутер.

В среде KVM с управлением через libvirt можно использовать как встроенные сетевые фильтры, так и ручную настройку с Linux Bridge для полного контроля.

Использование встроенных сетевых фильтров Libvirt (NAT, Routed)

Libvirt предоставляет предопределённые типы виртуальных сетей. Для быстрого развёртывания можно создать сеть типа nat или routed. Создайте XML-файл сети, например, routed-network.xml:

<network>
  <name>routed-net</name>
  <forward mode='route'/>
  <bridge name='virbr1' stp='on' delay='0'/>
  <ip address='192.168.200.1' netmask='255.255.255.0'>
  </ip>
</network>

Определите и активируйте сеть: virsh net-define routed-network.xml, virsh net-start routed-net, virsh net-autostart routed-net. Виртуальные машины, подключённые к этой сети, смогут общаться друг с другом, а трафик за её пределы будет маршрутизироваться хостом. Для маршрутизации между несколькими такими изолированными сетями потребуется дополнительная настройка правил iptables на хосте или использование отдельной ВМ-роутера, подключённой ко всем сетям.

Ручная настройка с Linux Bridge и выделенной ВМ-роутером

Этот метод даёт максимальную гибкость. Создайте bridge-интерфейс на хосте, используя netplan или systemd-networkd. Пример конфигурации /etc/netplan/01-bridge.yaml:

network:
  version: 2
  ethernets:
    eno1:
      dhcp4: no
  bridges:
    br0:
      interfaces: [eno1]
      addresses: [10.0.0.10/24]
      routes:
        - to: default
          via: 10.0.0.1
      nameservers:
        addresses: [8.8.8.8]
      parameters:
        stp: false
        forward-delay: 0

Параметр gateway4 в актуальных версиях netplan помечен как устаревший — маршрут по умолчанию теперь задают через секцию routes, как в примере выше.

Примените настройки: netplan apply. В XML-конфигурации каждой виртуальной машины, включая ВМ-роутер, укажите этот мост как источник сети:

<interface type='bridge'>
  <mac address='52:54:00:xx:xx:xx'/>
  <source bridge='br0'/>
  <model type='virtio'/>
</interface>

На виртуальном маршрутизаторе настройте несколько IP-адресов на одном физическом интерфейсе с помощью алиасов или отдельных vNIC, подключённых к тому же мосту br0, но с разными MAC-адресами. Далее настройка маршрутизации и фаервола выполняется внутри этой ВМ, как описано в разделе про ESXi.

Типовые проблемы при настройке и их решение

Большинство сбоев при настройке маршрутизации между виртуальными машинами сводится к четырём сценариям. Проверяйте их в порядке, приведённом ниже. Если нужен системный разбор на стороне Linux-хоста, начните с диагностики проблем маршрутизации: ip route, traceroute и tcpdump.

СимптомВероятная причинаКоманда проверки
Трафик не проходит между сегментамиВыключен IP-форвардинг на ВМ-роутереsysctl net.ipv4.ip_forward
ВМ в одном VLAN не видят друг другаРассинхронизация VLAN-тегов на хосте и в ВМtcpdump -i any -e -n vlan
Нет выхода в интернет через NATНет правила MASQUERADE или форвардинг блокирует фаервол хостаiptables -t nat -L -v -n
После настройки OVS в Proxmox пропала связьUplink добавлен как bridge-порт вместо OVS-портаovs-vsctl show

Трафик не проходит между сегментами: выключен IP-форвардинг

Проблема: трафик не проходит между сегментами, хотя IP-адреса назначены правильно. Решение: проверьте, включён ли IP-форвардинг на виртуальном маршрутизаторе: sysctl net.ipv4.ip_forward. Должно вернуть 1. Если нет, включите его и перезагрузите сеть.

ВМ в одном VLAN не видят друг друга: рассинхронизация тегов

Проблема: ВМ в одном VLAN не видят друг друга. Решение: убедитесь, что теги VLAN совпадают на всех уровнях - на Port Group в ESXi, в настройках интерфейса ВМ и на физическом коммутаторе, к которому подключён хост. Используйте tcpdump -i vSwitch0 -e -n vlan на ESXi или tcpdump -i any -e -n vlan на Linux-хосте, чтобы проверить наличие тегов в пакетах.

Нет выхода в интернет через NAT: проверьте MASQUERADE и фаервол хоста

Проблема: нет выхода в интернет из ВМ через NAT. Решение: проверьте правила iptables/nftables на маршрутизаторе. Должно быть правило MASQUERADE для исходящего интерфейса. Убедитесь, что на хосте гипервизора фаервол (например, UFW или firewalld) не блокирует форвардинг. Команда для диагностики: iptables -t nat -L -v -n.

После настройки OVS в Proxmox пропала связь

Проблема: после настройки OVS в Proxmox пропала связь. Решение: проверьте, что физический интерфейс добавлен в OVS-бридж как порт, а не как bridge-порт в классическом понимании. Используйте ovs-vsctl show для проверки топологии.

Сравнение подходов: какой гипервизор и метод выбрать в 2026 году

Выбор зависит от требований к стабильности, бюджету, контролю и функциональности.

  • VMware ESXi подходит для корпоративных продакшен-сред, где критичны стабильность, глубокая интеграция с экосистемой vSphere и наличие официальной поддержки. Настройка через vSphere Client стандартизирована и хорошо документирована. Стоимость лицензий - основной ограничивающий фактор.
  • Proxmox VE - оптимальный выбор для универсальных развёртываний, от домашних лабораторий до инфраструктуры среднего бизнеса. Бесплатная open-source модель, удобный веб-интерфейс и поддержка двух технологий (Linux Bridge и OVS) дают гибкость. Для базовых задач хватит VLAN-aware моста, для сложных SDN-сценариев - Open vSwitch.
  • KVM/Libvirt обеспечивает максимальный контроль над каждым аспектом конфигурации. Это решение для специалистов, которые предпочитают управление через CLI, XML-конфигурации и тонкую настройку производительности. Идеально для хостинг-провайдеров, высоконагруженных сред и случаев, когда гипервизор - часть более сложной автоматизированной инфраструктуры, управляемой через IaC-инструменты вроде Terraform или Ansible.

В 2026 году тренд сохраняется в сторону большей интеграции программно-определяемых сетей (SDN) даже в бесплатные платформы, а также использования eBPF для высокопроизводительной фильтрации и маршрутизации трафика на уровне ядра, что открывает новые возможности для виртуальных сетей. Подробнее об этом — в материале про программно-определяемую маршрутизацию: SDN, eBPF и Cilium на практике.

Краткие итоги

  • Ядро схемы — виртуальный маршрутизатор с несколькими vNIC, включённым IP-форвардингом (net.ipv4.ip_forward=1) и правилом MASQUERADE в цепочке POSTROUTING.
  • VLAN-сегментация: в ESXi достаточно Port Groups с нужным VLAN ID, в Proxmox VE — VLAN-aware Linux Bridge (bridge-vlan-aware yes); для VXLAN, QoS и SDN-задач берите Open vSwitch.
  • Порядок диагностики: совпадение VLAN-тегов на всех уровнях → IP-форвардинг → правила nat → фаервол гипервизора (UFW, firewalld).
  • KVM/Libvirt даёт максимальный контроль: сети nat и routed создаются парой команд, но маршрутизация между несколькими изолированными сетями требует либо правил на хосте, либо отдельной ВМ-роутера.

Что проверить перед продакшеном

  • IP-форвардинг включён и переживёт перезагрузку. Убедитесь, что net.ipv4.ip_forward=1 прописан в /etc/sysctl.conf, а не выставлен только в runtime.
  • NAT привязан к правильному интерфейсу. Правило MASQUERADE в цепочке POSTROUTING должно указывать на внешний uplink, а не на внутренний сегмент, и сохраняться после reboot (iptables-persistent или nftables).
  • VLAN-теги совпадают на всех уровнях. Port Group в ESXi, tag в OVS, bridge-vids в Proxmox и VLAN trunk на физическом коммутаторе должны ссылаться на один и тот же ID.
  • Фаервол хоста пропускает FORWARD. UFW или firewalld по умолчанию могут блокировать форвардинг — проверьте цепочку FORWARD и разрешите нужные потоки явно.
  • Доступ к management-интерфейсу сохранён. Перед правками OVS или bridge убедитесь, что у вас есть альтернативный доступ к MGMT-интерфейсу и SSH не отвалится при перезапуске сети.

Смежные материалы по теме: настройка и диагностика сетей в Linux: интерфейсы, IP-адреса и управление трафиком, маршрутизация на L2: коммутация, VLAN и MAC-адресация, сетевая диагностика и устранение неполадок, Docker и nftables: firewall без потери SSH-доступа и с DNAT, СХД для виртуализации под VMware и Proxmox.

Поделиться: