Перейти к основному содержимому
Управлять сетями

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

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

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

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

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

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

Добавить подсеть в приватную сеть

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

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

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

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

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

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

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

Включить DHCP

Протокол DHCP можно использовать для автоматической настройки сети на облачных серверах. Он позволяет автоматически получать IP-адреса и другие параметры (маску подсети, шлюз, адреса DNS-серверов) для устройств в приватной подсети.

DHCP можно включить при создании приватной сети, добавлении подсети в существующую сеть или для существующей приватной сети.

При включении DHCP в подсети создаются два порта для основного и резервного DHCP-серверов, для них резервируется два IP-адреса. Облачный сервер будет автоматически запрашивать настройки у DHCP-сервера: при включении сетевого интерфейса или истечении срока аренды адреса (по умолчанию 24 часа). DHCP-сервер будет выдавать IP-адрес, зарезервированный для порта сервера.

  1. В панели управления перейдите в раздел Облачная платформа → Сеть.
  2. Откройте вкладку Приватные сети.
  3. Откройте карточку сети.
  4. В строке нужной подсети включите тумблер DHCP.
  5. Перейдите в раздел Серверы.
  6. Откройте страницу сервера вкладка Порты.
  7. В блоке Настройка портов выберите Вручную в файле конфигурации сети на сервере.
  8. Настройте DHCP в конфигурационном файле облачного сервера.

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

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

Роутер можно использовать для настройки доступа в интернет из приватной сети или для доступа к устройству в приватной подсети из интернета по публичному 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. В панели управления перейдите в раздел Облачная платформа → Сеть.
  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 |
+---------------------+--------------------------------------+