Planetahost VPS
Перейти к основному контенту

Настройка сети в Proxmox VE

intro-Setting-up-network-in-ProxmoxVE-planetahost.png

Введение

Proxmox Virtual Environment (Proxmox VE) - мощная платформа для виртуализации, построенная на Debian Linux. Гибкая настройка сети критически важна для производительности, изоляции и отказоустойчивости виртуальных машин и контейнеров. В этом руководстве мы разберём основные сетевые компоненты и научимся управлять ими через веб-интерфейс и командную строку.

Основные сетевые компоненты

  • Linux Bridge (мост) — виртуальный коммутатор уровня 2, объединяющий физические и виртуальные интерфейсы. Аналог физического свитча в программной среде. По умолчанию создаётся мост vmbr0, связанный с первым физическим интерфейсом (например, enp0s3).
  • VLAN (Virtual LAN) — технология логической сегментации сети. Позволяет разделять трафик на изолированные подсети внутри одного физического канала с помощью тегов (802.1Q).
  • Bonding (объединение интерфейсов) — агрегация нескольких физических сетевых карт в один логический канал для увеличения пропускной способности или обеспечения отказоустойчивости.

Как Proxmox управляет сетью

Proxmox не использует отдельный сервис для сетевых настроек. Вся конфигурация хранится в стандартном файле Debian:

/etc/network/interfaces

image.png

После изменений через GUI или вручную сеть перезапускается (systemctl restart networking).

Важно: удалённое подключение может быть потеряно при некорректной настройке. Всегда имейте запасной доступ (IPMI, iDRAC или консоль сервера) или применяйте изменения осторожно.

Создание и настройка моста (Linux Bridge)

Мост является основным типом сетевого устройства в Proxmox. Каждая виртуальная машина подключается к мосту, который затем связывает её с физической сетью.

Просмотр существующих мостов

В веб-интерфейсе перейдите в раздел Datacenter ваш_узел System Network. Вы увидите список интерфейсов. Мосты обозначаются как vmbrN.

image.png

В командной строке:

cat /etc/network/interfaces

image.png

или

image.png

Добавление нового моста через веб-интерфейс

  1. Выберите узел (node) в дереве Datacenter.
    • image.png

  2. Перейдите на вкладку System Network.
    • image.png

  3. Нажмите кнопку Create Linux Bridge.
    • image.png

  4. Заполните поля:
    • Name – имя моста, например vmbr1.
    • IPv4/CIDR – опционально, если нужен IP-адрес на самом узле через этот мост.
    • IPv6/CIDR – аналогично.
    • Gateway – шлюз по умолчанию (обычно задаётся только для одного моста).
    • Autostart – галочка, чтобы мост поднимался при загрузке.
    • image.png

  5. Нажмите Create.

Привязка физического интерфейса к мосту

Чтобы мост работал как коммутатор, подключенный к физической сети, нужно добавить в него реальный порт (например, eno1, eth0).

При создании моста через GUI в поле Bridge ports укажите имя физического интерфейса.

Если мост уже создан:

  1. Выберите мост в списке.
    • image.png

  2. Нажмите Edit.
    • image.png

  3. В поле Bridge ports введите интерфейс.
    • image.png

  4. Сохраните изменения.
    • image.png

Пример конфигурации в /etc/network/interfaces:

image.png

Назначение IP-адреса мосту или использование его как коммутатора

  • С IP-адресом – сам узел Proxmox получает IP в этой сети. Через этот мост администратор подключается к веб-интерфейсу, SSH и т.д.
  • Без IP-адреса (чистый коммутатор) – мост используется только для коммутации трафика между виртуальными машинами и физической сетью, а IP назначен на другом интерфейсе (или его нет). В GUI при создании моста выберите Static и оставьте поля адреса пустыми.

VLAN

VLAN позволяют запускать несколько логических сетей на одном физическом кабеле.

Создание VLAN-интерфейса на существующем мосте
Через веб-интерфейс:
  1. Datacenter Node System Network Create Linux VLAN.
    • image.png

  2. Задайте:
    • Name – например, vmbr0.100 (автоматически привяжется к мосту vmbr0 с тегом 100).
    • VLAN raw device – выберите родительский мост (например, vmbr0).
    • VLAN ID – числовой тег (1–4094).
    • При необходимости задайте IP-адрес для этого VLAN-интерфейса на узле.
    • image.png

  3. Нажмите Create.
Ручная правка /etc/network/interfaces

Открываем файл с настройками интерфейсов:

nano /etc/network/interfaces

И добавляем туда нужные строчки:

auto vmbr0.100
iface vmbr0.100 inet static
        address 192.168.100.100/24

image.png

Назначение VLAN тега виртуальной машине

Proxmox позволяет указывать VLAN-тег непосредственно в настройках сетевого адаптера виртуальной машины или контейнера.

  1. Откройте настройки VM (ПКМ Edit → вкладка Hardware).
  2. Выберите сетевой адаптер (например, Net0) и нажмите Edit.
  3. В поле VLAN Tag введите нужный ID.
  4. В поле Bridge выберите мост, который уже подключён к trunk-порту физического свитча (например, vmbr0).
  5. Нажмите OK.

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

Проверка изоляции трафика

  • Запустите две виртуальные машины с разными VLAN-тегами на одном мосту. Они не должны видеть друг друга (ICMP, ARP).
  • На хосте используйте tcpdump для проверки:
    • tcpdump -i vmbr0 vlan 100

  • Если нужно проверить, что VLAN-интерфейс работает, настройте на нём IP и выполните ping.

Bonding (объединение интерфейсов)

Bonding повышает пропускную способность или надёжность за счёт комбинации нескольких физических интерфейсов (обычно от 2 до 8).

Выбор режима (active-backup, LACP и т.д.)

Поддерживаемые режимы (указываются как bond-mode):

Режим Значение Описание
balance-rr 0 Round-robin, повышает пропускную способность, но возможны переупорядочения пакетов.
active-backup 1 Один активный, остальные в резерве. Отказоустойчивость без дополнительного свитча.
balance-xor 2 Распределение по MAC-адресам.
broadcast 3 Все пакеты на все интерфейсы.
802.3ad (LACP) 4 Требует поддержки LACP на коммутаторе. Обеспечивает агрегацию и отказоустойчивость.
balance-tlb 5 Адаптивная балансировка нагрузки (исходящий трафик).
balance-alb 6 Адаптивная балансировка (входящий и исходящий).

Рекомендации:

  • Для простой отказоустойчивости – active-backup.
  • Для увеличения пропускной способности с управляемым свитчом – 802.3ad (LACP).
  • Для двух серверных карт без настройки свитча – balance-alb или balance-tlb.

Создание bond-устройства

Через веб-интерфейс:
  1. Datacenter Node System Network Create Linux Bond.
    • image.png

  2. Параметры:
    • Name – bond0 (или другое имя).
    • Slaves – выберите физические интерфейсы, например eno1, eno2.
    • Mode – нужный режим (например, active-backup).
    • Hash policy – для режимов, где требуется (обычно layer2+3).
    • Autostart – да.
    • IP-адрес – обычно не задаётся, так как bond будет включён в мост.
    • image.png

  3. Нажмите Create.
Через CLI (пример для active-backup):

Добавьте в /etc/network/interfaces:

auto bond0
iface bond0 inet manual
    bond-slaves nic0 nic1
    bond-mode active-backup
    bond-miimon 100
    bond-primary nic0

Подключение bond к мосту

Чтобы трафик виртуальных машин шёл через агрегированный канал, включите bond в качестве bridge-ports моста.

  1. Создайте мост vmbr0 (или используйте существующий).
  2. В поле Bridge ports укажите bond0 вместо физических интерфейсов.
  3. При необходимости задайте мосту IP-адрес управления.
    • image.png

Пример конфигурации в /etc/network/interfaces:

auto lo
iface lo inet loopback

auto nic0
iface nic0 inet manual

auto nic1
iface nic1 inet manual

auto bond0
iface bond0 inet manual
        bond-slaves nic0 nic1
        bond-miimon 100
        bond-mode active-backup
        bond-primary nic0

auto vmbr0
iface vmbr0 inet static
        address 192.168.110.3/24
        gateway 192.168.110.1  
        bridge-ports bond0
        bridge-stp off
        bridge-fd 0

image.png

Применение изменений и отладка

Перезапуск сети

После любых правок через GUI Proxmox автоматически предложит применить изменения. Кнопка Apply Configuration перезапустит сетевую службу.

image.png

Вручную:

systemctl restart networking

Внимание! При удалённом подключении вы можете потерять доступ. Рекомендуется:
Использовать systemctl restart networking внутри screen/tmux.
Предварительно проверить синтаксис: ifup --no-act -a.
Иметь консольный доступ (IPMI, iDRAC).

Проверка соединения

  • Пинг до шлюза и внешних узлов:
    • ping 8.8.8.8

  • Проверка таблицы маршрутизации:
    • ip route show

  • Просмотр состояния интерфейсов:
    • ip a show

  • Статус мостов:
    • bridge link show

  • Статус bond (если используется):
    • cat /proc/net/bonding/bond0

  • Захват трафика для отладки VLAN или проблем с ARP:
    • tcpdump -i vmbr0 -e -n
      tcpdump -i bond0 -n host 192.168.1.1

  • Логи сети и системные сообщения:
    • journalctl -u networking -f
      dmesg | grep -i bond

Часто встречающиеся проблемы

Симптом Возможная причина Решение
После перезапуска сети потерян доступ Ошибка в /etc/network/interfaces; неправильный bridge-ports Загрузитесь в rescue‑режим или через консоль, исправьте файл.
Виртуальная машина не получает IP по DHCP Неправильный VLAN-тег; мост не включён в bridge-ports Проверьте настройки сетевой карты VM и физический порт свитча.
Bond не поднимается, в логах «missing slave» Физические интерфейсы прописаны как manual, но не подняты Убедитесь, что перед bond указаны auto eno1 eno2.
Нет связи между разными VLAN на одном хосте Маршрутизация между VLAN требует маршрутизатора (или L3-свитча) Используйте виртуальный маршрутизатор (pfSense, VyOS) или включите ip_forward.

Заключение

Вы освоили основные инструменты сетевой настройки Proxmox: Linux Bridge, VLAN и Bonding. Эти знания позволят вам строить отказоустойчивые, сегментированные и высокопроизводительные сетевые конфигурации для вашей виртуальной инфраструктуры. Помните, что любое изменение сети должно сначала тестироваться в лабораторной среде, особенно если вы работаете с удалённым сервером.

Дополнительные материалы:

  • Официальная документация Proxmox: Network Configuration
  • Man-страницы Debian: man interfaces, man bridge-utils-interfaces, man bonding.