Порты
Порт — это виртуальная сетевая карта, на которую назначается связка MAC-адреса и IP-адреса. IP-адрес назначается на порт в рамках подсети, в которой находится порт.
Порты используются для подключения устройств к приватным подсетям, подсетям глобального роутера и публичным подсетям. Если от устройства отключить порт, оно будет отключено и от подсети. Приватную подсеть нельзя удалить, если в ней есть хотя бы один порт.
Если в сети порта включена фильтрация трафика (port security), на порт можно назначить группу безопасности и добавить разрешенные IP/MAC-адреса.
Работать с портами можно в панели управления, с помощью OpenStack CLI или Terraform.
В облачных сетях автоматически создаются служебные порты, управление ими недоступно:
- два DHCP-порта в приватной подсети. Создаются при включении DHCP в подсети, удаляются при отключении DHCP;
- три служебных порта в подсети глобального роутера для сетевого оборудования. Создаются при подключении приватной сети к глобальному роутеру, удаляются при отключении приватной сети от глобального роутера или при удалении глобального роутера;
- VRRP-порты и downlinks (порты для резервирования) в приватных подсетях, в которых находится балансировщик нагрузки. Количество служебных портов зависит от типа балансировщика, подробнее о портах балансировщика нагрузки;
- порт в приватной подсети, в которой находится файловое хранилище. Создается вместе с подсетью для файлового хранилища, можно удалить только с хранилищем.
Добавить порт в подсеть
Приватная подсеть, подсеть глобального роутера
Публичная подсеть
Панель управления
OpenStack CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Сеть → вкладка Приватные сети.
-
Откройте страницу сети → вкладка Порты.
-
Нажмите Добавить порт.
-
Выберите подсеть.
-
Введите IP-адрес порта.
-
Опционально: выберите сервер или ноду кластера Managed Kubernetes, к которой нужно добавить этот порт.
-
Нажмите Добавить порт.
-
Создайте порт в подсети:
openstack port create \
--network <network> \
--fixed-ip subnet=<subnet>,ip-address=<port_ip_address> \
<port_name>Укажите:
<network>
— ID или имя приватной сети, сети глобального роутера, можно посмотреть с помощью командыopenstack network list
;<subnet>
— ID или имя подсети, можно посмотреть с помощью командыopenstack subnet list
;<port_ip_address>
— IP-адрес порта;<port_name>
— имя порта.
Панель управления
OpenStack CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Сеть → вкладка Публичные сети.
-
Откройте карточку подсети → вкладка Порты.
-
Нажмите Добавить порт.
-
Выберите подсеть.
-
Введите IP-адрес порта.
-
Нажмите Добавить порт.
-
Создайте порт в подсети:
openstack port create \
--network <network> \
--fixed-ip subnet=<subnet>,ip-address=<port_ip_address> \
<port_name>Укажите:
<network>
— ID или имя публичной сети, совпадает с параметром<subnet>
, можно посмотреть с помощью командыopenstack subnet list
;<subnet>
— ID или имя подсети, можно посмотреть с помощью командыopenstack subnet list
;<port_ip_address>
— IP-адрес порта;<port_name>
— имя порта.
Добавить облачный сервер или ноду кластера Managed Kubernetes в подсеть через порт
Облачный сервер после создания сервера можно добавить в приватную подсеть, подсеть глобального роутера или публичную подсеть. Ноду кластера Managed Kubernetes можно добавить в приватную подсеть или подсеть глобального роутера.
Для этого нужно добавить к серверу или ноде порт.
Панель управления
OpenStack CLI
- В панели управления перейдите в раздел Облачная платформа → Серверы.
- Откройте страницу сервера → вкладка Порты.
- Нажмите Добавить порт.
- Выберите приватную подсеть, подсеть глобального роутера или публичную подсеть.
- Введите IP-адрес порта.
- Нажмите Добавить.
-
Создайте порт в подсети:
openstack port create \
--network <network> \
--fixed-ip subnet=<subnet>,ip-address=<port_ip_address> \
<port_name>Укажите:
<network>
— ID или имя приватной подсети, подсети глобального роутера или публичной подсети, можно посмотреть с помощью командыopenstack network list
. Для публичной подсети совпадает с параметром<subnet>
;<subnet>
— ID или имя подсети, можно посмотреть с помощью командыopenstack subnet list
;<port_ip_address>
— IP-адрес порта;<port_name>
— имя порта.
-
Добавьте порт к облачному серверу:
openstack server add port <server> <port>
Укажите:
<server>
— ID или имя облачного сервера, можно посмотреть с помощью командыopenstack server list
;<port>
— ID или имя порта, можно посмотреть с помощью командыopenstack port list
.
Подключить публичный IP-адрес к порту в приватной подсети
Если к порту в приватной подсети подключен облачный сервер или балансировщик нагрузки, к порту можно подключить публичный IP-адрес.
Для подключения публичн ого IP-адреса в разделах устройств в панели управления используйте инструкцию Публичные IP-адреса.
Панель управления
OpenStack CLI
- Убедитесь, что устройство находится в подсети, которая соответствует требованиям. Для подготовки подсети используйте инструкцию Подготовить приватную подсеть для подключения публичного IP-адреса.
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
- Перейдите в раздел Сеть → вкладка Приватные сети.
- Откройте страницу сети → вкладка Порты.
- В карточке порта облачного сервера или балансировщика нагрузки нажмите Подключить публичный IP.
- Выберите публичный IP-адрес.
- Нажмите Подключить.
-
Подключите публичный IP-адрес к порту:
openstack floating ip set --port <port> <public_ip_address>
Укажите:
<port>
— ID порт а облачного сервера или балансировщика нагрузки, можно посмотреть с помощью командыopenstack port list
;<public_ip_address>
— ID или публичный IP-адрес, можно посмотреть с помощью командыopenstack floating ip list
.
Отключить публичный IP-адрес от порта в приватной подсети
Для отключения публичного IP-адреса в разделах устройств в панели управления используйте инструкцию Публичные IP-адреса.
Панель управления
OpenStack CLI
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
- Перейдите в раздел Сеть → вкладка Приватные сети.
- Откройте страницу сети → вкладка П орты.
- В карточке порта облачного сервера или балансировщика нагрузки рядом с публичным IP-адресом нажмите .
- Выберите Отключить публичный IP-адрес.
- Опционально: если публичный IP-адрес вам больше не нужен, отметьте чекбокс Удалить адрес.
- Нажмите Сохранить.
-
Отключите публичный IP-адрес от порта:
openstack floating ip unset --port <public_ip_address>
Укажите
<public_ip_address>
— ID или публичный IP-адрес, можно посмотреть с помощью командыopenstack floating ip list
.
Назначить группу безопасности на порт
Для назначения группы безопасности в разделах устройств в панели управления используйте инструкцию Назначить группу безопасности.
Приватная подсеть, подсеть глобального роутера
Публичная подсеть
Панель управления
OpenStack CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Сеть → вкладка Приватные сети.
-
Откройте страницу сети → вкладка Порты.
-
В карточке порта в поле групп безопасности нажмите .
-
В поле Группы безопасности отметьте группы, которые нужно назначить на порт, или нажмите Новая группа безопасности и создайте группу.
-
Нажмите Сохранить.
-
Назначьте группу безопасности на порт:
openstack port set \
--security-group <security_group> \
<port>Укажите:
<security_group>
— ID или имя группы безопасности, можно посмотреть с помощью командыopenstack security group list
;<port>
— ID или имя порта, можно посмотреть с помощью командыopenstack port list
.
Панель управления
OpenStack CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Сеть → вкладка Публичные подсети.
-
Откройте карточку подсети → вкладка Порты.
-
В строке порта в поле Группы безопасности нажмите .
-
В поле Группы безопасности отметьте группы, которые нужно назначить на порт, или нажмите Новая группа безопасности и создайте группу.
-
Нажмите Сохранить.
-
Назначьте группу безопасности на порт:
openstack port set \
--security-group <security_group> \
<port>Укажите:
<security_group>
— ID или имя группы безопасности, можно посмотреть с помощью командыopenstack security group list
;<port>
— ID или имя порта, можно посмотреть с помощью командыopenstack port list
.
Отключить группу безопасности от порта
Приватная подсеть, подсеть глобального роутера
Публичная подсеть
Панель управления
OpenStack CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Сеть → вкладка Приватные сети.
-
Откройте страницу сети → вкладка Порты.
-
В карточке порта в поле групп безопасности нажмите .
-
В поле Группы безопасности снимите чекбоксы групп, которые нужно отключить от пор та.
-
Нажмите Сохранить.
-
Отключите группу безопасности от порта:
openstack port unset \
--security-group <security_group> \
<port>Укажите:
<security_group>
— ID или имя группы безопасности, можно посмотреть с помощью командыopenstack security group list
;<port>
— ID или имя порта, можно посмотреть с помощью командыopenstack port list
.
Панель управления
OpenStack CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Сеть → вкладка Публичные подсети.
-
Откройте карточку подсети → вкладка Порты.
-
В строке порта в поле Группы безопасности нажмите .
-
В поле Группы безопасности снимите чекбоксы групп, которые нужно отключить от порта.
-
Нажмите Сохранить.
-
Отключите группу безопасности от порта:
openstack port unset \
--security-group <security_group> \
<port>Укажите:
<security_group>
— ID или имя группы безопасности, можно посмотреть с помощью командыopenstack security group list
;<port>
— ID или имя порта, можно посмотреть с помощью командыopenstack port list
.
Добавить разрешенные IP/MAC-адреса на порт
Если в сети включена фильтрация трафика (port security), то трафик порта может отправляться только с одной пары IP/MAC-адрес, которая назначается при добавлении порта в подсеть. Если через порт передается трафик с адресов, которые не указаны на порте, такой трафик будет заблокирован. Чтобы разрешить трафик с адресов, которые не указаны на порте, нужно добавить разрешенные IP/MAC-адреса в настройки порта.
Например, если вы самостоятельно развернули на облачном сервере:
- VPN-сервер — нужно разрешить все IP-адреса (подсеть
0.0.0.0/0
); - кластер Kubernetes с CNI Calico в режиме роутинга Direct — нужно разрешить подсеть, которая используется в кластере. Для CNI Flannel настройка не требуется.
Если дополнительные адреса будут не нужны, вы сможете удалить их с порта.
Настраивать разрешенные адреса не требуется в кластерах Managed Kubernetes, облачных базах данных, готовом облаке 1С, а также на облачных серверах, созданных из образов с приложениями. Все необходимые настройки для них уже выполнены.
Для одного порта можно добавить не более 10 дополнительных пар IP/MAC-адрес.
Приватная подсеть, подсеть глобального роутера
Публичная подсеть
Панель управления
OpenStack CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Сеть → вкладка Приватные сети.
-
Откройте страницу сети → вкладка Порты.
-
В карточке порта в поле групп безопасности нажмите .
-
Если вы хотите разрешить все IP-адреса, нажмите Разрешить все IP-адреса для VPN. Будет разрешен трафик из подсети
0.0.0.0/0
с MAC-адресом порта по умолчанию. -
Если вы хотите разрешить трафик с конкретных адресов:
6.1. Нажмите Добавить пару IP/MAC.
6.2. Введите IP-адрес или подсеть в формате CIDR.
6.3. Опционально: введите MAC-адрес, который соответствует IP-адресу, или оставьте MAC-адрес порта по умолчанию.
6.4. Чтобы добавить еще одну пару адресов, повторите шаги 6.1 — 6.3.
-
Нажмите Сохранить.
-
Добавьте разрешенные адреса:
openstack port set \
--allowed-address ip-address=<ip_address>[,mac-address=<mac_address>] \
<port>Укажите:
<ip_address>
— IP-адрес или подсеть. Если вы хотите разрешить все IP-адреса, введите подсеть0.0.0.0/0
;- опционально:
,mac-address=<mac_address>
— MAC-адрес, соответствующий IP-адресу. Параметр<mac_address>
— значение MAC-адреса. Если не указать MAC-адрес, будет использоваться основной MAC-адрес порта; <port>
— ID порта, можно посмотреть с помощью командыopenstack port list
.
Панель управления
OpenStack CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Сеть → вкладка Публичные подсети.
-
Откройте карточку подсети → вкладка Порты.
-
В строке порта в поле Группы безопасности нажмите .
-
Если вы хотите разрешить все IP-адреса, нажмите Разрешить все IP-адреса для VPN. Будет разрешен трафик из подсети
0.0.0.0/0
с MAC-адресом порта по умолчанию. -
Если вы хотите разрешить трафик с конкретных адресов:
6.1. Нажмите Добавить пару IP/MAC.
6.2. Введите IP-адрес или подсеть в формате CIDR.
6.3. Опционально: введите MAC-адрес, который соответствует IP-адресу, или оставьте MAC-адрес порта по умолчанию.
6.4. Чтобы добавить еще одну пару адресов, повторите шаги 6.1 — 6.3.
-
Нажмите Сохранить.
-
Добавьте разрешенные адреса:
openstack port set \
--allowed-address ip-address=<ip_address>[,mac-address=<mac_address>] \
<port>Укажите:
<ip_address>
— IP-адрес или подсеть. Если вы хотите разрешить все IP-адреса, введите подсеть0.0.0.0/0
;- опционально:
,mac-address=<mac_address>
— MAC-адрес, соответствующий IP-адресу. Параметр<mac_address>
— значение MAC-адреса. Если не указать MAC-адрес, будет использоваться MAC-адрес порта по умолчанию; <port>
— ID порта, можно посмотреть с помощью командыopenstack port list
.
Удалить разрешенные IP/MAC-адреса с порта
Приватная подсеть, подсеть глобального роутера
Публичная подсеть
Панель управления
OpenStack CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Сеть → вкладка Приватные сети.
-
Откройте страницу сети → вкладка Порты.
-
В карточке порта в поле групп безопасности нажмите .
-
В строке пары адресов нажмите .
-
Нажмите Сохранить.
-
Удалите разрешенные адреса с порта. Останется разрешена пара IP/MAC-адрес, которые были назначены при создании порта:
openstack port set \
--no-allowed-address \
<port>
Панель управления
OpenStack CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Сеть → вкладка Публичные подсети.
-
Откройте карточку подсети → вкладка Порты.
-
В строке порта в поле Группы безопасности нажмите .
-
В строке пары адресов нажмите .
-
Нажмите Сохранить.
-
Удалите разрешенные адреса с порта. Останется разрешена пара IP/MAC-адрес, которые были назначены при создании порта:
openstack port set \
--no-allowed-address \
<port>
Включить порт
Приватная подсеть, подсеть глобального роутера
Публичная подсеть
Панель управления
OpenStack CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Сеть → вкладка Приватные сети.
-
Откройте страницу сети → вкладка Порты.
-
В карточке порта включите порт.
-
Посмотрите список портов в подсети и скопируйте ID или имя нужного порта:
openstack port list --fixed-ip subnet=<subnet>
Укажите
<subnet>
— ID или имя подсети, можно посмотреть с помощью командыopenstack subnet list
. -
Включите порт:
openstack port set --enable <port>
Укажите
<port>
— ID или имя порта, которое вы скопировали н а шаге 2.
Панель управления
OpenStack CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Сеть → вкладка Публичные сети.
-
Откройте карточку подсети → вкладка Порты.
-
В строке порта включите порт.
-
Посмотрите список портов в подсети и скопируйте ID или имя нужного порта:
openstack port list --fixed-ip subnet=<subnet>
Укажите
<subnet>
— ID или имя подсети, можно посмотреть с помощью командыopenstack subnet list
. -
Включите порт:
openstack port set --enable <port>