Приватные подсети и сети
Приватные сети — это L2-сегменты сети. В каждой приватной сети должна быть создана хотя бы одна приватная подсеть. Приватные подсети — это диапазоны приватных IP-адресов на уровне L3, ограниченные размером CIDR. Если устройства находятся в разных приватных подсетях одной приватной сети, они могут общаться напрямую.
Внутри разных приватных сетей могут быть подсети с одинаковыми префиксами (масками), но внутри одной сети префиксы подсетей должны быть разными. По умолчанию приватные сети и подсети не имеют доступа в интернет и из интернета, в них нельзя использовать публичную адресацию.
Чтобы приватные подсети из разных сетей могли общаться, их нужно подключить к одному облачному роутеру. Для организации сетевой связности на уровне L3 между устройствами в разных пулах (в том числе, в разных проектах и аккаунтах) или между разными услугами нужно подключить приватные подсети к глобальному роутеру. Адреса подсетей, подключенных к одному роутеру (облачному или глобальному), не должны пересекаться.
По умолчанию приватные сети и принадлежащие им подсети можно использовать только внутри одного проекта и одного пула. Можно настроить общий доступ к приватной сети в разных проектах внутри одного аккаунта.
Внутри приватных подсетей есть ограничения на объем трафика — пропускная способность. Ее можно посмотреть в таблице Пропускная способность.
Работать с приватными подсетями и сетями можно в панели управления, с помощью OpenStack CLI или Terraform.
Автоматические настройки приватной подсети
В приватных подсетях указываются настройки по умолчанию: шлюз по умолчанию и DNS-серверы. Если вы добавляете устройство в существующую подсеть, настройки применяются к нему автоматически. Если вы изменили настройки подсети, в которой уже есть устройства, для применения настроек нужно обновить сетевые настройки на всех устройствах в подсети.
Шлюз по умолчанию
При создании приватной подсети для шлюза по умолчанию резервируется первый свободный IP-адрес. Например, для подсети с CIDR 192.168.0.0/24
под шлюз будет зарезервирован 192.168.0.1
. Шлюз по умолчанию можно изменить при создании подсети или изменить после создания.
DNS-серверы
При создании приватной подсети на устройствах в подсети автоматически прописываются DNS-серверы Selectel. DNS-серверы можно изменить при создании подсети или изменить после создания.
Статические маршруты
По умолчанию в подсетях не указаны статические маршруты. Для приватных подсетей можно настроить статические маршруты.
Создать приватную сеть
Панель у правления
OpenStack CLI
- В панели управления перейдите в раздел Облачная платформа → Сеть.
- Откройте вкладку Приватные сети.
- Нажмите Создать сеть.
- Выберите пул, в котором будет создана приватная сеть.
- Введите имя сети.
- Опционально: введите комментарий для сети.
- Введите CIDR подсети — диапазон IP-адресов, доступных в подсети.
- Опционально: чтобы изменить IP-адрес шлюза по умолчанию, нажмите . Введите значение. Нажмите .
- Опционально: чтобы изменить DNS-серверы, нажмите . Введите от одного до трех значений. Нажмите .
- Опционально: чтобы включить DHCP, отметьте чекбокс Включить DHCP.
- Опционально: чтобы добавить еще одну подсеть, нажмите Добавить подсеть и перейдите на шаг 7.
- Нажмите Создать.
-
Создайте приватную сеть:
openstack network create <network_name>
Укажите
<network_name>
— имя приватной сети.
Добавить подсеть в приватную сеть
Панель управления
OpenStack CLI
- В панели управления перейдите в раздел Облачная платформа → Сеть.
- Откройте вкладку Приватные сети.
- Откройте страницу сети → вкладка Подсети.
- Нажмите Создать подсеть.
- Введите CIDR подсети — диапазон IP-адресов, доступных в подсети.
- Опционально: измените IP-адрес шлюза по умолчанию.
- Опционально: измените DNS-серверы. Введите от одного до трех значений.
- Опционально: чтобы включить DHCP, отметьте чекбокс Включить DHCP.
- Нажмите .
-
Создайте подсеть в приватной сети:
openstack subnet create \
--subnet-range <cidr> \
[--dhcp | --no-dhcp] \
--gateway <gateway> \
--network <network> \
<subnet_name>Укажите:
<cidr>
— CIDR приватной подсети, например192.168.0.0/24
;- опцию DHCP:
--dhcp
— включить DHCP;--no-dhcp
— отключить DHCP;
<gateway>
— IP-адрес шлюза по умолчанию, например192.168.0.2
;<network>
— ID или имя приватной сети, можно посмотреть с помощью командыopenstack network list
<subnet_name>
— имя приватной подсети.
Настроить доступ к приватной сети в разных проектах
По умолчанию приватную сеть можно использовать только внутри одного проекта и одного пула. Вы можете настроить общий доступ к приватной сети в разных проектах внутри одного аккаунта. Сеть так же будет доступна только внутри одного пула.
У приватной сети появится тег Кросспроектная
. Управлять сетью можно будет только в проекте, в котором находится подсеть.
Если необходимо объединить приватные сети из разных пулов (в том числе, в разных проектах и аккаунтах), подключите приватную сеть к глобальному роутеру.
Панель управления
- В панели управления перейдите в раздел Облачная платформа.
- Скопируйте ID проекта-получателя, с которым нужно поделиться сетью. Для этого отк ройте меню проектов (название текущего проекта) и в строке нужного проекта нажмите .
- Убедитесь, что вы находитесь в проекте, в котором находится сеть. Для этого откройте меню проектов (название текущего проекта) и выберите исходный проект.
- Перейдите в раздел Облачная платформа → Сеть.
- Откройте вкладку Приватные сети.
- Откройте страницу сети → вкладка Проекты.
- Нажмите Добавить проект.
- Вставьте ID проекта-получателя, который вы скопировали на шаге 2.
- Нажмите .
Включить DHCP в приватной подсети
Протокол DHCP можно использовать для автоматической настройки сети на устройствах. Он позволяет автоматически получать для устройств в приватной подсети IP-адреса, маску подсети, шлюз по умолчанию, адреса DNS-серверов, статические маршруты. Устройства в подсети с включенным DHCP будут автоматически запрашивать настройки у DHCP-сервера: при включении сетевого интерфейса или истечении срока аренды адреса (по умолчанию — 24 часа).
При включении DHCP в подсети будут созданы два порта для DHCP-серверов: для основного и резервного. Для портов будут зарезервированы два первых свободных IP-адреса в подсети. Например, для подсети с CIDR 192.168.0.0/24
будут зарезервированы 192.168.0.2
и 192.168.0.3
DHCP в приватной подсети можно включить при создании приватной сети, добавлении подсети в сеть или для существующей приватной по дсети.
Панель управления
OpenStack CLI
- В панели управления перейдите в раздел Облачная платформа → Сеть.
- Откройте вкладку Приватные сети.
- Откройте страницу приватной сети → вкладка Подсети.
- В карточке подсети разверните блок Автоматические сетевые настройки.
- Включите тумблер DHCP-сервер.
-
Включите DHCP в приватной подсети:
openstack subnet set --dhcp <subnet>
Укажите
<subnet>
— ID или имя приватной подсети, можно посмотреть с помощью командыopenstack subnet list
Отключить DHCP в приватной подсети
При отключении DHCP в приватной подсети освобождаются два IP-адреса, которые были зарезервированы для DHCP-серверов.
Панель управления
OpenStack CLI
- В панели управления перейдите в раздел Облачная платформа → Сеть.
- Откройте вкладку Приватные сети.
- Откройте страницу приватной сети → вкладка Подсети.
- В карточке подсети разверните блок Автоматические сетевые настройки.
- Выключите тумблер DHCP-сервер.
-
Отключите DHCP в приватной подсети:
openstack subnet set --no-dhcp <subnet>
Укажите
<subnet>
— ID или имя приватной подсети, можно посмотреть с помощью командыopenstack subnet list
Изменить шлюз по умолчанию в приватной подсети
При создании приватной подсети для шлюза по умолчанию резервируется первый свободный IP-адрес. Например, для подсети с CIDR 192.168.0.0/24
будет зарезервирован 192.168.0.1
Шлюз по умолчанию можно изменить при создании приватной сети, добавлении подсети в сеть или для существующей приватной подсети.
Панель управления
OpenStack CLI
- В панели управления перейдите в раздел Облачная платформа → Сеть.
- Откройте вкладку Приватные сети.
- Откройте страницу приватной сети → вкладка Подсети.
- В карточке подсети разверните блок Автоматические сетевые настройки.
- В поле Шлюз подсети нажмите .
- Введите новое значение IP-адреса шлюза по умолчанию.
- Нажмите .
- Примените изменения. Для этого обновите сетевые настройки на устройствах в подсети.
-
Удалите существующий пул выделенных IP-адресов в приватной подсети и добавьте новый пул без IP-адреса шлюза по умолчанию:
openstack subnet set \
--no-allocation-pool \
--allocation-pool start=<first_pool_ip_address>,end=<last_pool_ip_address> \
<subnet>Укажите:
<first_pool_ip_address>
— первый IP-адрес нового пула;<last_pool_ip_address>
— последний IP-адрес нового пула. Можно добавить несколько пулов — каждый пул добавляется с помощью опции--allocation-pool start=<first_pool_ip_address>,end=<last_pool_ip_address>
<subnet>
— ID или имя приватной подсети, можно посмотреть с помощью командыopenstack subnet list
-
Укажите новый IP-адрес шлюза по умолчанию:
openstack subnet set --gateway <gateway> <subnet>
Укажите
<gateway>
— IP-адрес шлюза по умолчанию, например192.168.0.5
.Пример изменения IP-адреса шлюза на
192.168.0.5
:openstack subnet set \
--no-allocation-pool \
--allocation-pool start=192.168.0.1,end=192.168.0.4 \
--allocation-pool start=192.168.0.6,end=192.168.0.254 \
--gateway 192.168.0.5 \
1c6e70ea-db7e-4d2f-bf76-4cab8f0cf52a -
Примените изменения. Для этого обновите сетевые настройки на устройствах в подсети.
Изменить DNS-серверы в приватной подсети
При создании приватной подсети на устройствах в подсети автоматически прописываются рекурсивные DNS-серверы Selectel. DNS-серверы можно изменить при создании приватной подсети и добавлении подсети в сеть или для существующей приватной подсети.
Для изменения DNS-серверов в подсети глобального роутера создайте тикет.
Панель управления
OpenStack CLI
- В панели управления перейдите в раздел Облачная платформа → Сеть.
- Откройте вкладку Приватные сети.
- Откройте страницу приватной сети → вкладка Подсети.
- В карточке подсети разверните блок Автоматические сетевые настройки.
- В поле Адреса DNS-серверов нажмите .
- Введите от одного до трех значений.
- Нажмите .
- Примените изменения. Для этого обновите сетевые настройки на устройствах в подсети.
-
Если вам нужно полностью заменить список DNS-серверов, удалите IP-адреса указанных DNS-серверов и добавьте новые:
openstack subnet set \
--no-dns-nameservers \
--dns-nameserver <dns_server> \
<subnet>Укажите:
<dns_server>
— IP-адрес DNS-сервера. Можно добавить несколько DNS-серверов — каждый добавляется с помощью опции--dns-nameserver <dns_server>
;<subnet>
— ID или имя приватной подсети, можно посмотреть с помощью командыopenstack subnet list
Пример изменения DNS-серверов по умолчанию на
192.0.2.3
и192.0.2.4
:openstack subnet set \
--no-dns-nameservers \
--dns-nameserver 192.0.2.3 \
--dns-nameserver 192.0.2.4 \
<subnet> -
Если вам нужно дополнить список DNS-серверов, добавьте IP-адреса новых DNS-серверов:
openstack subnet set \
--dns-nameserver <dns_server> \
<subnet>Укажите:
<dns_server>
— IP-адрес DNS-сервера. Можно добавить несколько DNS-серверов — каждый добавляется с помощью опции--dns-nameserver <dns_server>
;<subnet>
— ID или имя приватной подсети, можно посмотреть с помощью командыopenstack subnet list
-
Примените изменения. Для этого обновите сетевые настройки на устройствах в подсети.
Подключить подсеть к облачному роутеру
Чтобы приватные подсети могли общаться между собой, их нужно подключить к одному облачному роутеру. Подсети должны иметь разные CIDR.
Чтобы настроить доступ в интернет и из интернета для устройств в приватных подсетях с помощью облачного роутера, используйте инструкцию Настроить доступ в интернет и из интернета.
Панель управления
OpenStack CLI
-
В панели управления перейдите в раздел Облачная платформа → Сеть.
-
Откройте вкладку Облачные роутеры.
-
Откройте карточку роутера.
-
Нажмите Добавить подсеть.
-
Выберите приватную подсеть или подсеть глобального роутера.
-
Введите IP-адрес роутера. IP-адрес облачного роутера должен совпадать с шлюзом по умолчанию приватной подсети. Посмотреть шлюз по умолчанию в приватной подсети можно на вкладке Приватные сети → страница сети → вкладка Подсети → карточка подсети → блок Автоматические сетевые настройки → поле Шлюз подсети.
Если вы подключаете подсеть глобального роутера, IP-адрес облачного роутера должен совпадать со шлюзом по умолчанию подсети глобального роутера и отличаться от IP-адреса глобального роутера, IP-адресов устройств в сети и служебных адресов
.253
и.254
. -
Нажмите Добавить подсеть.
-
Подключите подсеть к облачному роутеру:
openstack router add subnet <router> <subnet>
Укажите:
<router>
— ID или имя облачного роутера, можно посмотреть с помощью командыopenstack router list
;<subnet>
— ID или имя приватной подсети, можно посмотреть с помощью командыopenstack subnet list