IP aliasing – специальная конфигурация сети, которая позволяет связать несколько IP адресов в один сетевой интерфейс.

Далее будут предоставлены инструкции по настройке для наиболее часто используемых дистрибутивов/операционных систем.

Что касается текущих дистрибутивов, обратите внимание, что правильная процедура настройки сетевого интерфейса может быть изменена. Рекомендуем ознакомиться с официальными руководствами соответствующих версий ОС, если у вас возникнут какие-либо трудности в настройке.

Debian 6/7/8

1 Создание резевной версии конфигурационного файла

Делаем копию конфигурационного файла сети (для восстановления настроек в случае проблем):

# cp /etc/network/interfaces /etc/network/interfaces.bak
2 Редактирование конфигурации
Обратите внимание, что имена сетевых интерфейсов в наших примерах могут отличаться от ваших.

Открываем файл:

# nano /etc/network/interfaces

Добавляем второй интерфейс eth0:0:

auto eth0:0
iface eth0:0 inet static
address ADDITIONAL_IP
netmask 255.255.255.255
# post-up /sbin/ifconfig eth0:0 ADDITIONAL_IP netmask 255.255.255.255 broadcast ADDITIONAL_IP
# pre-down /sbin/ifconfig eth0:0 down
 

Если вам нужно настроить два дополнительных IP-адреса, файл /etc/network/interfaces должен иметь следующий вид:

auto eth0
iface eth0 inet static
address SERVER_IP
netmask 255.255.255.0
broadcast xxx.xxx.xxx.255
gateway xxx.xxx.xxx.254

auto eth0:0
iface eth0:0 inet static
address ADDITIONAL_IP 1
netmask 255.255.255.255

auto eth0:1
iface eth0:1 inet static
address ADDITIONAL_IP 2
netmask 255.255.255.255

Или так:

auto eth0
iface eth0 inet static
address SERVER_IP
netmask 255.255.255.0
broadcast xxx.xxx.xxx.255
gateway xxx.xxx.xxx.254

# ADDITIONAL_IP 1
post-up /sbin/ifconfig eth0:0 FAILOVER_IP1 netmask 255.255.255.255 broadcast ADDITIONAL_IP 1
pre-down /sbin/ifconfig eth0:0 down

# ADDITIONAL_IP 2
post-up /sbin/ifconfig eth0:1 FAILOVER_IP2 netmask 255.255.255.255 broadcast ADDITIONAL_IP 2
pre-down /sbin/ifconfig eth0:1 down
3 Перезагрузка интерфейса
# /etc/init.d/networking restart

Debian 9+, Ubuntu 17.04, Fedora 26+ and Arch Linux

В этих дистрибутивах имена интерфейсов как eth0, eth1 (и т. д.) отменены. Поэтому мы будем использовать systemd-network для настройки.

1 Создание резервной копии конфигурационного файла

Делаем копию конфигурационного файла сети (для восстановления настроек в случае проблем):

# cp /etc/systemd/network/50-default.network /etc/systemd/network/50-default.network.bak
2 Редактируем

Добавляем дополнительный IP как показано ниже:

# nano /etc/systemd/network/50-default.network
[Address]
Address=ADDITIONAL_IP/32
Label=ADDITIONAL_IP # optional

Строка Label=ADDITIONAL_IP # optional — не является обязательной для заполнения. А предназначена, чтобы различать дополнительные IP-адреса.

3 Перезагрузка интерфейса
# systemctl restart systemd-networkd

Ubuntu 17.10 и выше

Каждый дополнительный IP-адрес нужно указывать отдельной строкой в конфигурационном файле «50-cloud-init.yaml» в /etс /netplan.

1 Определяем интерфейс
# ifconfig

Обратите внимание на имя интерфейса и его MAC-адрес.

2 Создание конфигурационного файла
# nano /etc/netplan/50-cloud-init.yaml

Затем отредактируйте файл как показано ниже, заменив INTERFACE_NAME, MAC_ADDRESS и ADDITIONAL_IP на ваши:

network:
    version: 2
    ethernets:
        INTERFACE_NAME:
            dhcp4: true
            match:
                macaddress: MAC_ADDRESS
            set-name: INTERFACE_NAME
            addresses:
            - ADDITIONAL_IP/32

Сохраните файл.

Для проверки конфигурации выполните команду:

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

Для применения настроек выполните следующую команду:

# netplan apply

CentOS and Fedora (25 и версии ниже)

1 Создание конфигурационного файла

Создайте копию исходного файла, чтобы использовать его в качестве шаблона:

# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0
2 Редактирование 

Редактируем файл eth0:0:

# nano /etc/sysconfig/network-scripts/ifcfg-eth0:0

Замените имя устройства device, и существующий IP на дополнительный:

DEVICE="eth0:0"
ONBOOT="yes"
BOOTPROTO="none" # For CentOS use "static"
IPADDR="ADDITIONAL_IP"
NETMASK="255.255.255.255"
BROADCAST="ADDITIONAL_IP"
3 Запускаем alias интерфейса
# ifup eth0:0

Gentoo

1 Создание резервной копии

Создадим резервную копию конфигурационного файла:

# cp /etc/conf.d/net /etc/conf.d/net.bak
2 Редактирование

Теперь нужно отредактировать файл, чтобы добавить дополнительный IP. В Gentoo псевдоним добавляется непосредственно в интерфейс eth0. Вам не нужно создавать интерфейс eth0:0, как в других дистрибутивах.

IP-адрес сервера и config_eth0= должны оставаться в одной строке.

Все, что вам нужно сделать, это добавить пробел в строке после маски 255.255.255.0 и добавить дополнительный IP-адрес (SERVER_IP должен быть заменен основным IP-адресом вашего сервера).

# nano /etc/conf.d/net

Файл должен иметь следующий вид:

config_eth0=( "SERVER_IP netmask 255.255.255.0" "ADDITIONAL_IP netmask 255.255.255.255 brd ADDITIONAL_IP" )

Файл /etc/conf.d/net должен иметь вид:

#This blank configuration will automatically use DHCP for any net.
# scripts in /etc/init.d. To create a more complete configuration,
# please review /etc/conf.d/net.example and save your configuration
# in /etc/conf.d/net (this file :]!).
config_eth0=( "SERVER_IP netmask 255.255.255.0"
"ADDITIONAL_IP netmask 255.255.255.255 brd ADDITIONAL_IP" )
routes_eth0=( "default gw SERVER_IP.254" )

Для применения настроек перезагрузите сетевой интерфейс

# /etc/init.d/net.eth0 restart

openSUSE

1 Cоздание резервной копии конфигурационного файла
# cp /etc/sysconfig/network/ifcfg-ens32 /etc/sysconfig/network/ifcfg-ens32.bak
2 Редактирование конфигурационного файла

Oткрываем файл:

# nano /etc/sysconfig/network/ifcfg-ens32

Приводим его к следующему виду:

IPADDR_1=ADDITIONAL_IP
NETMASK_1=255.255.255.255
LABEL_1=ens32:0

Для применения настроек перезагрузите сервер.

cPanel (on CentOS 6)

1 Создание резервной копии конфигурационного файла
# cp /etc/ips /etc/ips.bak
2 Редактирование конфигурационного файла
# nano editor /etc/ips

Добавьте дополнительный IP:

ADDITIONAL_IP:255.255.255.255:ADDITIONAL_IP

Далее, добавьте дополнительный IP в файл /etc/ipaddrpool:

ADDITIONAL_IP

3 Перезагрузка интерфейса
# /etc/init.d/ipaliases restart

Windows Servers

На серверах Windows зачастую используют динамическую конфигурацию сети — DHCP. Если вы уже установили дополнительный IP-адрес или переключили свою конфигурацию на статическую, перейдите непосредственно к следующему шагу.

В противном случае необходимо сначала переключиться с конфигурации DHCP на статическую с фиксированным IP.

Откройте командную строку cmd или powershell, затем введите следующую команду:

ipconfig /all

Вы получите следующий результат, например:

Определите и запишите свой IPv4, маску подсети, шлюз по умолчанию и имя контроллера сетевого интерфейса (сетевой адаптер).

В нашем примере, основной IP-адрес сервера — 94.23.229.151.

Вы можете выполнить следующие шаги через интерфейс командной строки или графический интерфейс пользователя.

В приведенных ниже командах вам необходимо заменить:

CommandЗначение
NETWORK_ADAPTERИмя сетевого интерфейса (в нашем примере: Local Area Connection)
IP_ADDRESSОсновной IP-адрес сервера (в нашем примере: 94.23.229.151)
SUBNET_MASKМаска подсети (в нашем примере: 255.255.255.0)
GATEWAYШлюз (в нашем примере: 94.23.229.254)
ADDITIONAL_IPДополнительный IP-адрес который вы желаете добавить
Будьте осторожны - сервер больше не будет доступен, если вы введете неверную информацию. Затем вам нужно будет внести исправления в режиме Winrescue или через KVM.
Настройки через командную строку

Переключение на статическую конфигурацию сети:

netsh interface ipv4 set address name="NETWORK_ADAPTER" static IP_ADDRESS SUBNET_MASK GATEWAY

Установка DNS сервера:

netsh interface ipv4 set dns name="NETWORK_ADAPTER" static 213.186.33.99

Добавление дополнительного IP:

netsh interface ipv4 add address "NETWORK_ADAPTER" ADDITIONAL_IP 255.255.255.255

Дополнительный IP добавлен.

С помощью графического интерфейса пользователя
  1. Перейдите Start > Control Panel  > Network and Internet > Network and Sharing Centre >  Change Adapter Settings (в левом меню).
  2. Нажмите правой кнопкой мыши на Local Area Connection.
  3. Нажмите Properties.
  4. Выберите Internet Protocol Version 4 (TCP/IPv4), затем нажмите Properties.
  5. Нажмите Use the following IP address и введите основной IP вашего сервера, маску подсети и шлюз. Данная информация была получена полученная с помощью команды ipconfig выше. В поле “Preferred DNS Server” введите 213.186.33.99.

Будьте осторожны - сервер больше не будет доступен, если вы введете неверную информацию. Затем вам нужно будет внести исправления в режиме Winrescue или через KVM.

Затем нажмите Advanced (в настройках TCP/IP Settings).

В разделе IP Address, нажмите Add:

Введите дополнительный IP и маску подсети 255.255.255.255

Нажмите Add.

Дополнительный IP добавлен.

FreeBSD

1 Определение интрефейса

Определите имя вашего основного сетевого интерфейса. Для этого вы можете использовать команду ifconfig:

# ifconfig

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

ifconfig
>>> nfe0: flags=8843 metric 0 mtu 1500
>>> options=10b
>>> ether 00:24:8c:d7:ba:11
>>> inet 94.23.196.18 netmask 0xffffff00 broadcast 94.23.196.255
>>> inet 87.98.129.74 netmask 0xffffffff broadcast 87.98.129.74
>>> media: Ethernet autoselect (100baseTX )
>>> status: active
>>> lo0: flags=8049 metric 0 mtu 16384
>>> options=3
>>> inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
>>> inet6 ::1 prefixlen 128
>>> inet 127.0.0.1 netmask 0xff000000 v comsdvt#

В нашем примере имя интерфейса nfe0.

2 Создание резервной копии конфигурационного файла
# cp /etc/rc.conf /etc/rc.conf.bak
3 Редактирование конфигурационного файла

Редактируем файл /etc/rc.conf:

# nano /etc/rc.conf

Затем добавьте эту строку в конец файла:

ifconfig_INTERFACE_alias0=”inet ADDITIONAL_IP netmask 255.255.255.255 broadcast ADDITIONAL_IP”.

Замените имя интерфейса и укажите дополнительный IP который желаете добавить. Например:

# ifconfig_nfe0_alias0="inet 87.98.129.74 netmask 255.255.255.255 broadcast 87.98.129.74"
4 Перезагрузка интерфейса
# /etc/rc.d/netif restart && /etc/rc.d/routing restart

Solaris

1 Определение интерфейса

Определите имя вашего основного сетевого интерфейса. Для этого вы можете использовать команду ifconfig:

# ifconfig -a

Команда вернем примерно следующий результат:

ifconfig -a
lo0:     flags=2001000849 mtu 8232 index 1 
         inet 127.0.0.1 netmask ff000000 
e1000g0: flags=1000843 mtu 1500 index 2 
         inet 94.23.41.167 netmask ffffff00 broadcast 94.23.41.255 
         ether 0:1c:c0:f2:be:42

Таким образом, в нашем примере имя интерфейса e1000g0.

2 Создание конфигурационного файла
# nano /etc/hostname.e1000g0:1

Добавьте в файл: ADDITIONAL_IP/32 up, где ADDITIONAL_IP — дополнительный IP. Например:

188.165.171.40/32 up
3 Перезагрузка интерфейса
# svcadm restart svc:/network/physical:default

Устранение неисправностей

Если вы не можете установить соединение из общедоступной сети с IP-адресом и подозреваете проблему с сетью, перезагрузите сервер в режим восстановления и настройте IP непосредственно на сервере.

Для этого после перезагрузки сервера в режиме восстановления введите следующую команду:

# ifconfig eth0:0 ADDITIONAL_IP netmask 255.255.255.255 broadcast ADDITIONAL_IP up

Замените ADDITIONAL_IP  на ваш дополнительный IP.

Если, IP-адрес по-прежнему не доступен, сообщите об этом в нашу службу поддержки, создав запрос в Личном кабинете.