Top.Mail.Ru
КОНФИГУРАТОР Серверы
Сетевое оборудование
СХД
IP-телефоны IP-камеры Источники бесперебойного питания (ИБП) Комплектующие Готовые решения Серверы под задачу
О компании Купить в лизинг Блог Отзывы Доставка Гарантия Контакты Работа у нас Реквизиты Спецпредложения Игровые ПК на ISKRAPC Заявка в тех поддержку
Эксперты в подборе IT-оборудования

Настройка второго IP-адреса для хостов Proxmox VE

30 марта 2026
Настройка второго IP-адреса для хостов Proxmox VE

Представьте: вы арендовали дополнительный IP у хостинга, письмо пришло, адрес в личном кабинете есть, а что с ним делать дальше — непонятно. Открываете /etc/network/interfaces, видите vmbr0, eno1, какой-то bridge-ports, закрываете и идёте гуглить. Знакомо?

Хорошая новость: Proxmox не требует отдельного физического интерфейса под каждый IP. Всё решается на уровне конфигурации — alias, статический маршрут или macvtap, в зависимости от задачи. Один 10G-порт спокойно тянет несколько публичных адресов, десятки ВМ и управляющий трафик без какого-либо hardware-апгрейда — важно лишь, чтобы само железо соответствовало системным требованиям Proxmox к аппаратной части.

Разберём это по порядку — от простейшего alias до routed-схемы с изоляцией трафика.

Два способа добавить IP на хост

Proxmox строится на Debian (если вы ещё выбираете платформу виртуализации, стоит изучить сравнение популярных гипервизоров), поэтому вся сетевая магия живёт в /etc/network/interfaces. Когда вы добавляете второй IP, у вас два пути: alias и статический маршрут через post-up.

IP alias — старый добрый eno1:0. Ядро видит его как отдельный псевдоинтерфейс, трафик идёт через тот же физический порт. Настройка минимальная:

auto eno1:0

iface eno1:0 inet static

    address 1.2.3.4

    netmask 255.255.255.255


Routed через post-up — чище и гибче. IP назначается прямо на vmbr0, маршрут добавляется при поднятии интерфейса:

auto vmbr0

iface vmbr0 inet static

    address 5.6.7.8

    netmask 255.255.255.0

    gateway 5.6.7.1

    bridge-ports eno1

    bridge-stp off

    bridge-fd 0

    post-up   ip addr add 1.2.3.4/32 dev vmbr0

    pre-down  ip addr del 1.2.3.4/32 dev vmbr0


Почему pre-down обязателен — при перезапуске без него адрес зависает в системе, и ifreload начинает ругаться на дублирующий адрес.

Проверить конфиг без перезагрузки — ifreload -a. Команда перечитывает /etc/network/interfaces и применяет изменения на лету. Для production-сервера это критично: ребут ради смены IP — прошлый век.

После применения убедитесь, что маршруты в порядке: ip route show покажет таблицу маршрутизации, а ip addr show vmbr0 — все адреса на мосту, включая только что добавленные. Если что-то не так, journalctl -u networking -n 50 объяснит причину — обычно это либо синтаксическая ошибка в interfaces, либо конфликт адресов из-за забытого pre-down.

ifreload -a — не просто проверка. Он применяет изменения без ребута. Единственный правильный способ тестировать сеть на живом сервере.

Когда один IP хосту, а остальные — виртуалкам

Типичный сценарий на хостингах вроде Hetzner или FirstVDS: вы покупаете блок дополнительных IP и хотите раздать их по ВМ. Проблема в том, что провайдеры часто фильтруют трафик по MAC-адресу — каждый IP должен выходить с «правильного» мака, иначе пакеты просто не пройдут.

Решение — routed-конфигурация с виртуальным мостом без физических портов. Создаётся vmbr1, который не привязан ни к какому физическому интерфейсу:

auto vmbr1

iface vmbr1 inet static

    address 10.10.10.1

    netmask 255.255.255.0

    bridge-ports none

    bridge-stp off

    bridge-fd 0

    post-up   echo 1 > /proc/sys/net/ipv4/ip_forward

    post-up   iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o vmbr0 -j MASQUERADE

    post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o vmbr0 -j MASQUERADE


Каждой ВМ, которой нужен публичный IP, добавляется маршрут /32 через хост:

post-up   ip route add 1.2.3.4/32 dev vmbr0

pre-down  ip route del 1.2.3.4/32 dev vmbr0


Внутри Ubuntu-контейнера или ВМ шлюз прописывается как адрес хоста, а не реальный gateway провайдера. Это и есть суть routed-схемы — хост выступает маршрутизатором.

Для LXC-контейнеров есть нюанс: ip_forward на хосте должен быть включён постоянно, иначе после ребута трафик встанет. Добавьте net.ipv4.ip_forward = 1 в /etc/sysctl.conf и не надейтесь только на post-up.

Ещё один момент с LXC: если контейнер непривилегированный (unprivileged), то сетевые интерфейсы внутри него управляются иначе. Proxmox создаёт пару veth-интерфейсов — один на хосте, один внутри контейнера. Маршруты /32 для таких контейнеров прописываются на хостовом конце veth, а не на vmbr. Это важно, когда вы настраиваете routed-схему: стандартная инструкция для KVM здесь не работает напрямую.

Сравнение методов

Выбор метода зависит от сценария. Вот сравнение трёх подходов — только плюсы, минусы и контекст применения:

Метод Преимущества Недостатки Когда использовать
IP alias (eno1:0) Простота, нет лишних зависимостей ARP-конфликты при /29, устаревший подход Малые конфигурации, один-два доп. IP
Routed /32 (post-up ip route) Полная изоляция ВМ от хоста, чистая маршрутизация Требует post-up/pre-down скриптов, ip_forward Кластеры, публичные IP для ВМ
MACVTAP Высокая производительность, нет overhead моста Хост не видит ВМ-трафик, нет моста для управления 10G+ сети, когда производительность критична


Подводные камни, которые топят новичков

Сетевая конфигурация Proxmox — то место, где одна опечатка может оставить вас с сервером без доступа и с открытым Zoom в поддержку хостинга.

Потеря веб-интерфейса на порту 8006. Если вы меняете адрес vmbr0 и не обновляете /etc/hosts, pveproxy продолжает слушать на старом IP. После ifreload веб-морда пропадает. Лечится так:

# Обновить /etc/hosts

sed -i 's/старый_IP/новый_IP/' /etc/hosts


# Перезапустить прокси

systemctl restart pveproxy


Если уже потеряли доступ — только IPMI или KVM-консоль от хостинга.

ARP-проблемы при /29-подсетях. Когда провайдер выдаёт подсеть /29 с отдельным шлюзом (не из этой подсети — бывает и такое), хост должен выступать роутером для остальных адресов блока. Без post-up с правильными маршрутами пинги с ВМ не проходят — провайдер просто не знает, куда слать ответы. Решение: явный маршрут до шлюза через ip route add в post-up.

MAC-фильтры провайдера. Некоторые хостинги (особенно европейские) жёстко привязывают IP к MAC-адресу виртуального сетевого интерфейса ВМ. Если ВМ создана с автоматическим MAC — трафик не пройдёт. Нужно либо зарегистрировать MAC в панели хостинга, либо выдать ВМ конкретный MAC вручную в настройках Proxmox.

Конфликт с dhcpcd. Если где-то на хосте завёлся DHCP-клиент (бывает после экспериментов), он может перезаписать статический адрес. Проверьте systemctl status dhcpcd и отключите, если найдёте.

Перед каждым ifreload Держите открытой консоль IPMI или VNC от хостинга. Если сеть отвалится — у вас будет запасной вход. Без этого работать вслепую.

Безопасность: не открывайте всё подряд

Второй IP на хосте — это удобство и одновременно расширение поверхности атаки. Несколько практических вещей, которые стоит сделать сразу.

pve-firewall включается через веб-интерфейс и по умолчанию разрешает всё. Для управляющего интерфейса — ограничьте доступ к 8006 по IP через iptables прямо в post-up:

post-up iptables -A INPUT -p tcp --dport 8006 ! -s ваш_управляющий_IP -j DROP


VLAN-изоляция через vmbr с тегами — следующий уровень. Создаёте отдельный мост с bridge-vlan-aware yes, назначаете теги интерфейсам ВМ, и трафик разных сервисов не пересекается даже на одном хосте. Это актуально, когда на одном сервере живут и продакшн, и тестовые окружения.

Мониторинг сетевых интерфейсов через Zabbix: шаблон Linux network interfaces из коробки умеет отслеживать трафик, ошибки и статус каждого vmbr. Добавьте триггер на изменение IP-адреса интерфейса — это поможет поймать момент, когда что-то пошло не так, автоматически.

Кластер: когда нод несколько

В кластере Proxmox каждая нода имеет свою сетевую конфигурацию, и она не синхронизируется автоматически. Если вы добавили второй IP на одной ноде — на остальных это нужно делать руками или через Ansible.

Миграция ВМ между нодами с разными IP-схемами работает, если у ВМ сетевой интерфейс привязан к мосту с тем же именем (vmbr0, vmbr1). Кстати, если вы переносите в кластер физические серверы, полезно разобраться с методами конвертации физических серверов в виртуальные (P2V). Proxmox не мигрирует сетевые настройки хоста — только конфигурацию самой ВМ. Поэтому vmbr1 должен существовать на целевой ноде с аналогичными маршрутами, иначе ВМ после миграции останется без сети.

Corosync — служба кластерного управления — использует отдельный интерфейс для cluster-трафика. Если вы добавляете второй IP и случайно меняете маршрутизацию, Corosync может потерять кворум. Перед любыми изменениями сети в кластере проверьте pvecm status и убедитесь, что все ноды онлайн.

Автоматизация через Ansible: простой шаблон template для /etc/network/interfaces плюс хендлер ifreload -a — и одна команда настраивает сеть на всех нодах одновременно. Для IT-отделов от пяти серверов это экономит часы на однотипных операциях.


Два IP на одном хосте — это не экзотика, а повседневная практика в любом хостинге с посуточной оплатой за адрес. Proxmox даёт все инструменты: alias для простых задач, routed /32 для изоляции ВМ, VLAN для сегментации. Главное — держать конфиг чистым, pre-down не забывать, и перед каждым ifreload иметь запасной способ зайти на сервер. Остальное — детали, которые решаются за один journalctl -u networking.

ПОДПИСКА

НА РАССЫЛКУ
ПОЛЕЗНЫЕ СТАТЬИ, АКЦИИ
И ЗАКРЫТЫЕ РАСПРОДАЖИ
Котик подписка
Похожие статьи
Вам также может быть интересно

ТОП-5 ошибок при выборе сервера
Товар добавлен в список сравнения
Перейти в сравнение
Продолжить просмотр
Заявка в тех поддержку
Консультация
ИТ-специалиста
Перезвоним и ответим на ваши вопросы
или напишите нам
IT-архитектор подберет сервер под вашу задачу
Заказать сервер
Мы свяжемся с вами в течение 15 мин
Зарегистрироваться в бонусной программе
Консультация
ИТ-специалиста
Перезвоним и ответим на ваши вопросы
или напишите нам