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

Банер хоста

У багатьох адміністративних завданнях виникає потреба призначити серверу декілька IP-адрес — чи то для проксі-сервісів, віртуального хостингу чи виділених застосунків.
Ця стаття допоможе коректно налаштувати додаткові IP-адреси на Linux (Ubuntu, Debian, CentOS, RHEL, AlmaLinux, RockyLinux) та Windows Server.

Корисні кейси

  • Необхідна ізоляція проєктів за IP
  • Один сервер обслуговує декілька SSL-сайтів
  • Налаштовуються сервіси з обмеженням доступу за IP (наприклад, пошта, VPN)
  • Віртуалізація чи контейнеризація

Вимоги

Змінні, які слід замінити

  • 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 — шлюз за замовчуванням для IPv4
  • IPV6_GATEWAY — шлюз за замовчуванням для IPv6
  • GATEWAY_IP — шлюз, який вказується під час додавання IP у Windows PowerShell
  • DNS_1 / DNS_2 — адреси DNS-серверів для IPv4
  • DNS6_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.

ipaddrshow

Додавання IP через ifupdown

Відкрийте файл конфігурації:

sudo nano /etc/network/interfaces

Приклад із додаванням другого IP:

/etc/network/interfaces
# Основний інтерфейс 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

nmclicon

Перевірка:

ip a

Network Scripts

Перейдіть у каталог конфігурацій:

cd /etc/sysconfig/network-scripts/

Зробіть копію для alias:

cp ifcfg-eth0 ifcfg-eth0:0

Відредагуйте 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"}

psget-net

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

Get-NetAdapter

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"

get-Net

Додавання IP через графічний інтерфейс

  1. Відкрийте «Пуск» → «Параметри» → «Мережа та Інтернет»

    windows interface1

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

    windows interface2

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

    windows interface3

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

    windows interface4

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

    windows interface5

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

    windows interface6

Перевірка роботи

Увага: команди для перевірки пінгу (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