Как настроить дополнительные IPv4-адреса для выделенных серверов?
Что такое IP адрес?
IPv4 адрес (Internet Protocol version 4) - это необходимая часть для IP коммуникации. Каждому хосту присвоен свой уникальный номер IP адреса, например, 10.10.0.254, который разрешает коммуникацию участникам для распознавания друг друга.
Что такое шлюз по умолчанию и сетевой адрес?
Шлюз по умолчанию это сетевое устройство, которое отправляет пакет данных с одной интернет локации к другой как точка перехода. Чтобы шлюз по умолчанию мог подключаться к внешней сети, необходимо установить адрес шлюза по умолчанию, IP-адрес и маску подсети. Это важные части конфигурации сети TCP / IP.
Устройство без указанного адреса шлюза по умолчанию может обмениваться пакетами только в локальной сети. Шлюз отправляет и принимает пакеты выбранных протоколов, адресованные самому себе, например IPv4 и интерпретирует их. Затем он становится промежуточным сервером, необходимым, например, для защиты от внешних сетей.
Следовательно, чтобы правильно настроить дополнительные IP-адреса, необходимо различать IP-адреса с общим шлюзом и другие:
С общим шлюзом (другой класс) - когда адрес шлюза вторичного IP-адреса совпадает с адресом шлюза выделенного сервера.
Адрес шлюза первичного IP-адреса: 95.214.53.1
Адрес шлюза вторичного IP-адреса: 95.214.53.1
С другим шлюзом (другой класс) - когда адрес шлюза вторичного IP-адреса отличается от адреса шлюза выделенного сервера.
Адрес шлюза первичного IP-адреса: 95.214.53.1
Адрес шлюза вторичного IP-адреса: 91.223.3.129
Что такое маска подсети?
С помощью маски подсети вы можете определить, какая часть IP-адреса является адресом сети и подсети, а какая часть - адресом машины, участвующей в обмене данными в этой подсети.
Маска подсети - это 32-битное число, состоящее из 0 и 1. Однако чаще оно записывается в 8-битных версиях, десятичных и разделенных точками, например 255.255.255.128
Все маршрутизаторы (роутеры) и компьютеры в данной подсети должны знать значение маски. Сравнение маски подсети с индивидуальным IP-адресом сообщает маршрутизатору, какая часть адреса идентифицирует подсеть, и часть, которая идентифицирует устройство, которому назначен адрес.
Сокращенное обозначение маски, определяющее количество начальных битов со значением 1, выглядит так: 185.16.37.46/24
Subnet mask | Abbreviated notation |
---|---|
255.255.252.0 | /22 |
255.255.254.0 | /23 |
255.255.255.0 | /24 |
255.255.255.128 | /25 |
255.255.255.192 | /26 |
255.255.255.224 | /27 |
255.255.255.240 | /28 |
255.255.255.248 | /29 |
255.255.255.252 | /30 |
255.255.255.254 | /31 |
255.255.255.255 | /32 |
Добавление купленного IPv4-адреса в выделенный сервер с общего шлюза.
Для систем: Debian 8/9/10, Ubuntu 16/18
Все детали на тему полученного IP-адреса: адрес, шлюз, маска и MAC адрес Вы можете найти на панели Mevspace на вкладке “Выделенный сервер”.
Сверху приложена фотография с информацией о проводимых через клиента IPv4 в панели Mevspace (ранее Skynode) с тем же сетевым шлюзом.
ip addr add <ip address>/<subnet mask, e.g. 25> dev <interface, to whichaddress you want to add, e.g. eth0>
Пример:
ip addr add 172.20.0.10/25 dev eth0
AВнимание: Для данного руководства использовались адреса из приватного класса. Этот способ работает только с операционными системами Debian 8/9/10, Ubuntu 16/18.
/etc/network/interfaces
:
post-up ip addr add <ip address>/<subnet mask e.g. 25> dev <interface, towhich you want to add the address to, e.g. eth0>
Пример:
post-up ip addr add 172.20.0.10/25 dev eth0
/etc/network/interfaces
файла:
auto eth0iface eth0 inet staticaddress 172.20.0.5netmask 255.255.255.128gateway 172.20.0.1post-up ip addr add 172.20.0.10/25 dev eth0
Готово! Твой адрес IPv4 настроен.
Добавление приобретенного IPv4-адреса на выделенный сервер с другим шлюзом.
Для систем - Debian 8/9/10, Ubuntu 16/18
В случае когда дополнительный IP-адрес имеет другой шлюз, нежели изначальный шлюз необходимо добавить дополнительную таблицу маршрутизации, как показано на картинке ниже:
Если адрес шлюза дополнительного IP-адреса отличается от адреса шлюза выделенного сервера, необходимо добавить таблицу маршрутизации.
ip addr add <ip address>/<subnet mask, e.g. 25> dev <interface, to whichaddress you want to add, e.g. eth0>
Например:
ip addr add 172.20.0.10/25 dev eth0
echo "id_table name_table" >> /etc/iproute2/rt_tables
Например:
echo "100 additional_ip" >> /etc/iproute2/rt_tables
Внимание: В случае если у Вас есть различные сетевые шлюзы с дополнительными IP-адресами, Вы должны повторить действие по добавлению таблиц маршрутизации столько раз, сколько IP-адресов с разными сетевыми шлюзами у Вас есть. Если сетевые шлюзы идентичны для нескольких адресов, Вам следует создать таблицы маршрутизации только один раз для каждого шлюза. Имена таблиц должны быть разными для каждого уникального шлюза.
ip route add default via <gateway address> table <gateway_name>
Например:
ip route add default via 172.20.0.129 table additional_ip
ip rule add from <ip address>/32 table <table_name>
Например:
ip rule add from 172.20.0.10/32 table additional_ip
Внимание: Вам следует раздельно добавить каждый дополнительный IP-адрес в таблицу маршрутизации с соответствующим ему шлюзом.
/etc/network/interfaces
:
post-up ip rule add from <ip address>/32 table additional_ippost-up ip route add default via <gateway address> table <table_name>post-up ip addr add <ip address>/<mask, e.g. 25> dev <interface, to whichaddress you want to add, e.g. eth0>
Например:
post-up ip rule add from 172.20.0.10/32 table additional_ippost-up ip route add default via 172.20.0.129 table additional_ippost-up ip addr add 172.20.0.10/25 dev eth0
/etc/network/interfaces
:
auto eth0iface eth0 inet staticaddress 172.20.0.5netmask 255.255.255.128gateway 172.20.0.1post-up ip addr add 172.20.0.10/25 dev eth0post-up ip rule add from 172.20.0.10/32 table additional_ippost-up ip route add default via 172.20.0.129 table additional_ip
Готово! Теперь Ваш IPv4-адрес настроен.
Добавление приобретенного IPv4-адреса на выделенный сервер с общим шлюзом для CentOS.
Для систем: CentOS 7/8
Все данные на тему полученного адреса: адрес, шлюз, маска и MAC адрес расположены на панели Mevspace (ранее Skynode) на вкладке “Выделенные сервера”.
Выше приведен образец изображения с информацией об IPv4 клиента на панели Mevspace (ранее Skynode) с тем же сетевым шлюзом.
ip addr add <ip address>/<subnet mask, e.g. 25> dev <interface, to whichaddress you want to add, e.g. eth0>
Например:
ip addr add 172.20.0.10/25 dev eth0
Внимание: Для данного руководства использовались адреса из приватного класса.
nano /etc/sysconfig/network-scripts/ifcfg-eth0:<id of virtual interface>
Например:
/etc/sysconfig/network-scripts/ifcfg-eth0:<id of virtual interface>
Вставить:
DEVICE=eth0:<id of virtual interface>BOOTPROTO=staticONBOOT=yesNM_CONTROLLED=noIPADDR=<ip address>NETMASK=<subnet mask>
Например:
DEVICE=eth0:0BOOTPROTO=staticONBOOT=yesNM_CONTROLLED=noIPADDR=172.20.0.10NETMASK=255.255.255.128
Сохраните файл и выйдите из его: CTRL + O
, Enter
, CTRL + X
.
Готово! Ваш IPv4 адрес настроен.
Добавление дополнительно приобретенного IPv4-адреса на выделенный сервер с другим шлюзом для CentOS.
Для системы - CentOS 7/8
В случае когда дополнительный IP-адрес имеет другой шлюз, чем шлюз основного IP-адреса выделенного сервера, как показано на изображении ниже:
Выше представлено изображение с информацией о клиентах IPv4 c разными сетевыми шлюзами.
Если адрес шлюза дополнительного IP-адреса отличается от адреса шлюза выделенного сервера, вам необходимо добавить дополнительную таблицу маршрутизации.
sudo yum install NetworkManager-config-routing-rulessudo systemctl enable NetworkManager-dispatcher.servicesudo systemctl start NetworkManager-dispatcher.service
ip addr <ip address>/<subnet mask, e.g. 25> dev <interface, to whichaddress you want to add, e.g. eth0>
Например:
ip addr add 172.20.0.10/25 dev eth0
Внимание: Для данного руководства использовались адреса из приватного класса.
echo "id_table table_name" >> /etc/iproute2/rt_tables
Например:
echo "100 additional_ip" >> /etc/iproute2/rt_tables
Внимание: В случае если у Вас есть различные сетевые шлюзы с дополнительными IP-адресами, Вы должны повторить действие по добавлению таблиц маршрутизации столько раз, сколько IP-адресов с разными сетевыми шлюзами у Вас есть. Если сетевые шлюзы идентичны для нескольких адресов, Вам следует создать таблицы маршрутизации только один раз для каждого шлюза. Имена таблиц должны быть разными для каждого уникального шлюза.
nano /etc/sysconfig/network-scripts/ifcfg-eth0:<id of virtual interface>
Например:
/etc/sysconfig/network-scripts/ifcfg-eth0:0
Вставьте:
DEVICE=eth0:<id of virtual interface>BOOTPROTO=staticONBOOT=yesNM_CONTROLLED=noIPADDR=<ip address>NETMASK=<subnet mask>
Например:
DEVICE=eth0:0BOOTPROTO=staticONBOOT=yesNM_CONTROLLED=noIPADDR=172.20.0.10NETMASK=255.255.255.128
Сохраните файл и выйдите: CTRL + O
, Enter
, CTRL + X
.
nano /etc/sysconfig/network-scripts/route-<network interface name>
Например:
nano /etc/sysconfig/network-scripts/route-eth0
Внимание: IP-маршруты должны быть помещены в файл route-eth0 (основная конфигурация интерфейса), а не в отдельные файлы конфигурации для псевдонимов (route-eth0:0 не является допустимым файлом конфигурации).
default via <gateway address of secondary IP address> table <name ofrouting table we created>
Например:
default via 172.20.0.129 table additional_ip
Внимание: Добавьте каждый сетевой адрес шлюза в отдельные строки.
nano /etc/sysconfig/network-scripts/rule-<network interface name>
Например:
nano /etc/sysconfig/network-scripts/rule-eth0
Внимание: IP-маршруты должны быть помещены в файл route-eth0 (основная конфигурация интерфейса), а не в отдельные файлы конфигурации для псевдонимов (route-eth0:0 не является допустимым файлом конфигурации).
from <additional IP address> table <routing table, to which we want toadd address>
Например:
from 172.20.0.10 table additional_ip
Внимание: Вы должны добавить каждый дополнительный IP-адрес в таблицу маршрутизации отдельно с соответствующим шлюзом для него, в отдельных строках.
reboot
или
systemctl restart NetworkManager.service
Готово! Ваш IPv4 адрес настроен.