6.1.9 Робота з додатковими IP-адресами в Linux і Windows Server

У багатьох адміністративних завданнях виникає потреба призначити серверу декілька IP-адрес — чи то для проксі-сервісів, віртуального хостингу чи виділених застосунків.
Ця стаття допоможе коректно налаштувати додаткові IP-адреси на Linux (Ubuntu, Debian, CentOS, RHEL, AlmaLinux, RockyLinux) та Windows Server.
Корисні кейси
- Необхідна ізоляція проєктів за IP
- Один сервер обслуговує декілька SSL-сайтів
- Налаштовуються сервіси з обмеженням доступу за IP (наприклад, пошта, VPN)
- Віртуалізація чи контейнеризація
Вимоги
- Віртуальний або Виділений сервер
- ОС: Linux, Windows
- Root-доступ або права адміністратора в Windows
Змінні, які слід замінити
ADDITIONAL_IP— додаткова IPv4-адреса сервераADDITIONAL_IPV6— додаткова IPv6-адреса сервераINTERFACE— назва мережевого інтерфейсу у Linux (eth0,ens3,ens160тощо)INTERFACE_ALIAS— псевдонім мережевого адаптера у Windows (значення зGet-NetAdapter)YOUR_MAIN_IP/MAIN_IP— основна IPv4-адреса сервераYOUR_IPV6— основна IPv6-адреса сервераNETMASK— маска підмережі для IPv4 (наприклад255.255.255.0)/64— префікс IPv6-підмережі (залиште64, якщо провайдер не вказав інше)GATEWAY— шлюз за замовчуванням для IPv4IPV6_GATEWAY— шлюз за замовчуванням для IPv6GATEWAY_IP— шлюз, який вказується під час додавання IP у Windows PowerShellDNS_1/DNS_2— адреси DNS-серверів для IPv4DNS6_1/DNS6_2— адреси DNS-серверів для IPv6
Тимчасове додавання ip у Linux
Для тимчасового додавання IP у системах Linux виконайте наступну команду:
IPv4:
sudo ip addr add ADDITIONAL_IP dev INTERFACE
Зверніть увагу: замініть ADDITIONAL_IP на ваш додатковий IP, а INTERFACE — на ім’я інтерфейсу.
IPv6:
sudo ip -6 addr add ADDITIONAL_IPV6/112 dev INTERFACE
Зверніть увагу: замініть ADDITIONAL_IPV6/112, і INTERFACE на ваші значення.
Ubuntu/Debian
Для визначення типу конфігурації виконайте команду:
dpkg -l | grep ii | awk '{print $2}' | grep ifupdown | wc -l
Команда поверне 1 — якщо використовується ifupdown, або 0 — якщо ні.
Перевіримо поточні мережеві інтерфейси:
ip addr show
Вивід покаже інтерфейси, наприклад eth0, ens3, ens160.

Додавання IP через ifupdown
Відкрийте файл конфігурації:
sudo nano /etc/network/interfaces
Приклад із додаванням другого IP:
# Основний інтерфейс IPv4 + IPv6
auto eth0
iface eth0 inet static
address YOUR_MAIN_IP
netmask NETMASK
gateway GATEWAY
dns-nameservers DNS_1 DNS_2
iface eth0 inet6 static
address YOUR_IPV6
netmask 112
gateway IPV6_GATEWAY
dns-nameservers DNS6_1 DNS6_2
# Додатковий IPv4 (alias)
auto eth0:0
iface eth0:0 inet static
address ADDITIONAL_IP
netmask NETMASK
# Додатковий IPv6 (alias)
auto eth0:0
iface eth0:0 inet6 static
address ADDITIONAL_IPV6
netmask NETMASK
- eth0 — основний інтерфейс
- eth0:0 — віртуальний інтерфейс (alias), додає IP
Зверніть увагу: для отримання значень address, netmask, gateway, dns-nameservers зверніться в службу підтримки.
Застосуйте зміни:
sudo systemctl restart networking
Тепер IP-адреса зберігатиметься після перезавантаження.
Додавання IP за допомогою Netplan
Файл налаштувань IP знаходиться в каталозі /etc/netplan/. Ім’я може бути будь-яким, але з розширенням yaml. Просто перерахуйте всі IP-адреси після основного:
network:
version: 2
renderer: networkd
ethernets:
ens9:
dhcp4: false
addresses:
- MAIN_IP # Ваш основний IP
- ADDITIONAL_IP # Додатковий IP
Після зміни виконайте:
sudo netplan try
Ця команда спробує застосувати конфігурацію до запущеної системи, чекатиме підтвердження (120 с за замовчуванням) і автоматично відкотить зміни, якщо ви не натиснете Enter. Для негайного застосування без відкату:
sudo netplan apply
CentOS/RHEL/AlmaLinux/RockyLinux
Спочатку визначте, який метод конфігурації IP використовується:
systemctl status NetworkManager
Якщо бачите Active: active (running), значить NetworkManager увімкнено. Перевірте його інтерфейси:
nmcli device status
Щоб перевірити Network Scripts:
systemctl status network
NetworkManager
Для додавання IPv4 адреси за допомогою NetworkManager виконайте команди:
nmcli con mod INTERFACE +ipv4.addresses ADDITIONAL_IP
nmcli con up INTERFACE

Перевірка:
ip a
Network Scripts
Перейдіть у каталог конфігурацій:
cd /etc/sysconfig/network-scripts/
Зробіть копію для alias:
cp ifcfg-eth0 ifcfg-eth0:0
Відредагуйте ifcfg-eth0:0:
DEVICE=eth0:0
BOOTPROTO=static
ONBOOT=yes
IPADDR=ADDITIONAL_IP
NETMASK=NETMASK
Зверніть увагу: замініть ADDITIONAL_IP, NETMASK на ваші значення.
Важливо: перезапустіть мережевий стек:
systemctl restart network
або
ifdown eth0:0 ; ifup eth0:0
Windows Server
Перевірка IP через PowerShell:
Get-NetIPAddress | Where-Object {$_.AddressFamily -eq "IPv4"}

Перегляд адаптерів:
Get-NetAdapter

Додавання IP через PowerShell
New-NetIPAddress -InterfaceAlias "INTERFACE_ALIAS" -IPAddress "ADDITIONAL_IP" -PrefixLength 32 -DefaultGateway "GATEWAY_IP"
Зверніть увагу: вкажіть INTERFACE_ALIAS, ADDITIONAL_IP, GATEWAY_IP відповідно до вашої конфігурації.
Перевірка:
Get-NetIPAddress -InterfaceAlias "INTERFACE_ALIAS"

Додавання IP через графічний інтерфейс
-
Відкрийте «Пуск» → «Параметри» → «Мережа та Інтернет»

-
У розділі «Статус» натисніть «Змінити параметри адаптера»

-
Клікніть правою кнопкою на потрібному адаптері → «Властивості»

-
Оберіть IPv4 → «Властивості» → «Додатково»

-
Натисніть «Додати…»

-
Введіть додатковий IP і маску підмережі → «Додати»

Перевірка роботи
Увага: команди для перевірки пінгу (ping) слід виконувати не на тих пристроях, де додається IP.
Linux:
ping -c 4 ADDITIONAL_IP
Windows:
ping ADDITIONAL_IP
Якщо IP відповідає на ping — налаштування виконано коректно.
Поширені проблеми
| Проблема | Причина | Рішення |
|---|---|---|
| IP зникає після перезавантаження | IP додано тимчасово | Додайте IP у Netplan (Linux) або збережіть через PowerShell (Windows) |
| Немає трафіку на додатковий IP | Брандмауер блокує трафік | Налаштуйте UFW або Windows Firewall для потрібних портів та IP |
| Некоректна маршрутизація | Неправильно вказано шлюз або префікс | Перевірте gateway, netmask та prefix length |


