Приватна мережа між серверами і VLAN 802.1Q: Linux і Windows Server
Зміст статті
Для адміністратора, який має два чи більше виділених серверів і хоче пустити трафік бази даних, реплікацію та резервні копії окремою ізольованою мережею. У підсумку сервери на Linux і Windows Server бачитимуть один одного за приватними адресами, а за потреби — в окремому VLAN 802.1Q.
Що таке приватна мережа і де вона є#
Приватна мережа — це ізольована мережа між вашими серверами, зокрема в різних країнах. Вона працює через окремий, як правило другий, мережевий інтерфейс сервера, а її швидкість залежить від лінійки: швидкість приватного порту вказано в картці сервера в каталозі. Між країнами час відгуку — десятки мілісекунд. Докладніше — на сторінці «Приватна мережа».
Приватна мережа є в лінійках Бізнес, Потужність і Ультра, а також на більшості моделей Класик і Стандарт (дивіться картку сервера). У лінійках Лайт і Турбо її немає.
Що знадобиться#
- Звернення до підтримки. Сервери в одну приватну мережу об’єднує підтримка на ваш запит; про це можна написати вже в коментарі до заявки на сервер. Підтримка також повідомить MAC-адресу приватного інтерфейсу кожного сервера.
- Запасний вхід. Заздалегідь попросіть у підтримки віддалену консоль: якщо помилка обірве SSH чи RDP, виправити її можна буде лише через консоль.
- План адрес. Адреси обираєте самі з приватних діапазонів
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16— так, щоб підмережа не перетиналася з мережами офісу, VPN, контейнерів і віртуальних машин.
Усі значення в цій статті — приклад, підставляйте свої: підмережа 10.10.0.0/24, сервери Linux — 10.10.0.11 і 10.10.0.12, Windows Server — 10.10.0.21; для VLAN 100 — підмережа 10.10.100.0/24. Приватний інтерфейс у прикладах — eno2 у Linux і Ethernet 2 у Windows; у вас назва може бути іншою: вона залежить від ОС і моделі сервера.
Перш ніж змінювати мережу#
Увага. Працюйте тільки з приватним інтерфейсом. Не змінюйте публічний інтерфейс, його адресу і маршрут за замовчуванням: можна втратити доступ до сервера, і повертати його доведеться через віддалену консоль. На приватному інтерфейсі шлюз за замовчуванням не задають узагалі.
Знайдіть приватний інтерфейс у Linux:
ip -br link
ip -br addr
ip route show defaultІнтерфейс у рядку default via … dev … — публічний. Приватний — інший фізичний інтерфейс без публічної адреси; його MAC-адреса збігається з тією, що повідомила підтримка.
Linux#
Крок 1. Тимчасова перевірка командами ip#
Ці команди нічого не записують на диск: після перезавантаження налаштування зникнуть. Виконайте їх на кожному сервері, підставивши його адресу:
sudo ip link set dev eno2 up
sudo ip addr add 10.10.0.11/24 dev eno2
ping -c 3 10.10.0.12Перед постійним налаштуванням приберіть тимчасову адресу: sudo ip addr del 10.10.0.11/24 dev eno2.
Крок 2. Постійне налаштування в Ubuntu: netplan#
Підходить для Ubuntu Server 24.04 LTS і 26.04 LTS. Наявний файл із публічним інтерфейсом не редагуйте — створіть окремий /etc/netplan/60-private.yaml: netplan читає файли в алфавітному порядку й об’єднує їх.
network:
version: 2
ethernets:
eno2:
dhcp4: false
optional: true
addresses:
- 10.10.0.11/24Рядків routes і gateway4 тут не має бути. З optional: true система під час завантаження не чекатиме на цей інтерфейс. Обмежте права на файл і застосуйте зміни:
sudo chmod 600 /etc/netplan/60-private.yaml
sudo netplan trynetplan try застосовує конфігурацію і 120 секунд чекає на Enter. Перш ніж натиснути, перевірте з другого сеансу SSH, що сервер доступний. Без підтвердження попередні налаштування повернуться автоматично.
Крок 2. Постійне налаштування в Debian#
Мережею в Debian 13, залежно від образу, керує ifupdown (файл /etc/network/interfaces), netplan або systemd-networkd. Спершу з’ясуйте, що саме у вас:
ls /etc/netplan/
systemctl is-active networking systemd-networkdЯкщо в /etc/netplan/ є файли — дійте так само, як в Ubuntu. Якщо публічний інтерфейс описано в /etc/network/interfaces — у вас ifupdown. Якщо активний лише systemd-networkd — налаштовуйте його.
ifupdown. Створіть файл /etc/network/interfaces.d/private (в основному файлі має бути рядок source /etc/network/interfaces.d/*):
auto eno2
iface eno2 inet static
address 10.10.0.11/24Рядка gateway не додавайте. Застосувати: sudo ifup eno2. Скасувати: sudo ifdown eno2 і видалити файл.
systemd-networkd. Створіть файл /etc/systemd/network/20-private.network з таким вмістом — без рядка Gateway=:
[Match]
Name=eno2
[Link]
RequiredForOnline=no
[Network]
Address=10.10.0.11/24Виконайте sudo networkctl reload. З RequiredForOnline=no завантаження не чекатиме на цей інтерфейс.
VLAN 802.1Q у Linux#
Тег VLAN ділить одну приватну мережу на кілька сегментів — наприклад, для бази даних і для резервних копій. Без тега приватна мережа працює одразу після об’єднання серверів, а номери VLAN 802.1Q для сегментів обираєте самі; номер має збігатися на всіх серверах сегмента.
Теги в Linux обробляє модуль ядра 8021q. Завантажте його й додайте до автозавантаження:
sudo modprobe 8021q
echo 8021q | sudo tee /etc/modules-load.d/8021q.confДля тимчасової перевірки створіть підінтерфейс із тегом 100 (батьківський інтерфейс eno2 має бути ввімкнений):
sudo ip link add link eno2 name vlan100 type vlan id 100
sudo ip link set dev vlan100 up
sudo ip addr add 10.10.100.11/24 dev vlan100Перед постійним налаштуванням видаліть підінтерфейс: sudo ip link del vlan100.
netplan. Допишіть у кінець файла 60-private.yaml розділ vlans — на одному рівні з ethernets:
vlans:
vlan100:
id: 100
link: eno2
optional: true
addresses:
- 10.10.100.11/24Знову виконайте sudo netplan try. Якщо зміни скасовано, а vlan100 лишився, видаліть його: sudo ip link del vlan100.
ifupdown. Тег задає сама назва інтерфейсу у форматі «назва.номер». Допишіть у файл private після опису eno2 такі рядки і виконайте sudo ifup eno2.100:
auto eno2.100
iface eno2.100 inet static
address 10.10.100.11/24Windows Server#
Команди виконуйте в PowerShell від імені адміністратора (Windows Server 2022 і 2025). Знайдіть адаптери:
Get-NetAdapter | Format-Table Name, InterfaceDescription, MacAddress, LinkSpeed
Get-NetIPConfigurationАдаптер, у якого заповнено IPv4DefaultGateway, — публічний, його не чіпайте. Приватний визначте за MAC-адресою, перейменуйте для зручності і задайте адресу без шлюзу (параметр -DefaultGateway не вказуйте):
Rename-NetAdapter -Name "Ethernet 2" -NewName "Private"
New-NetIPAddress -InterfaceAlias "Private" -IPAddress 10.10.0.21 -PrefixLength 24Скасувати: Remove-NetIPAddress -InterfaceAlias "Private" -IPAddress 10.10.0.21.
Тег VLAN у Windows Server#
Спосіб 1 — властивість адаптера. Згідно з документацією Microsoft, задати VLAN дозволяють не всі адаптери — це залежить від драйвера. Адаптер на мить перезапуститься, і весь його трафік піде з тегом, тож адресу на ньому замініть адресою з підмережі цього VLAN:
Set-NetAdapter -Name "Private" -VlanID 100
Get-NetAdapter -Name "Private" | Format-List Name, VlanIDЯкщо команда завершилася помилкою або VlanID не змінився, драйвер цього не підтримує. Повернути роботу без тега: Set-NetAdapter -Name "Private" -VlanID 0.
Спосіб 2 — віртуальний комутатор Hyper-V. Знадобиться, коли драйвер не вміє задавати тег або на одному адаптері потрібно кілька VLAN.
Увага. Перша команда встановлює роль Hyper-V і перезавантажує сервер; решту виконайте після перезавантаження. Комутатор прив’язуйте тільки до приватного адаптера: прив’язка до публічного може обірвати RDP. Після створення комутатора адреса на самому адаптері
Privateперестає діяти — адреси задають на віртуальних адаптерахvEthernet. Скасувати:Remove-VMSwitch -Name "PrivateSwitch".
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
New-VMSwitch -Name "PrivateSwitch" -NetAdapterName "Private" -AllowManagementOS $false
Add-VMNetworkAdapter -ManagementOS -Name "Private100" -SwitchName "PrivateSwitch"
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "Private100" -Access -VlanId 100
New-NetIPAddress -InterfaceAlias "vEthernet (Private100)" -IPAddress 10.10.100.21 -PrefixLength 24Мережевий екран на приватному інтерфейсі#
Приватна мережа відокремлена від інтернету, але не від ваших власних серверів: якщо зламають один, через неї спробують дістатися до решти. Тому не вимикайте мережевий екран на приватному інтерфейсі: відкривайте лише потрібні порти і лише для приватної підмережі. Ізоляція — не шифрування: для чутливих даних залишайте TLS.
Linux, ufw, приклад для PostgreSQL:
sudo ufw allow in on eno2 from 10.10.0.0/24 to any port 5432 proto tcpПравило діє, лише коли ufw увімкнено. Не вмикайте його, доки не дозволите SSH: порядок дій — у статті «Базовий захист Linux-сервера».
Windows Server, приклад для MS SQL Server і відповіді на ping:
New-NetFirewallRule -DisplayName "Private: SQL Server" -Direction Inbound -Protocol TCP -LocalPort 1433 -RemoteAddress 10.10.0.0/24 -Action Allow
New-NetFirewallRule -DisplayName "Private: ping" -Direction Inbound -Protocol ICMPv4 -IcmpType 8 -RemoteAddress 10.10.0.0/24 -Action AllowДруге правило потрібне, бо мережу без шлюзу Windows зараховує до загальнодоступного профілю, де брандмауер типово не пропускає ping. Сама служба має слухати приватну адресу: у PostgreSQL це параметр listen_addresses.
Як перевірити результат#
- Зв’язок.
ping -c 4 10.10.0.12з першого сервера і у зворотному напрямку — з другого. - Сусід у мережі.
ip neigh show dev eno2має показати адресу сусіда з його MAC-адресою і станомREACHABLEабоSTALE.FAILEDчиINCOMPLETEозначає, що сервери не бачать один одного: їх ще не об’єднано, обрано не той інтерфейс або теги VLAN різні. У Windows:Get-NetNeighbor -InterfaceAlias "Private".
Швидкість: iperf3#
Установіть iperf3 на обох серверах Linux: sudo apt install iperf3. На час тесту відкрийте на приватному інтерфейсі порт 5201/tcp. Першу команду запустіть на сервері, що приймає, другу — на іншому:
iperf3 -s -1 -B 10.10.0.12
iperf3 -c 10.10.0.12 -t 10 -P 4Результат обмежений повільнішим із двох приватних портів, а між країнами залежить ще й від часу відгуку. Після тесту закрийте порт.
Типові помилки#
- Шлюз на приватному інтерфейсі. З’являється другий маршрут за замовчуванням, і сервер перестає відповідати на публічній адресі. Приберіть шлюз.
- Підмережа перетинається з мережею офісу, VPN чи Docker (типово
172.17.0.0/16) — частина адрес стає недоступною.
Що далі#
- Резервний майданчик: три схеми і що перевіряти і резервні копії баз даних.
- WireGuard між офісом і сервером: офіс підключають до приватної мережі тунелем (WireGuard або IPsec) через один із серверів.
- Каталог серверів і локації.
Об’єднати сервери в приватну мережу можна через підтримку: телефон +38 044 206 08 08, пошта info@united.net.ua.