Плавающий IP-адрес
В разделе описаны плавающие IP-адреса, их роль в облачной сети и организация доступа из публичных сетей к инстансам и их сервисам.
Описание
Плавающий IP — статический публичный адрес, который можно назначить инстансу проекта. Доступ реализуется через трансляцию сетевых адресов SNAT: при исходящей передаче заменяется адрес источника, а в ответном пакете — адрес назначения.
Квота плавающих IP-адресов
Плавающие IP-адреса выделяются проекту при активации. Их количество ограничено квотой публичных адресов, заданной владельцем при заказе SIM-Cloud. Чтобы изменить доступное количество, сначала измените квоту, а затем выделите или освободите адреса.
Назначение и отвязка адреса
Выделенный проекту адрес можно назначить активному инстансу через Dashboard, OpenStack CLI или API.
В веб-интерфейсе назначить или отвязать адрес можно в двух разделах:
Compute → Instances → Associate Floating IP;
Network → Floating IPs → Associate.
Для назначения выберите доступный публичный адрес и целевой порт инстанса.
Предупреждение
Плавающий IP можно назначить только порту из подсети, подключённой к маршрутизатору провайдера, поскольку только он имеет доступ к публичной сети. Подключите интерфейс нужной подсети к маршрутизатору и используйте его как шлюз.
Внутренний маршрутизатор выполняет трансляцию адресов и маршрутизацию между частной и публичной сетями. Дополнительная настройка сети и перенаправление портов не нужны: трансляция выполняется прозрачно.
Если условия не выполнены, назначить адрес нужному порту не удастся.
Для назначения и отвязки в OpenStack CLI используйте:
Назначение плавающего IP через OpenStack CLI:
Синтаксис:
openstack floating ip set [-h] --port <port>
[--fixed-ip-address <ip-address>]
[--qos-policy <qos-policy> | --no-qos-policy]
<floating-ip>
openstack floating ip set --port <port> --fixed-ip-address <ip-address> <floating-ip>
Пример:
openstack floating ip set --port qbfb9cad-f582-41c8-b821-910a4df65b3t --fixed-ip-address 20.20.20.11 156.67.54.xxx
где:
* ``qbfb9cad-f582-41c8-b821-910a4df65b3t`` — целевой порт;
* ``--fixed-ip-address 20.20.20.11`` — фиксированный адрес порта;
* ``156.67.54.xxx`` — назначаемый публичный адрес; последний октет скрыт.
Отвязка адреса через OpenStack CLI:
Синтаксис:
openstack floating ip unset [--port] <floating-ip>
Пример:
openstack floating ip unset --port 156.67.54.122
Основные особенности плавающих IP-адресов
адреса не назначаются инстансам автоматически;
адрес остаётся выделенным проекту, пока пользователь его не освободит. При случайном освобождении тот же адрес, скорее всего, получить снова не удастся;
назначение доступно через веб-интерфейс, OpenStack CLI и API;
фактически адрес назначается порту инстанса;
адрес можно переназначить другому инстансу, если подсеть его порта подключена к внутреннему маршрутизатору;
количество адресов ограничено заказанной квотой;
для плавающего адреса можно создать DNS-запись типа PTR.
Примечание
Для публичного доступа к SSH, RDP, HTTP, SMTP, FTP, DNS и другим сервисам они должны прослушивать частный IP-адрес порта, которому назначен плавающий адрес. Не указывайте публичный плавающий IP в конфигурации сервиса: доступ обеспечивается трансляцией SNAT.