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 |