На всех серверах Безлимитный трафик, защита от DDoS и IPMI включены. Без платы за подключение и контракта. Безлимитный трафик на всех серверах Смотреть цены

Документация

Объединение серверов в частную VLAN

Объедините серверы FlexDedi в одной локации бесплатной частной VLAN: пример для Netplan, проверка MTU, правила файрвола и сценарии вроде репликации баз данных.

  • 5 мин чтения
  • Обновлено
  • Инженерная команда FlexDedi

Об этой странице

Область применения
Все выделенные серверы FlexDedi
Обновлено
2 ноября 2026 г.
Нужна помощь?
Открыть тикет, 24/7
На этой странице

Серверы в одной локации могут обмениваться данными по частной сети — VLAN, выделенной только под ваши серверы. Она бесплатна, а внутренний трафик не тарифицируется. Используйте её для репликации, трафика кластеров и резервного копирования — всего, что никогда не должно идти через публичные адреса.

Что такое частная сеть

  • VLAN только для ваших серверов. Это сеть второго уровня (L2), отделённая от публичного интерфейса и его адресов.
  • Бесплатно. Частная сеть ничего не стоит, а внутренний трафик не тарифицируется.
  • Только в пределах одной локации. Серверы во Франкфурте и Амстердаме не могут находиться в одной VLAN. Чтобы связать локации, поднимите поверх публичной сети зашифрованный туннель, например WireGuard: трафик там всё равно безлимитный.
  • Адресация — ваша. Частные IPv4-адреса вы назначаете сами из диапазона вроде 10.20.0.0/24. Выберите диапазон, который не пересекается с сетями вашего VPN, офиса или контейнеров: Docker по умолчанию использует 172.17.0.0/16.

Для каждого сервера нужны два параметра: VLAN ID вашей частной сети и физический интерфейс, через который она проходит. Если их у вас нет, запросите у наших инженеров поддержки. Подробнее — на странице о частной сети.

Небольшой план адресации убережёт от ошибок в будущем:

СерверРольЧастный адрес
db1Основной сервер PostgreSQL10.20.0.11
db2Реплика PostgreSQL10.20.0.12
backup1Хранилище резервных копий10.20.0.30

1. Создайте интерфейс VLAN в Netplan

В Ubuntu 24.04 опишите частную сеть в отдельном файле, чтобы не затрагивать публичную конфигурацию. Сохраните следующее как /etc/netplan/60-private.yaml:

yaml
network:
  version: 2
  vlans:
    vlan100:
      id: 100
      link: enp1s0f0
      addresses:
        - 10.20.0.11/24

Замените 100 на свой VLAN ID, а enp1s0f0 — на родительский интерфейс, который уже должен быть описан в основном файле Netplan. Шлюз не указывайте: маршрут к 10.20.0.0/24 создаётся автоматически, а маршрут по умолчанию остаётся на публичном интерфейсе.

Если же частная сеть приходит на второй порт без тегов (untagged), пропустите секцию vlans и назначьте адрес этому порту в секции ethernets.

Примените конфигурацию с автоматическим откатом, проверьте интерфейс и убедитесь, что соседний сервер отвечает:

bash
chmod 600 /etc/netplan/60-private.yaml
netplan try
ip -br addr show vlan100
ping -c 3 10.20.0.12

2. Проверьте MTU

Все хосты в VLAN должны использовать одинаковый MTU — по умолчанию 1500 байт. Убедитесь, что пакеты полного размера проходят без фрагментации:

bash
ping -M do -s 1472 -c 3 10.20.0.12

Полезная нагрузка 1472 байта плюс 28 байт заголовков IP и ICMP дают ровно 1500. Если короткие пинги проходят, а этот нет, значит, какое-то устройство на пути использует меньший MTU.

Jumbo-кадры (MTU 9000) снижают накладные расходы на каждый пакет при передаче больших объёмов, но помогают, только если их поддерживает весь путь. Прежде чем увеличивать MTU, проконсультируйтесь с нашими инженерами поддержки, затем задайте его на каждом сервере и проверьте с -s 8972. Если связываете локации через WireGuard, оставьте его MTU по умолчанию — 1420: так остаётся место для заголовков туннеля.

3. Настройте файрвол на частном интерфейсе

Частная — не значит доверенная: скомпрометированный сервер в VLAN может добраться до всех остальных. В ufw сохраните политику запрета по умолчанию и открывайте только те порты, которые нужны каждому серверу, и только для частного диапазона:

bash
ufw allow in on vlan100 from 10.20.0.0/24 to any port 5432 proto tcp
ufw allow in on vlan100 from 10.20.0.0/24 to any port 22 proto tcp

Кроме того, привяжите внутренние сервисы к частному адресу, чтобы они никогда не слушали публичный интерфейс:

  • PostgreSQL: listen_addresses = 'localhost,10.20.0.11'
  • MySQL и MariaDB: bind-address = 10.20.0.11
  • Redis: bind 127.0.0.1 10.20.0.11

Затем выполните ss -tlnp, чтобы увидеть, на каком адресе слушает каждый сервис.

Сценарии использования

Репликация баз данных

Потоковая репликация поддерживает актуальность резервной копии (standby) базы данных PostgreSQL через VLAN. На основном сервере разрешите в pg_hba.conf подключение пользователя репликации с частного адреса реплики:

text
host  replication  replicator  10.20.0.12/32  scram-sha-256

На реплике остановите PostgreSQL, очистите каталог данных и склонируйте основной сервер. Параметр -R сам запишет конфигурацию standby:

bash
sudo -u postgres pg_basebackup -h 10.20.0.11 -U replicator -D /var/lib/postgresql/16/main -R -X stream -P

Больше советов по подбору серверов для баз данных — на странице решений для баз данных.

Кластер Proxmox VE

Corosync, движку кластера Proxmox, нужна низкая и стабильная задержка — именно её обеспечивают серверы в одной локации. Proxmox VE использует /etc/network/interfaces, а не Netplan, поэтому опишите VLAN там и примените настройки командой ifreload -a:

text
auto enp1s0f0.100
iface enp1s0f0.100 inet static
    address 10.20.0.21/24

Затем создайте кластер на первом узле и подключите к нему остальные, привязав трафик кластера к частным адресам:

bash
pvecm create prod --link0 10.20.0.21          # on the first node
pvecm add 10.20.0.21 --link0 10.20.0.22       # on each additional node

Установка и настройка самого Proxmox VE описаны в нашем руководстве по Proxmox.

Резервное копирование

Отправляйте ночные резервные копии на второй сервер в той же локации, например на Storage 264 в Ашберне, Лос-Анджелесе, Амстердаме или Франкфурте:

bash
rsync -aHAX --numeric-ids --delete /srv/ backup@10.20.0.30:/backups/db1/srv/

Храните ещё одну копию в другой локации. Резервная копия в той же локации не защитит от происшествия, которое затронет всю площадку.