Управлять сетями

Создать приватную сеть

Внутри приватной сети отсутствует ограничение на объем трафика — это позволяет передавать любой объем данных между вашими сервисами без дополнительных платежей.

Количество используемых приватных сетей не ограничено, пропускная способность — 1 Гбит/с.

Приватная сеть работает только внутри одного проекта и одного пула, недоступна для других проектов аккаунта пользователя и других аккаунтов.

  1. В панели управления перейдите в раздел Облачная платформа ⟶ Сеть.
  2. Откройте вкладку Приватные сети ⟶ нажмите Создать сеть.
  3. Выберите пул сети.
  4. Введите имя сети.
  5. Укажите CIDR подсети — диапазон IP-адресов, доступных в подсети.
  6. Опционально: отметьте чекбокс Включить DHCP.
  7. Опционально: измените шлюз.
  8. Опционально: добавьте еще подсети, нажав Добавить подсеть.
  9. Нажмите Создать.

Добавить облачный сервер в приватную сеть

  1. В панели управления перейдите в раздел Облачная платформа ⟶ Серверы.
  2. Откройте страницу сервера вкладка Порты.
  3. Нажмите Добавить порт.
  4. Выберите приватную подсеть.
  5. Укажите IP-адрес.
  6. Нажмите Добавить порт.

Создать кросспроектную сеть

Приватную или публичную сеть одного проекта можно сделать доступной для другого проекта (только внутри одного пула) — создать кросспроектную сеть.

  1. В панели управления нажмите на имя текущего проекта и откройте список всех проектов.
  2. Скопируйте ID целевого проекта.
  3. Перейдите в раздел Облачная платформа ⟶ Сеть в текущем проекте.
  4. Откройте вкладку Приватные сети или Публичные подсети.
  5. Откройте карточку приватной сети, которую необходимо сделать доступной в другом проекте вкладка Проекты.
  6. Нажмите Добавить проект и введите скопированный ID целевого проекта.

Если вам необходимо объединить облачные серверы из разных пулов (в том числе разных проектах и аккаунтах), используйте глобальный роутер Selectel (ранее — сети L3 VPN).

Создать облачный роутер

Облачный роутер позволяет маршрутизировать трафик между приватными сетями.

Роутер можно использовать для настройки доступа в интернет из приватной сети или для доступа к устройству в приватной подсети из интернета по публичному IP-адресу.

  1. В панели управления перейдите в раздел Облачная платформа ⟶ Сеть.
  2. Откройте вкладку Роутеры ⟶ нажмите Создать роутер.
  3. Выберите пул роутера.
  4. Введите имя.
  5. Опционально: отметьте чекбокс Подключить роутер к внешней сети — для роутера будет выделен внешний IP-адрес.
  6. Нажмите Создать.

Подключить облачный роутер к внешней сети

Если облачный роутер подключен к внешней сети, он выполняет функцию 1:1 NAT для доступа из приватной сети в интернет через внешний адрес роутера или для доступа к устройству в приватной подсети из интернета по публичному IP-адресу.

  1. В панели управления перейдите в раздел Облачная платформа ⟶ Сеть.
  2. Откройте вкладку Роутеры.
  3. В меню (⋮) роутера выберите Подключить к внешней сети — для роутера будет выделен внешний IP-адрес.

Создать публичный IP-адрес

Публичный IP-адрес — это статический публичный IP-адрес, который можно быстро переключать между облачными серверами в приватных подсетях.

Если вы создаете первый публичный IP-адрес в пуле внутри проекта, автоматически создастся приватная сеть nat и облачный роутер router-nat.

  1. В панели управления перейдите в раздел Облачная платформа ⟶ Сеть.
  2. Откройте вкладку Публичные IP-адреса ⟶ нажмите Создать IP-адрес.
  3. Выберите пул IP-адреса.
  4. Укажите количество адресов.
  5. Нажмите Создать.

Подключить приватную сеть к облачному роутеру

  1. Создайте роутер.
  2. Откройте карточку роутера нажмите Добавить подсеть.
  3. Выберите приватную подсеть.
  4. Укажите IP-адрес роутера. Если вы подключаете сеть глобального роутера, укажите IP-адрес роутера, отличный от IP-адреса глобального роутера, IP-адресов облачных серверов в сети и служебных адресов .253 и .254
  5. Нажмите Добавить подсеть.

Подключить облачный сервер к интернету

Доступ в интернет осуществляется через публичную подсеть или публичный IP-адрес.

Пропускная способность сети через интернет и локально — 1 Гбит/с.

Через публичную подсеть

  1. В панели управления перейдите в раздел Облачная платформа ⟶ Сеть.
  2. Откройте вкладку Публичные подсети ⟶ нажмите Создать подсеть.
  3. Выберите пул подсети.
  4. Выберите размер подсети.
  5. Нажмите Создать.
  6. Перейдите в раздел Облачная платформа ⟶ Серверы.
  7. Откройте страницу сервера вкладка Порты.
  8. Нажмите Добавить порт.
  9. Выберите публичную подсеть.
  10. Укажите IP-адрес.
  11. Нажмите Добавить порт.

Через публичный IP-адрес

  1. Создайте публичный IP-адрес.
  2. Создайте облачный роутер с подключением к внешней сети.
  3. В панели управления перейдите в раздел Облачная платформа ⟶ Серверы.
  4. Откройте страницу сервера вкладка Порты.
  5. Нажмите Добавить порт.
  6. Выберите приватную подсеть.
  7. Укажите IP-адрес.
  8. Нажмите Добавить порт.
  9. Подключите к порту публичный IP-адрес — в столбце Публичный IP-адрес нажмите Подключить и выберите публичный IP-адрес.

Облачный сервер в подсети глобального роутера

Если у вас есть облачный сервер, который находится в сети глобального роутера (ранее — сети L3 VPN), то вы можете настроить доступ в интернет через облачный роутер. Облачный сервер будет связан с другими устройствами в приватной сети глобального роутера.

  1. Создайте облачный роутер. При создании отметьте чекбокс Подключить роутер к внешней сети.
  2. Подключите к облачному роутеру подсеть глобального роутера. Для этого в панели управления откройте карточку роутера нажмите Добавить подсеть ⟶ выберите созданную ранее подсеть глобального роутера укажите IP-адрес роутера, отличный от IP-адреса глобального роутера, IP-адресов облачных серверов в сети и служебных адресов .253 и .254 нажмите Добавить подсеть.
  3. Подключите к облачному серверу публичный IP-адрес. Перейдите в раздел Облачная платформа ⟶ Серверы ⟶ откройте страницу сервера вкладка Порты ⟶ в строке с подсетью глобального роутера в столбце Публичный IP-адрес нажмите Подключить.
  4. Укажите порт роутера шлюзом по умолчанию. В строке с подсетью глобального роутера в меню (⋮) выберите Сделать шлюзом по умолчанию.
  5. Пропишите маршруты на облачном сервере до всех подсетей глобального роутера.

Управление сетями с помощью 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                                  |
+---------------------+--------------------------------------+