---
title: "Добавление дополнительного IP на Linux-сервер"
description: "Добавление дополнительных IP-адресов на серверы с UNIX-подобными ОС. Документация и инструкции по использованию и настройке облачных серверов Timeweb Cloud."
---

> Полный индекс документации для ИИ-агентов: [llms.txt](https://timeweb.cloud/llms.txt).

> [!NOTE]
> Это инструкция для серверов с операционными системами Linux. Если вы используете сервер с ОС Windows, воспользуйтесь [этой статьей](https://timeweb.cloud/docs/windows-guides/adding-ip-addresses).

Чтобы добавить на сервер дополнительный IP-адрес, сначала добавьте его в панели управления:

-   [для VDS](https://timeweb.cloud/docs/cloud-servers/manage-servers/network#dopolnitelnye-ip-adresa);
    
-   [для выделенных серверов](https://timeweb.cloud/docs/dedicated/adding-ip).
    

После этого настройте IP-адрес внутри сервера — по инструкции ниже.

По этой же инструкции вы можете настроить **статический адрес** для сервера; в этом случае при настройке вместо дополнительного IP указывайте основной IP-адрес сервера.

В качестве примера в этой инструкции мы будем использовать адреса:

-   `192.0.2.70`
    
-   `198.51.100.12`
    
-   `2001:db8:a:a::a`
    
-   `2001:db8:b:b::b`
    

Кроме самих адресов также потребуется указать маску сети, шлюз и название интерфейса.

-   **Маска сети**. Для IPv4-адресов указывайте `/24`, а для IPv6 — `/128` (или `/64`). В статье мы будем использовать `192.0.2.70/24` и `2001:db8:a:a::a/128`.
    
-   **Шлюз**. Для IPv4 используйте первый адрес в сети: например, для `192.0.2.70/24` шлюзом будет `192.0.2.1`.
    
    Для IPv6 используйте первый адрес в сети `/64`: возьмите первые четыре хекстета адреса и добавьте `::1`. Например, для `2001:db8:a:a::a` шлюзом будет `2001:db8:a:a::1`.
    
    Не заменяйте только последний хекстет IPv6-адреса. Например, для `2a03:6f00:a::2:866` шлюз — `2a03:6f00:a::1`, а не `2a03:6f00:a::2:1`.
    
-   **Интерфейс**. В зависимости от дистрибутива название интерфейса будет отличаться. Например, это могут быть `eth0` или `ens3`. Проверить имя интерфейса на своем сервере можно командой `ip addr`. 
    

Чтобы настроить IP-адрес на сервере, [подключитесь к нему по SSH](https://timeweb.cloud/docs/unix-guides/ssh). В статье будут указаны команды, которые нужно выполнить в консоли. 

Если во время настройки что-то пойдет не так и на сервере пропадет интернет, вы не сможете подключиться к нему удаленно по SSH. В этом случае вы можете использовать консоль в панели управления: для VDS — [консоль сервера](https://timeweb.cloud/docs/cloud-servers/manage-servers/console), для выделенного сервера — [IPMI](https://timeweb.cloud/docs/dedicated/using-ipmi). В консоли можно продолжить настройку или временно настроить интернет утилитой ip.

## Временная настройка

Если вам нужно настроить сеть временно, вы можете использовать утилиту `ip`. Все изменения пропадут после перезагрузки сервера.

Проверьте, какие адреса уже добавлены на интерфейс:

```shell
ip addr
```

Добавьте нужные адреса командой ниже, указав верное значение IP. Для IPv4:

```shell
ip addr add 192.0.2.70/24 dev eth0
```

Для IPv6:

```shell
ip addr add 2001:db8:a:a::a/128 dev eth0
```

Проверьте, какой IPv4-адрес указан в качестве шлюза по умолчанию:

```shell
ip route show default
```

Посмотреть шлюз для IPv6 можно так:

```shell
ip -6 route show default
```

Если шлюза нет, добавьте его этой командой:

```shell
ip route add default via 192.0.2.1 dev eth0
```

Для IPv6:

```shell
ip route add default via 2001:db8:a:a::1 dev eth0 onlink
```

## Постоянная настройка

Чтобы изменения сохранились в конфигурации сервера и не сбросились при перезагрузке, используйте инструкции ниже.

> [!NOTE]
> При добавлении дополнительного IP-адреса основной IP-адрес должен остаться в конфигурации сетевого интерфейса. Укажите все адреса, которые должны быть назначены серверу: основной и дополнительные.

Ubuntu

Ubuntu использует [netplan](https://netplan.readthedocs.io/en/stable/) для сетевых настроек, все конфигурационные файлы находятся в `/etc/netplan/` и называются произвольно. Своим файлам вы тоже можете выбрать произвольные названия, но они должны иметь расширение `.yaml`.

В файлах формата YAML важно выставлять одинаковые отступы пробелами, табуляция не допускается. С помощью отступов вы указываете вложенность конфигурации, например, что настройка маршрутов `routes` вложена в настройки интерфейса `eth0`.

После выполнения этой инструкции у вас будет два файла: для IPv4 и IPv6. Вы можете держать их вместе одновременно без конфликтов, потому что `netplan` объединит их в одну конфигурацию.

Посмотреть на объединенную конфигурацию можно этой командой:

```shell
netplan get
```

Вот пример вывода команды, который получится, если следовать каждому пункту в этой инструкции:

```yml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      addresses:
        - "192.0.2.70/24"
        - "198.51.100.12/24"
        - "2001:db8:a:a::a/128"
        - "2001:db8:b:b::b/128"
      nameservers:
        addresses:
          - "1.1.1.1"
          - "1.0.0.1"
          - "2606:4700:4700::1111"
          - "2606:4700:4700::1001"
      dhcp4: false
      dhcp6: false
      accept-ra: false
      routes:
        - to: "0.0.0.0/0"
          via: "192.0.2.1"
        - to: "::/0"
          via: "2001:db8:a:a::1"
          on-link: true
```

В этой конфигурации название интерфейса `eth0` на некоторых версиях Ubuntu придется поменять. Проверьте имя интерфейса на своем сервере этой командой:

```shell
ip addr
```

### Настройка IPv4 в Ubuntu

Создайте файл `/etc/netplan/99-ipv4.yaml`:

```shell
nano /etc/netplan/99-ipv4.yaml
```

Скопируйте эти строки, заменив адреса (`addresses`) и шлюз (`via`) на нужные значения:

```yml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: false
      addresses:
        - "192.0.2.70/24"
        - "198.51.100.12/24"
      routes:
        - to: "0.0.0.0/0"
          via: "192.0.2.1"
      nameservers:
        addresses:
          - "1.1.1.1"
          - "1.0.0.1"
```

Закройте права на чтение этого файла всем, кроме `root`:

```shell
chmod 600 /etc/netplan/99-ipv4.yaml
```

### Настройка IPv6 в Ubuntu

Создайте файл `/etc/netplan/99-ipv6.yaml`:

```shell
nano /etc/netplan/99-ipv6.yaml
```

Скопируйте эти строки, заменив адреса (`addresses`) и шлюз (`via`) на нужные значения:

```
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      accept-ra: false
      dhcp6: false
      addresses:
        - "2001:db8:a:a::a/128"
        - "2001:db8:b:b::b/128"
      routes:
        - to: "::/0"
          via: "2001:db8:a:a::1"
          on-link: true
      nameservers:
        addresses:
          - "2606:4700:4700::1111"
          - "2606:4700:4700::1001"
```

Закройте права на чтение этого файла всем, кроме `root`:

```shell
chmod 600 /etc/netplan/99-ipv6.yaml
```

Отключите `dhclient6` из автозагрузки. В Ubuntu 22.04 и более ранних версиях выполните:

```shell
systemctl disable dhclient6.service
```

В Ubuntu 24.04 и 26.04:

```bash
systemctl disable dhcpcd6.service
```

Примените конфигурацию `systemd`:

```shell
systemctl daemon-reload
```

### Отключение прошлых настроек в Ubuntu

Проверьте директорию `/etc/netplan/`, в ней могут быть другие настройки интерфейсов, которые будут конфликтовать с вашими. На чистой установке будет файл `50-cloud-init.yaml`, остальные можно проверить этой командой:

```shell
ls -a /etc/netplan/
```

Переименуйте файл `/etc/netplan/50-cloud-init.yaml`, главное — чтобы он не заканчивался на `.yaml`:

```shell
mv /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml-backup-$(date +"%Y%m%d")
```

Повторите это со всеми файлами, кроме `99-ipv4.yaml` и `99-ipv6.yaml`, если они есть.

В старых версиях Ubuntu также могут быть файлы `01-netcfg.yaml` или `00-installer-config.yaml`, их тоже нужно переименовать:

```shell
mv /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml-backup-$(date +"%Y%m%d")
mv /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml-backup-$(date +"%Y%m%d")
```

Чтобы `cloud-init` больше не создавал свой файл после перезагрузки сервера, создайте файл `/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg`:

```shell
nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
```

И пропишите в нем эту строку:

```shell
network: {config: disabled}
```

### Прослушивание адреса в Ubuntu

После перезагрузки сервера адрес может не успеть добавиться, когда другие службы захотят его прослушивать. Поэтому разрешаем `bind` на адреса, которых нет на интерфейсе.

Откройте файл `/etc/sysctl.conf`:

```shell
nano /etc/sysctl.conf
```

Допишите в него эти строки:

```shell
net.ipv4.ip_nonlocal_bind = 1
net.ipv6.ip_nonlocal_bind = 1
```

Перезагрузите конфигурацию `sysctl`:

```shell
sysctl -p /etc/sysctl.conf
```

### Применение настроек в Ubuntu

Примените конфиг `netplan`:

```shell
netplan --debug apply
```

Проверьте, что адреса добавились на интерфейс:

```shell
ip addr
```

После этого рекомендуем перезагрузить сервер и проверить, что адреса работают верно.

Debian/Astra

> [!NOTE]
> Начиная с Debian 12, для настройки сети используется Netplan. Если вы работаете с этой версией, воспользуйтесь инструкцией для Ubuntu.

Debian и Astra Linux используют файл [/etc/network/interfaces](https://wiki.debian.org/NetworkConfiguration) для сетевых настроек.

Вот пример итоговой конфигурации, если следовать каждому пункту в этой инструкции:

```shell
auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
	address 192.0.2.70/24
	gateway 192.0.2.1
	post-up ip addr add 198.51.100.12/24 dev eth0
	pre-down ip addr del 198.51.100.12/24 dev eth0

auto eth0
allow-hotplug eth0
iface eth0 inet6 static
	address 2001:db8:a:a::a/128
	gateway 2001:db8:a:a::1
	post-up ip addr add 2001:db8:b:b::b/128 dev eth0
	pre-down ip addr del 2001:db8:b:b::b/128 dev eth0
```

### Настройка IPv4

Откройте файл `/etc/network/interfaces`:

```shell
nano /etc/network/interfaces
```

Закомментируйте или удалите текущие настройки интерфейса `eth0`:

```shell
#allow-hotplug eth0
#iface eth0 inet dhcp
```

Добавьте следующие строки, заменив адреса и шлюз (`gateway`) на нужные значения:

```shell
auto eth0
allow-hotplug eth0
iface eth0 inet static
	address 192.0.2.70/24
	gateway 192.0.2.1
	post-up ip addr add 198.51.100.12/24 dev eth0
	pre-down ip addr del 198.51.100.12/24 dev eth0
```

### Настройка IPv6

Откройте файл `/etc/network/interfaces`:

```shell
nano /etc/network/interfaces
```

Добавьте в него следующие строки, заменив адреса и шлюз (`gateway`) на нужные значения:

```bash
auto eth0
allow-hotplug eth0
iface eth0 inet6 static
    address 2001:db8:a:a::a/128
    post-up ip addr add 2001:db8:b:b::b/128 dev eth0
    post-up ip -6 route replace default via 2001:db8:a:a::1 dev eth0 onlink
    pre-down ip addr del 2001:db8:b:b::b/128 dev eth0
    pre-down ip -6 route del default via 2001:db8:a:a::1 dev eth0 onlink
```

Отключите `dhclient6` из автозагрузки:

```shell
systemctl disable dhclient6.service
```

В некоторых образах служба DHCPv6 может называться `dhcpcd6.service`. Если `dhclient6.service` не найдена, проверьте наличие `dhcpcd6.service` и отключите ее.

Примените конфигурацию `systemd`:

```shell
systemctl daemon-reload
```

### Отключение прошлых настроек

Проверьте директорию `/etc/network/interfaces.d/`, в ней могут быть другие настройки интерфейсов, которые будут конфликтовать с вашими. На чистой установке будет файл `50-cloud-init`, остальные можно проверить этой командой:

```shell
ls -a /etc/network/interfaces.d/
```

Переместите `/etc/network/interfaces.d/50-cloud-init` в другую директорию, например, в `/root/`:

```shell
mv /etc/network/interfaces.d/50-cloud-init /root/50-cloud-init-backup-$(date +"%Y%m%d")
```

Чтобы `cloud-init` больше не создавал свой файл после перезагрузки сервера, создайте файл `/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg`:

```shell
nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
```

И добавьте в него эту строку:

```shell
network: {config: disabled}
```

### Прослушивание адреса

После перезагрузки сервера адрес может не успеть добавиться, когда другие службы захотят его прослушивать. Поэтому разрешаем `bind` на адреса, которых нет на интерфейсе.

Откройте файл `/etc/sysctl.conf`:

```shell
nano /etc/sysctl.conf
```

Допишите в него эти строки:

```shell
net.ipv4.ip_nonlocal_bind = 1
net.ipv6.ip_nonlocal_bind = 1
```

Перезагрузите конфигурацию `sysctl`:

```shell
sysctl -p /etc/sysctl.conf
```

### Применение настроек

Перезапустите службу `networking`:

```shell
systemctl restart networking.service
```

Проверьте, что адреса добавились на интерфейс:

```shell
ip addr
```

После этого рекомендуем перезагрузить сервер и проверить, что адреса работают верно.

CentOS/AlmaLinux

CentOS и AlmaLinux используют [NetworkManager](https://networkmanager.dev/) для сетевых настроек. Вместо редактирования конфигурационных файлов можно использовать утилиту `nmcli` или `nmtui`.

Перед выполнением команд из инструкции проверьте имя соединения:

```shell
nmcli connection show
```

Отсюда вам нужно значение `NAME` — в нашем случае это `ens3`, в следующих командах будет использоваться это имя:

```shell
NAME  UUID                                  TYPE      DEVICE
ens3  xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  ethernet  ens3
```

Чтобы не исправлять каждую команду в инструкции, вы можете временно переименовать соединение на `ens3`, а потом вернуть удобное имя. Например, если соединение называется `eth0`, команда будет выглядеть так:

```shell
nmcli connection modify eth0 connection.id ens3
```

В последних версиях CentOS `NetworkManager` сохраняет настройки в директорию `/etc/NetworkManager/system-connections/`. Раньше использовались [ifcfg](https://networkmanager.dev/docs/api/latest/nm-settings-ifcfg-rh.html)\-файлы в `/etc/sysconfig/network-scripts/`, но они [устарели](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/9.0_release_notes/deprecated_functionality#BZ-1894877) и скоро будут удалены.

Вот пример содержания итоговой конфигурации в `/etc/NetworkManager/system-connections/`, который получится, если следовать каждому пункту в этой инструкции:

```shell
[connection]
id=ens3
uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
type=ethernet
interface-name=ens3
timestamp=1719197216

[ethernet]

[ipv4]
address1=192.0.2.70/24,192.0.2.1
address2=198.51.100.12/24
dns=1.1.1.1;1.0.0.1;
method=manual

[ipv6]
addr-gen-mode=eui64
address1=2001:db8:a:a::a/128,2001:db8:a:a::1
address2=2001:db8:b:b::b/128
dns=2606:4700:4700::1111;2606:4700:4700::1001;
method=manual

[proxy]
```

### Настройка IPv4

Добавьте первый адрес к соединению:

```shell
nmcli connection modify ens3 ipv4.addresses 192.0.2.70/24
```

С помощью `+` перед `ipv4.addresses` можно добавить второй адрес:

```shell
nmcli connection modify ens3 +ipv4.addresses 198.51.100.12/24
```

Аналогично с помощью `-` перед `ipv4.addresses` можно удалить адрес, если вы ошиблись. Проверить все добавленные адреса можно этой командой:

```shell
nmcli connection show ens3 | grep addresses
```

Добавьте шлюз:

```shell
nmcli connection modify ens3 ipv4.gateway 192.0.2.1
```

Остальные команды можно просто скопировать. В них прописаны настройки DNS и указывается ручной способ конфигурации.

```shell
nmcli connection modify ens3 ipv4.dns 1.1.1.1
nmcli connection modify ens3 +ipv4.dns 1.0.0.1
nmcli connection modify ens3 ipv4.method manual
```

### Настройка IPv6

Конфигурация IPv6 выполняется по такому же принципу, как IPv4, только названия настроек теперь начинаются с `ipv6`.

Добавьте ваши адреса и шлюз:

```shell
nmcli connection modify ens3 ipv6.addresses 2001:db8:a:a::a/128
nmcli connection modify ens3 +ipv6.addresses 2001:db8:b:b::b/128
nmcli connection modify ens3 ipv6.gateway 2001:db8:a:a::1
```

После этого скопируйте эти команды:

```shell
nmcli connection modify ens3 ipv6.dns 2606:4700:4700::1111
nmcli connection modify ens3 +ipv6.dns 2606:4700:4700::1001
nmcli connection modify ens3 ipv6.method manual
```

### Отключение прошлых настроек

Проверьте директорию `/etc/sysconfig/network-scripts/`, в ней могут быть другие настройки интерфейсов, которые будут конфликтовать с вашими. На чистой установке будет файл `ifcfg-ens3`, созданный `cloud-init`. Остальные можно проверить этой командой:

```shell
ls -a /etc/sysconfig/network-scripts/
```

Проверьте, что `ifcfg-ens3` действительно создан `cloud-init`. Он должен начинаться со слов «Created by cloud-init on instance boot automatically»:

```shell
head /etc/sysconfig/network-scripts/ifcfg-ens3
```

Переместите `/etc/sysconfig/network-scripts/ifcfg-ens3` в другую директорию, например, в `/root/`:

```shell
mv /etc/sysconfig/network-scripts/ifcfg-ens3 /root/ifcfg-ens3-backup-$(date +"%Y%m%d")
```

Чтобы изменения сохранились после перезагрузки сервера, создайте файл `/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg`:

```shell
nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
```

И пропишите в нем эту строку:

```shell
network: {config: disabled}
```

### Прослушивание адреса

После перезагрузки сервера адрес может не успеть добавиться, когда другие службы захотят его прослушивать. Поэтому разрешаем `bind` на адреса, которых нет на интерфейсе.

Откройте файл `/etc/sysctl.conf`:

```shell
nano /etc/sysctl.conf
```

Допишите в него эти строки:

```shell
net.ipv4.ip_nonlocal_bind = 1
net.ipv6.ip_nonlocal_bind = 1
```

Перезагрузите конфигурацию `sysctl`:

```shell
sysctl -p /etc/sysctl.conf
```

### Применение настроек

Перезапустите службу `NetworkManager`:

```shell
systemctl restart NetworkManager.service
```

Проверьте, что адреса добавились на интерфейс:

```shell
ip addr
```

После этого рекомендуем перезагрузить сервер и проверить, что адреса работают верно.

BitrixVM

1.  В меню Битрикса выберите: _2\. Configure localhost settings - 3. Configure network interface manually_. 
    
2.  Укажите следующие параметры:
    

-   **Выберите сетевой интерфейс:** например, `ens3`.
    
-   **Enter IP address:** новый IP-адрес сервера (можно указать несколько через запятую, без пробелов). Например: `192.0.2.70`.
    
-   **Enter default gateway address:** шлюз по умолчанию. Например: `192.0.2.1`.
    
-   **Would you like to configure DNS server**: `y`.
    
-   **Enter DNS server address:** адрес DNS-сервера. Если указывается несколько серверов, разделяйте их пробелами. Например: `1.1.1.1 1.0.0.1`.
    

3.  Проверить введенные данные и дать согласие на изменение параметров сети сервера (Please confirm changes).
    
4.  Проверьте, что адреса добавились на интерфейс в меню BitrixVM или при помощи команды:
    

```shell
ip addr
```

После этого рекомендуем перезагрузить сервер и проверить, что адреса работают верно.

Arch Linux

В Arch Linux для настройки сети используется `systemd-networkd`. Все конфигурационные файлы располагаются в директории `/etc/systemd/network/` и должны иметь расширение `.network`.

Перед началом убедитесь, что службы `systemd-networkd` и `systemd-resolved` запущены и добавлены в автозагрузку:

```shell
sudo systemctl enable --now systemd-networkd.service
```

```shell
sudo systemctl enable --now systemd-resolved.service
```

### Определение имени сетевого интерфейса

Узнайте имя интерфейса с помощью команды:

```shell
ip a
```

Пример вывода:

```shell
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
	inet 198.51.100.12/24 ...
```

В нашем примере интерфейс называется `eth0`.

### Настройка IPv4

Создайте файл `/etc/systemd/network/10-static-ipv4.network`:

```shell
sudo nano /etc/systemd/network/10-static-ipv4.network
```

Скопируйте в него следующий шаблон, заменив IP-адреса и шлюз на свои значения:

```shell
[Match]
Name=eth0

[Network]
Address=198.51.100.12/24
Address=198.51.100.12/24
Gateway=192.0.2.1
DNS=1.1.1.1
DNS=1.0.0.1
DHCP=no
```

### Настройка IPv6

Создайте файл `/etc/systemd/network/20-static-ipv6.network`:

```shell
sudo nano /etc/systemd/network/20-static-ipv6.network
```

Вставьте настройки, заменив адреса и шлюз:

```bash
[Match]
Name=eth0

[Network]
Address=2001:db8:a:a::a/128
DNS=2606:4700:4700::1111
DNS=2606:4700:4700::1001
DHCP=no
IPv6AcceptRA=no

[Route]
Destination=::/0
Gateway=2001:db8:a:a::1
GatewayOnLink=yes
```

### Отключение старых конфигураций

Убедитесь, что в директории `/etc/systemd/network/` нет других активных конфигураций, которые могут конфликтовать с вашими. Например, файл `10-cloud-init-eth0.network`. Его можно переименовать:

```shell
sudo mv /etc/systemd/network/10-cloud-init-eth0.network /etc/systemd/network/10-cloud-init-eth0.network_old
```

### Настройте прослушивание адреса

После перезагрузки IP-адрес может не успеть привязаться к интерфейсу до запуска других служб. Чтобы разрешить `bind` на ещё не добавленные IP, создайте или отредактируйте файл `/etc/sysctl.d/99-nonlocal-bind.conf`:

```shell
sudo nano /etc/sysctl.d/99-nonlocal-bind.conf
```

Добавьте строки:

```shell
net.ipv4.ip_nonlocal_bind = 1
net.ipv6.ip_nonlocal_bind = 1
```

Примените конфигурацию:

```shell
sudo sysctl --system
```

### Применение настроек

Перезапустите `systemd-networkd`, чтобы применить конфигурацию:

```shell
sudo systemctl restart systemd-networkd
```

Проверьте, что адреса добавились:

```shell
ip a
```

После этого рекомендуем перезагрузить сервер и проверить, что адреса работают верно.

Теперь интерфейс должен быть настроен, и IP-адреса — как IPv4, так и IPv6 — привязаны к нему. Рекомендуется перезагрузить сервер и убедиться, что конфигурация работает корректно после старта.
