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

Создание приватной сети в панели управления

Для создания приватной сети в панели управления:

  1. Перейдите в раздел Сеть в проекте.
  2. Перейдите на вкладку Приватные сети и выберите в списке необходимый регион.
  3. Нажмите кнопку Создать сеть.
  4. В открывшемся окне введите имя сети. Пропишите CIDR подсети – диапазон IP-адресов, доступных в этой подсети. Можно добавить несколько, нажав Добавить подсеть.
  5. Нажмите кнопку Создать.

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

Примечание: приватную сеть можно создать при создании облачного сервера.

Объединение серверов в приватную сеть в панели управления

Все облачные серверы можно объединять в приватную сеть.

В одном проекте

Для подключения облачного сервера к нужной приватной сети в панели управления:

  1. Перейдите в раздел Серверы в проекте.
  2. Откройте страницу сервера.
  3. Перейдите на вкладку Порты.
  4. Нажмите кнопку Добавить порт и выберите приватную подсеть.

Между проектами

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

Чтобы сделать приватную сеть одного проекта доступной для другого проекта (кросспроектную сеть) в панели управления:

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

Далее вы сможете подключить облачные серверы к кросспроектной сети.

Подключение приватной сети к роутеру в панели управления

Приватную сеть можно подключить к виртуальному роутеру для организации NAT-доступа в интернет и назначения выбранным облачным серверам внешних IP-адресов.

Для подключения приватной сети к роутеру в панели управления:

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

Примечание: созданный роутер можно подключить к шлюзу external-network на вкладке Подключение в карточке роутера.

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

Доступ в интернет осуществляется через публичные подсети или плавающий IP-адрес. Плавающий IP-адрес является полноценным внешним IP-адресом, он доступен до тех пор, пока не будет удален.

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

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

Для подключения сервера к публичной подсети в панели управления:

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

Через плавающий IP

Для использования плавающего IP в панели управления:

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

VRRP-подсети

Одной VRRP-подсетью можно связать 2 региона. В одном проекте может быть несколько VRRP-подсетей, если в проекте доступно более 2 регионов.

Для использования VRRP-подсети в панели управления:

  1. Перейдите в раздел Квоты в проекте.
  2. Нажмите кнопку Изменить квоты.
  3. Измените квоты для VRRP-подсетей в поле Межрегиональные ресурсы.
  4. Перейдите в раздел Сеть в проекте.
  5. Перейдите на вкладку VRRP-подсети.
  6. Нажмите кнопку Создать VRRP-подсеть.
  7. Выберите регионы для добавления VRRP-подсети и ознакомьтесь со стоимостью услуги. Нажмите кнопку Добавить VRRP-подсеть.

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

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

Для выделения плавающего адреса:

openstack floating ip create external-network

Для назначения серверу плавающего адреса, созданного ранее в панели управления:

openstack server add floating ip <server> <IP address>

В параметре <server> может быть использовано имя или ID сервера.

Проброс порта

Проброс порта (port forwarding) используется для перенаправления трафика с одного порта на другой порт. Например, можно настроить проброс порта на плавающем 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                                  |
+---------------------+--------------------------------------+