Плавающие IP, или floating IPs — это публичные IP-адреса, которые могут перенаправляться системой на приватные IP.

Преимущества плавающих IP-адресов

  • На VPS может не быть настроенного публичного IP, если он создан в приватной сети. Но при помощи плавающего IP он будет доступен из мира по статическому публичному IP.
  • Полезно, когда нужно построить отказоустойчивую инфраструктуру.
  • К примеру, все домены и сервисы можно направить на плавающий IP, который будет закреплен за VPS. В случае недоступности этого VPS, IP можно закрепить на другую VPS-копию первого сервера через панель управления. Таким образом, VPS будет недоступен в течение минимального времени, так как для мира публичный IP-адрес остается неизменным.

Что нужно, чтобы добавить плавающий IP

  • VPS должен находиться в приватной сети с доступом в мир. Если приватной сети еще нет, ее можно создать по инструкции.
  • Если приватная сеть с выходом в мир есть — можно сразу переходить к подключению плавающего IP.

Как подключить плавающий IP

Чтобы подключить плавающий IP, его нужно сначала выделить для проекта.

1. Переходите в раздел Проект -> Сеть -> Плавающие IP и нажимаете на кнопку Выделить IP проекту:

Как подключить плавающий IP

2. В поле Пул оставляете публичную сеть, откуда будет выделен публичный IP.

Если нужно, заполняете описание и нажимаете на Выделить IP:

Выделить IP

3. Видите выделенный IP в списке. Напротив него нажимаете кнопку Назначить:

  • Поле IP-адрес оставляете по умолчанию
  • В поле Порт для назначения указываете сервер с IP приватной сети, которому назначаете плавающий IP

Нажимаете Назначить в меню и ждете, пока операция закончится:

Управление назначением плавающих IP

4. IP закреплен за сервером и доступен из мира. Если нужно, его можно отвязать от текущего сервера и назначить другому в этом же разделе.

Как поменять сеть для сервера, созданного в публичной сети

Если сервер изначально создан в публичной сети — можно поменять для него сеть, заменив сетевой интерфейс карты:

1. Убираете текущий интерфейс публичной сети.

В меню Проект -> Вычислительные ресурсы -> Серверы из выпадающего меню напротив нужного сервера выбираете пункт Отсоединить интерфейс.

Из выпадающего списка выбираете IP публичной сети и нажимаете Отсоединить интерфейс.

2. После удаления добавляете новый интерфейс приватной сети. Для этого выбираете опцию Подключить интерфейс из выпадающего меню напротив сервера:

  • Из выпадающего списка выбираете нужную приватную сеть
  • Поле IP оставляете пустым — адрес будет выделен автоматически
  • Нажимаете кнопку Подключить интерфейс:
Подключение интерфейса

3. Чтобы изменения применились, перезагружаете сервер любым удобным способом.

4. Назначаете плавающий IP по инструкции в начале статьи.

Как проверить смену IP на сервере для Linux

Для Linux нужно дополнительно проверить, изменился ли IP на сервере:

1. Подключаетесь к серверу через консоль.

2. От имени root или через sudo — пишете sudo su перед работой — вводите команду: Ifconfig

3. Если сразу видите в выдаче адрес из нужной приватной сети — интерфейс заменился:

Проверка смены IP на сервере для Linux

4. Если по какой-то причине видите только один локальный адрес 127.0.0.1, нужно вручную поменять карту.

Выполняете команду: ip l

Видите текущие подключенные карты lo и ens3. В разных дистрибутивах карты могут называться по-разному, не ens. lo нас не интересует, работаем с ens3.

У ens3 указан MAC-адрес fa:16:3e:a5:0f:c3:

Текущие подключенные карты lo и ens3

5. Проверяете текущее udev-правило:

cat /etc/udev/rules.d/70-persistent-net.rules

Вывод:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="fa:16:3e:a5:0f:c3", NAME="ens3"

Видите, что имя сетевого интерфейса определяется на основании MAC-адреса.

6. Удаляете данное правило:

rm /etc/udev/rules.d/70-persistent-net.rules

7. Повторно перезагружаете сервер или выполняете команду: dhclient ens3

8. Проверяете, что отображается сетевой интерфейс с новым IP. Для этого повторно вводите Ifconfig

Если все сделано правильно, видите IP нужной приватной сети:

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

10. Если имя интерфейса не изменилось, дополнительные изменения в конфигурационных файлах не требуются. Проверить это можно с помощью команды ip l.