Управлять сетями
Создать приватную сеть
Внутри приватной сети отсутствует ограничение на объем трафика — это позволяет передавать любой объем данных между вашими сервисами без дополнительных платежей.
Количество используемых приватных сетей не ограничено. Посмотрите значения пропускной способности.
Приватная сеть работает только внутри одного проекта и одного пула, недоступна для других проектов аккаунта пользователя и других аккаунтов.
- В панели управления перейдите в раздел Облачная платформа → Сеть.
- Откройте вкладку Приватные сети → нажмите Создать сеть.
- Выберите пул сети.
- Введите имя сети.
- Введите CIDR подсети — диапазон IP-адресов, доступных в подсети.
- Опционально: отметьте чекбокс Включить DHCP.
- Опционально: измените шлюз.
- Опционально: добавьте еще подсети, нажав Добавить подсеть.
- Нажмите Создать.
Добавить подсеть в приватную сеть
- В панели управления перейдите в раздел Облачная платформа → Сеть.
- Откройте вкладку Приватные сети.
- Откройте карточку сети.
- Нажмите Добавить подсеть.
- Введите CIDR подсети — диапазон IP-адресов, доступных в подсети.
- Опционально: введите IP шлюза.
- Опционально: отметьте чекбокс Включить DHCP.
- Нажмите Добавить подсеть.
Добавить облачный сервер в приватную сеть
- В панели управления перейдите в раздел Облачная платформа → Серверы.
- Откройте страницу сервера → вкладка Порты.
- Нажмите Добавить порт.
- Выберите приватную подсеть.
- Укажите IP-адрес.
- Нажмите Добавить порт.
Создать кросспроектную сеть
Приватную или публичную сеть одного проекта можно сделать доступной для другого проекта (только внутри одного пула) — создать кросспроектную сеть.
- В панели управления нажмите на имя текущего проекта и откройте список всех проектов.
- Скопируйте ID целевого проекта.
- Перейдите в раздел Облачная платформа → Сеть в текущем проекте.
- Откройте вкладку Приватные сети или Публичные подсети.
- Откройте карточку приватной сети, которую необходимо сделать доступной в другом проекте → вкладка Проекты.
- Нажмите Добавить проект и введите скопированный ID целевого проекта.
Если вам необходимо объединить облачные серверы из разных пулов (в том числе разных проектах и аккаунтах), используйте глобальный роутер Selectel (ранее — сети L3 VPN).
Включить DHCP
Протокол DHCP можно использовать для автоматической настройки сети на облачных серверах. Он позволяет автоматически получать IP-адреса и другие параметры (маску подсети, шлюз, адреса DNS-серверов) для устройств в приватной подсети.
DHCP можно включить при создании приватной сети, добавлении подсети в существующую сеть или для существующей приватной сети.
При включении DHCP в подсети создаются два порта для основного и резервного DHCP-серверов, для них резервируется два IP-адреса. Облачный сервер будет автоматически запрашивать настройки у DHCP-сервера: при включении сетевого интерфейса или истечении срока аренды адреса (по умолчанию 24 часа). DHCP-сервер будет выдавать IP-адрес, зарезервированный для порта сервера.
- В панели управления перейдите в раздел Облачная платформа → Сеть.
- Откройте вкладку Приватные сети.
- Откройте карточку сети.
- В строке нужной подсети включите тумблер DHCP.
- Перейдите в раздел Серверы.
- Откройте страницу сервера → вкладка Порты.
- В блоке Настройка портов выберите Вручную в файле конфигурации сети на сервере.
- Настройте DHCP в конфигурационном файле облачного сервера.
Создать облачный роутер
Облачный роутер позволяет маршрутизировать трафик между приватными сетями.
Роутер можно использовать для настройки доступа в интернет из приватной сети или для доступа к устройству в приватной подсети из интернета по публичному IP-адресу.
- В панели управления перейдите в раздел Облачная платформа → Сеть.
- Откройте вкладку Роутеры → нажмите Создать роутер.
- Выберите пул роутера.
- Введите имя.
- Опционально: отметьте чекбокс Подключить роутер к внешней сети — для роутера будет выделен внешний IP-адрес.
- Нажмите Создать.
Подключить облачный роутер к внешней сети
Если облачный роутер подключен к внешней сети, он выполняет функцию 1:1 NAT для доступа из приватной сети в интернет через внешний адрес роутера или для доступа к устройству в приватной подсети из интернета по публичному IP-адресу.
Посмотрите значения пропускной способности.
- В панели управления перейдите в раздел Облачная платформа → Сеть.
- Откройте вкладку Роутеры.
- В меню (⋮) роутера выберите Подключить к внешней сети — для роутера будет выделен внешний IP-адрес.
Создать публичный IP-адрес
Публичный IP-адрес — это статический публичный IP-адрес, который можно быстро переключать между облачными серверами в приватных подсетях.
Если вы создаете первый публичный IP-адрес в пуле внутри проекта, автоматически создастся приватная сеть nat и облачный роутер router-nat.
- В панели управления перейдите в раздел Облачная платформа → Сеть.
- Откройте вкладку Публичные IP-адреса → нажмите Создать IP-адрес.
- Выберите пул IP-адреса.
- Укажите количество адресов.
- Нажмите Создать.
Подключить приватную сеть к облачному роутеру
- Создайте роутер.
- Откройте карточку роутера → нажмите Добавить подсеть.
- Выберите приватную подсеть.
- Укажите IP-адрес роутера. Если вы подключаете сеть глобального роутера, укажите IP-адрес роутера, отличный от IP-адреса глобального роутера, IP-адресов облачных серверов в сети и служебных адресов .253 и .254
- Нажмите Добавить подсеть.
Подключить облачный сервер к интернету
Доступ в интернет осуществляется через публичную подсеть или публичный IP-адрес.
Посмотрите значения пропускной способности.
Через публичную подсеть
- В панели управления перейдите в раздел Облачная платформа → Сеть.
- Откройте вкладку Публичные подсети → нажмите Создать подсеть.
- Выберите пул подсети.
- Выберите размер подсети.
- Нажмите Создать.
- Перейдите в раздел Облачная платформа → Серверы.
- Откройте страницу сервера → вкладка Порты.
- Нажмите Добавить порт.
- Выберите публичную подсеть.
- Укажите IP-адрес.
- Нажмите Добавить порт.
Через публичный IP-адрес
- Создайте публичный IP-адрес.
- Создайте облачный роутер с подключением к внешней сети.
- В панели управления перейдите в раздел Облачная платформа → Серверы.
- Откройте страницу сервера → вкладка Порты.
- Нажмите Добавить порт.
- Выберите приватную подсеть.
- Укажите IP-адрес.
- Нажмите Добавить порт.
- Подключите к порту публичный IP-адрес — в столбце Публичный IP-адрес нажмите Подключить и выберите публичный IP-адрес.
Облачный сервер в подсети глобального роутера
Если у вас есть облачный сервер, который находится в сети глобального роутера (ранее — сети L3 VPN), то вы можете настроить доступ в интернет через облачный роутер. Облачный сервер будет связан с другими устройствами в приватной сети глобального роутера.
- Создайте облачный роутер. При создании отметьте чекбокс Подключить роутер к внешней сети.
- Подключите к облачному роутеру подсеть глобального роутера. Для этого в панели управления откройте карточку роутера → нажмите Добавить подсеть → выберите созданную ранее подсеть глобального роутера → укажите IP-адрес роутера, отличный от IP-адреса глобального роутера, IP-адресов облачных серверов в сети и служебных адресов .253 и .254 → нажмите Добавить подсеть.
- Подключите к облачному серверу публичный IP-адрес. Перейдите в раздел Облачная платформа → Серверы → откройте страницу сервера → вкладка Порты → в строке с подсетью глобального роутера в столбце Публичный IP-адрес нажмите Подключить.
- Укажите порт роутера шлюзом по умолчанию. В строке с подсетью глобального роутера в меню (⋮) выберите Сделать шлюзом по умолчанию.
- Пропишите маршруты на облачном сервере до всех подсетей глобального роутера.
Управление сетями с помощью CLI
Подробнее о начале работы с OpenStack CLI.
Создание подсетей
Для создания новой сети:
openstack network create <network name>
В ответе будет выведена таблица с информацией о сети:
+----------------+--------------------------------------+
| Field | Value |
+----------------+--------------------------------------+
| admin_state_up | True |
| id | add73ca5-6120-43bd-bb56-d1d8d71d21ac |
| name | localnet |
| shared | False |
| status | ACTIVE |
| subnets | |
| tenant_id | d15391cc95474b1ab6bd81fb2a73bc5c |
+----------------+--------------------------------------+
Создать в этой сети подсеть можно при помощи следующей команды:
openstack subnet create \
--network <network name> \
--subnet-range <subnet-range> \
<subnet name>
Управление портами
Для просмотра всех портов сервера:
openstack port list --server <server name>
Для просмотра всех портов сети:
openstack port list --network <network name>
Для создания в сети порта:
openstack port create \
--network <network name> \
<port name>
Для подключения порта к облачному серверу:
openstack server add port [-h] <server> <port name>
Для удаления порта:
openstack port delete <port name>
Назначение публичного IP-адреса
Для выхода облачного сервера в интернет используется публичный IP-адрес.
Для просмотра списка всех выделенных публичных IP-адресов:
openstack floating ip list
Для выделения публичного IP-адреса:
openstack floating ip create external-network
Для назначения серверу публичного IP-адреса, созданного ранее в панели управления:
openstack server add floating ip <server> <IP address>
В параметре <server>
может быть использовано имя или ID сервера.
Проброс порта
Проброс порта (port forwarding) используется для перенаправления трафика с одного порта на другой порт. Например, можно настроить проброс порта на публичном IP-адресе на любой порт в приватной подсети — в таком случае доступ к приватному порту будет организован без заказа дополнительного IP.
Публичный IP-адрес перед началом настройки проброса портов не должен быть ассоциирован с каким-либо интерфейсом, балансировщиком и так далее.
Доступно только для версий OpenStack Train и выше.
Просмотрите список портов:
openstack port list
В ответе будет выведена информация о портах:
+--------------------------------------+------+-------------------+------------------------------------------------+--------+
| ID | Name | MAC Address | Fixed IP Addresses | Status |
+--------------------------------------+------+-------------------+------------------------------------------------+--------+
| 1001b155-ec53-2121-ac40-d101b187a7f3 | | fa:17:3e:d7:21:60 | ip_address='123.123.123.123', subnet_id='16ab21| N/A |
| | | | be-e7fe-1ae1-a109-0426e4a6e0a7' | |
| 97e01013-3d77-41bc-b0d7-7b74daa7aa2a | | fa:17:3e:d3:9e:c1 | ip_address='192.168.0.1', subnet_id='305ab695- | ACTIVE |
| | | | dafe-4a38-bc9d-acf0080f21cf' | |
| ed010217-9f78-4002-8703-2112da3fef1f | | fa:17:3e:08:21:7d | ip_address='192.168.0.2', subnet_id='305ab695- | ACTIVE |
| | | | dafe-4a38-bc9d-acf0080f21cf' | |
+--------------------------------------+------+-------------------+------------------------------------------------+--------+
Для настройки port forwarding введите:
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>
Где:
<internal ip address>
— IP-адрес порта в приватной подсети, на который будет осуществляться проброс;<port>
— имя или UUID этого порта;<internal protocol>
— номер протокола порта в приватной подсети;<external protocol>
— номер протокола порта публичного IP-адреса, порт которого пробрасывается;<protocol>
— протокол TCP или UDP;<floating ip>
— публичный IP-адрес, порт которого пробрасывается.
Пример:
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 123.123.123.123
Для просмотра созданных port forwarding для публичного IP-адреса:
openstack floating ip port forwarding list <floating ip>
Вывод будет выглядеть примерно так:
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| description | None |
| external_port | 80 |
| id | 1daa7717-1ce6-4573-95cb-ddb94a39b844 |
| internal_ip_address | 192.168.0.2 |
| internal_port | 80 |
| internal_port_id | ed010217-9f78-4002-8703-2112da3fef1f |
| name | None |
| project_id | |
| protocol | tcp |
+---------------------+--------------------------------------+