Публичные плавающие IP-адреса
Публичные плавающие IP-адреса — статические IP-адреса, которые можно подключать к устройствам в приватных сетях, чтобы настроить к ним доступ из интернета: к облачному серверу, балансировщику нагрузки, кластеру облачных баз данных.
Адрес является плавающим (в API — Floating IP), так как его можно быстро переключать между устройствами в приватных подсетях. При переключении адрес не меняется и не удаляется.
Для подключения плавающего публичного IP-адреса устройство должно находиться в приватной подсети, подключенной к облачному роутеру с доступом в интернет, — подробнее в инструкции Подготовить приватную подсеть для подключения публичного плавающего IP-адреса. Публичный плавающий IP-адрес ассоциируется с приватным IP-адресом устройства. Входящий трафик обрабатывается облачным роутером — роутер выполняет функцию 1:1 NAT через внешний IP-адрес, который выделяется при подключении роутера к интернету. Входящий трафик можно отфильтровать с помощью облачного файрвола или группы безопасности.
При создании публичный плавающий IP-адрес выделяется из пула адресов автоматически, его нельзя выбрать.
Публичный плавающий IP-адрес можно использовать только внутри одного проекта и одного пула.
Для публичных плавающих IP-адресов есть ограничения на объем трафика — пропускная способность. Ее можно посмотреть в таблице Пропускная способность.
Работать с публичными плавающими IP-адресами можно в панели управления, с помощью OpenStack CLI или Terraform.
Создать публичный плавающий IP-адрес
Если вы создаете первый публичный плавающий IP-адрес в проекте и пуле, автоматически создастся приватная сеть nat и облачный роутер router-nat.
Панель управления
OpenStack CLI
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
- Перейдите в раздел Сеть → вкладка Публичные IP-адреса.
- Нажмите Создать IP-адрес.
- Выберите локацию, в которой будет создан публичный плавающий IP-адрес.
- Укажите количество публичных плавающих IP-адресов.
- Нажмите Создать.
Подготовить приватную подсеть для подключения публичного плавающего IP-адреса
Чтобы настроить доступ в интернет и из интернета через публичный плавающий IP-адрес, нужно подключить его к устройству.
Устройство должно находиться в приватной подсети или подсети глобального роутера, которая соответствует требованиям:
- подсеть должна быть подключена к облачному роутеру, подключенному к интернету. Если облачный роутер подключен к интернету, он выполняет функцию 1:1 NAT для доступа из приватной сети в интернет через внешний адрес роутера и для доступа к устройству в приватной подсети из интернета по публичному плавающему IP-адресу;
- приватный IP-адрес облачного роутера должен совпадать с шлюзом по умолчанию в подсети.
Если подсеть не соответствует требованиям, подготовьте ее к подключению публичного плавающего IP-адреса:
- Создайте облачный роутер c подключением к интернету.
- Подключите приватную подсеть к облачному роутеру.
1. Создать облачный роутер c подключением к интернету
Панель управления
OpenStack CLI
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
- Перейдите в раздел Сеть → вкладка Облачные роутеры.
- Нажмите Создать роутер.
- Выберите локацию, в которой будет создан облачный роутер.
- Введите имя роутера.
- Отметьте чекбокс Подключить роутер к интернету — для роутера будет выделен внешний IP-адрес.
- Нажмите Создать.
2. Подключить подсеть к облачному роутеру
Панель управления
OpenStack CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Сеть → вкладка Облачные роутеры.
-
Откройте страницу роутера.
-
Нажмите Подключить подсеть.
-
Выберите приватную подсеть или подсеть глобального роутера.
-
Опционально: введите IP-адрес роутера — любой свободный IP-адрес из подсети. Если вы не укажете IP-адрес, он будет автоматически выбран из свободных адресов подсети.
Чтобы устройства в подсети могли выходить в интернет без настройки дополнительных маршрутов, IP-адрес облачного роутера должен совпадать с шлюзом приватной подсети. Если шлюз подсети уже занят, для выхода в интернет потребуется настроить в подсети статический маршрут через облачный роутер.
Шлюз подсети можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Облачные серверы → Сеть → вкладка Приватные сети → страница сети → вкладка Подсети → карточка подсети → блок Автоматические сетевые настройки → поле Шлюз подсети.
-
Нажмите Подключить.
Подключить публичный плавающий IP-адрес к облачному серверу
Публичный плавающий IP-адрес можно подключить при создании облачного сервера или к уже созданному серверу.
Панель управления
OpenStack CLI
- Убедитесь, что облачный сервер находится в подсети, которая соответствует требованиям, подробнее в подразделе Подготовить приватную подсеть для подключения публичного плавающего IP-адреса. Подсети сервера можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Облачные серверы → страница сервера → вкладка Порты.
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
- Перейдите в раздел Сеть.
- Откройте вкладку Публичные IP-адреса.
- В карточке публичного плавающего IP-адреса нажмите .
- Выберите приватный IP-адрес облачного сервера.
- Нажмите Сохранить.
Отключить публичный плавающий IP-адрес от облачного сервера
Панель управления
OpenStack CLI
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
- Перейдите в раздел Сеть.
- Откройте вкладку Публичные IP-адреса.
- В карточке публичного IP-адреса нажмите .
- В поле Новый приватный адрес для натирования трафика выберите Отключить от текущего.
- Нажмите Сохранить.
Подключить публичный плавающий IP-адрес к балансировщику нагрузки
Публичный плавающий IP-адрес можно подключить при создании балансировщика или к уже созданному балансировщику.
Панель управления
OpenStack CLI
- Убедитесь, что балансировщик нагрузки находится в подсети, которая соответствует требованиям, подробнее в подразделе Подготовить приватную подсеть для подключения публичного плавающего IP-адреса. Подсети балансировщика можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Облачные серверы → Балансировщики → вкладка Балансировщики → страница балансировщика → блок Настройки → поле Сеть.
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
- Перейдите в раздел Сеть.
- Откройте вкладку Публичные IP-адреса.
- В карточке публичного плавающего IP-адреса нажмите .
- Выберите приватный IP-адрес балансировщика нагрузки.
- Нажмите Сохранить.
Отключить публичный плавающий IP-адрес от балансировщика нагрузки
Панель управления
OpenStack CLI
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
- Перейдите в раздел Сеть.
- Откройте вкладку Публичные IP-адреса.
- В карточке публичного IP-адреса нажмите .
- В поле Новый приватный адрес для натирования трафика выберите Отключить от текущего.
- Нажмите Сохранить.
Подключить публичный плавающий IP-адрес к кластеру облачных баз данных
Публичный плавающий IP-адрес можно подключить при создании кластера баз данных (пример для PostgreSQL) или к уже созданному кластеру.
Панель управления
- Убедитесь, что кластер облачных баз данных находится в подсети, которая соответствует требованиям, подробнее в подразделе Подготовить приватную подсеть для подключения публичного плавающего IP-адреса. Подсети кластера можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Облачные базы данных → страница кластера → вкладка Настройки → поле Сеть кластера.
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные базы данных.
- Перейдите в раздел Сеть.
- Откройте вкладку Публичные IP-адреса.
- В карточке публичного плавающего IP-адреса нажмите .
- Выберите приватный IP-адрес ноды.
- Нажмите Сохранить.
Отключить публичный плавающий IP-адрес от кластера облачных баз данных
Панель управления
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные базы данных.
- Перейдите в раздел Сеть.
- Откройте вкладку Публичные IP-адреса.
- В карточке публичного плавающего IP-адреса нажмите .
- В поле Новый приватный адрес для натирования трафика выберите Отключить от текущего.
- Нажмите Сохранить.
Переключить публичный плавающий IP-адрес между устройствами
Панель управления
OpenStack CLI
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
- Перейдите в раздел Сеть.
- Откройте вкладку Публичные IP-адреса.
- В карточке публичного плавающего IP-адреса нажмите .
- Выберите новый приватный IP-адрес для натирования трафика.
- Нажмите Сохранить.
Настроить NAT
Чтобы настроить NAT, нужно пробросить порт (port forwarding) — настроить перенаправление трафика с одного порта на другой порт. Например, вы можете настроить проброс порта на публичном плавающем IP-адресе на любой порт в приватной подсети — в этом случае доступ к приватному порту будет организован без создания дополнительного публичного плавающего IP-адреса.
Публичный плавающий IP-адрес перед началом настройки проброса портов не должен быть ассоциирован с облачным сервером, балансировщиком нагрузки и другими устройствами.
В Servercore по умолчанию заблокированы некоторые TCP/UDP-порты, трафик через них заблокирован.
OpenStack CLI
-
Настройте проброс портов:
openstack floating ip port forwarding create \--internal-ip-address <internal_ip_address> \--port <port> \--internal-protocol-port <internal_protocol> \--external-protocol-port <external_protocol> \--protocol <protocol> \<floating_ip_address>Укажите:
<internal_ip_address>— IP-адрес порта в приватной подсети, на который будет осуществляться проброс;<port>— ID или имя порта в приватной сети, на который будет осуществляться проброс, можно посмотреть с помощью командыopenstack port list;<internal_protocol>— протокол порта в приватной подсети;<external_protocol>— протокол порта публичного плавающего IP-адреса, порт которого пробрасывается;<protocol>— протокол:tcpилиudp;<floating_ip_address>— ID или публичный плавающий IP-адрес, порт которого пробрасывается. Можно посмотреть с помощью командыopenstack floating ip list.
Пример команды:
openstack floating ip port forwarding create \--internal-ip-address 192.168.0.2 \--port ed010217-9f78-4002-8703-2112da3fef1f \--internal-protocol-port 80 \--external-protocol-port 80 \--protocol tcp \192.0.2.7
Удалить публичный плавающий IP-адрес
После удаления публичный плавающий IP-адрес вернется в пул плавающих публичных адресов.
Панель управления
OpenStack CLI
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
- Перейдите в раздел Сеть → вкладка Публичные IP-адреса.
- В карточке публичного плавающего IP-адреса нажмите .
- Введите IP-адрес для подтверждения удаления.
- Нажмите Удалить.