Плавающие IP¶
- Описание
- Квота для плавающих IP-адресов
- Как связать или отвязать назначаемый IP
- Ключевые особенности плавающих IP-адресов
Данная статья описывает один из основных элементов сети - плавающие IP-адреса, их роль в построении сетевой инфраструктуры в облаке. В статье раскрываются вопросы организации доступа к инстансу и его сервисов с публичных подсетей, используя при этом плавающие IP.
Описание
Плавающие IP – публичные статические IP-адреса, которые можно назначать инстансам проекта. Плавающие адреса предназначены для организации сетевой достижимости к инстансам проекта, используя при этом механизм SNAT («преобразование сетевых адресов»). Суть механизма которого состоит в замене адреса источника (англ. source) при прохождении пакета в одну сторону и обратной замене адреса назначения (англ. destination) в ответном пакете.
Квота для плавающих IP-адресов
Плавающие IP-адреса назначаются проекту во время его активации. Каждый проект содержит ограниченное количество плавающих IP-адресов, их количество регулируется квотой публичных адресов, которое определяет владелец проекта при заказе сервиса «SIM-Cloud». Для изменения количества доступных публичных плавающих IP-адресов, необходимо изменить соответствующую квоту проекта, после чего следует выполнить назначение или освобождение плавающего IP.
Как связать или отвязать назначаемый IP
Уже выделенные проекту плавающие IP-адреса могут назначаться включенным инстансам из панели инструментов web-интерфейса - dashboard либо через другие интерфейсы управления сервисом: «Openstack CLI» или «API».
Используя web-интерфейс, пользователь может назначить (связать) или снять ранее назначенный плавающий IP из двух точек:
- «Вычислительные ресурсы»/»Инстансы» –> «Связать назначаемый IP»
- «Сеть»/»Плавающие IP» –> «Назначить»
Для назначения плавающего IP, необходимо указывать доступный публичный IP и соответствующий порт назначения инстанса.
Предупреждение
Назначение плавающего IP допустимо только для портов инстансов, подсети которых скоммутированы с внутренним маршрутизатором проекта - «provider router», так как это единственный узел проекта, который имеет доступ к публичной сети. Для этого достаточно подключить интерфейс из необходимой подсети к маршрутизатору проекта и выступал в роли шлюза (gateway).
Внутренний маршрутизатор выполнит преобразование сетевых адресов, а также обеспечит необходимую маршрутизацию между приватной и публичной сетью проекта. Дополнительных сетевых настроек, «проброса» портов выполнять не нужно, трансляция портов и протоколов будет выполняться в «прозрачном» режиме.
Если вышеописанные уловия не соблюдаются, то пользователь проекта не сможет назначить плавающий IP на нужный порт инстанса.
Для назначения или отсоединения плавающих 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 - порт, на который необходимо назначить плавающий IP;
--fixed-ip-address 20.20.20.11 - фиксированный IP-адрес порта, для котого назначается плавающий IP;
156.67.54.xxx - публичный плавающий IP-адрес, который будет назначен на порт инстанса (последний октет адреса "xxx" скрыт в рамках организации безопасности).
Отвязать назначаемый IP средствами openstack cli:
Синтаксис:
openstack floating ip unset [--port] <floating-ip>
Пример:
openstack floating ip unset --port 156.67.54.122
Ключевые особенности плавающих IP-адресов
- Плавающие IP-адреса автоматически не присваиваются инстансам их необходимо назначать вручную.
- Плавающие IP остаются закрепленными за проектом до тех пор, пока пользователь проекта самостоятельно не освободит адрес. Если адрес был освобожден по ошибке, то его повторное назначение маловероятно, так адреса выдаются в случайном порядке.
- Плавающий IP можно назначить как через web-интерфейс, так и через консоль: «Openstack CLI» или «API».
- Плавающие IP-адреса фактически назначаются на порт инстанса.
- Плавающие адреса можно переназначать любому другому инстансу, в любой момент времени (если подсеть необходимого порта скоммутирована с внутренним роутером).
- Пользователи проекта могут выделять плавающие IP-адреса только в пределах заказанной квоты.
- Для плавающих IP-адресов можно прописывать DNS-запись типа PTR.
Примечание
Для организации публичного доступа к сервисам инстанса (SSH, RDP, HTTP, SMTP, SMTP, FTP, DNS и т.д.), которому назначен плавающий IP-адрес, необходимо убедиться в том, сервисы работают, отвечают («слушают») IP-адрес приватной подсети, на который был назначен публичный плавающий IP. Если в настройках, конфигурационных файлах сервиса будет указан публичный назначаемый IP (floating ip), то сервис будет недоступен. Доступ к сервисам инстанса на приватном адресе будет функционировать за счет механизма SNAT.