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 добавлен.
С помощью графического интерфейса пользователя
- Перейдите Start > Control Panel > Network and Internet > Network and Sharing Centre > Change Adapter Settings (в левом меню).
- Нажмите правой кнопкой мыши на Local Area Connection.
- Нажмите Properties.
- Выберите Internet Protocol Version 4 (TCP/IPv4), затем нажмите Properties.
- Нажмите 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-адрес по-прежнему не доступен, сообщите об этом в нашу службу поддержки, создав запрос в Личном кабинете.