Публичные подсети
Публичная подсеть — это диапазон публичных статических IP-адресов, ограниченный размером префикса (маски). Все устройства в публичной подсети имеют публичный IP-адрес и доступ в интернет и из интернета. Настроить доступ через публичную подсеть можно для облачного сервера, облачного балансировщика нагрузки и кластера облачных баз данных — подробнее в инструкции Настроить доступ в интернет и из интернета.
IP-адреса из публичной подсети не об рабатываются облачным роутером с помощью 1:1 NAT, а подключаются напрямую к устройствам: облачному серверу, облачному балансировщику нагрузки, кластеру облачных баз данных. Из-за отсутствия NAT такой вид подключения устройств к интернету более отказоустойчивый и быстрый, но менее безопасный, чем подключение через публичный IP-адрес.
Устройства в публичной подсети взаимодействуют друг с другом через публичные интерфейсы.
Публичную подсеть можно использовать только внутри одного проекта и одного пула.
Внутри публичных подсетей есть ограничения на объем трафика — пропускная способность. Ее можно посмотреть в таблице Пропускная способность.
Работать с публичными подсетями можно в панели управления или Terraform.
Размеры публичных подсетей
Доступны публичные подсети размером от /29 (пять свободных адресов IPv4) до /24 (253 свободных адреса IPv4). В каждой публичной подсети резервируется три служебных IP-адреса:
- первый IP-адрес — адрес сети;
- второй IP-адрес — адрес шлюза;
- последний IP-адрес — широковещательный адрес.
Остальные IP-адреса можно назначить на устройства.
Пример для подсети 192.0.2.0/29
— доступны пять адресов:
- 192.0.2.0 — адрес сети;
- 192.0.2.1 — адрес шлюза;
- 192.0.2.2 — можно использовать;
- 192.0.2.3 — можно использовать;
- 192.0.2.4 — можно использовать;
- 192.0.2.5 — можно использовать;
- 192.0.2.6 — можно использовать;
- 192.0.2.7 — широковещательный адрес.
Если в публичной подсети закончились свободные IP-адреса, можно создать новую публичную подсеть.
Автоматические настройки публичной подсети
В публичных подсетях указываются настройки по умолчанию: шлюз по умолчанию и DNS-серверы. Настройки применяются к устройствам в подсети автоматически.
Шлюз по умолчанию
При создании публичной подсети для шлюза по умолчанию резервируется второй IP-адрес. Шлюз по умолчанию в публичной подсети нельзя изменить.
DNS-серверы
При создании публичной подсети на устройствах в подсети автоматически прописываются DNS-серверы Selectel. DNS-серверы можно изменить при создании подсети или изменить после создания.
Статические маршруты
По умолчанию в подсетях не указаны статические маршруты. Для публичных подсетей можно настроить статические маршруты.
Создать публичную подсеть
Панель управления
- В панели управления перейдите в раздел Облачная платформа → Сеть.
- Откройте вкладку Публичные сети.
- Нажмите Создать подсеть.
- Выберите пул, в котором будет создана публичная подсеть.
- Выберите размер подсети — диапазон IP-адресов, доступных в подсети.
- Опционально: чтобы изменить DNS-серверы, нажмите . Введите от одного до трех значений. Нажмите .
- Нажмите Создать.
Настроить доступ к публичной подсети в разных проектах
По умолчанию публичную подсеть можно использовать только внутри одного проекта и одного пула. Вы можете настроить общий доступ к публичной подсети в разных проектах внутри одного аккаунта. Подсеть так же будет доступна только внутри одного пула.
У публичной подсети появится тег Кросспроектная
. Управлять подсетью можно будет только в проекте, в котором находится подсеть.
Панель управления
- В панели управления перейдите в раздел Облачная платформа.
- Скопируйте ID проекта-получателя, с которым нужно поделиться подсетью. Откройте меню проектов (название текущего проекта) и в строке нужного проекта нажмите .
- Убедитесь, что вы находитесь в проекте, в котором находится подсеть. Откройте меню проектов (название текущего проекта) и выберите исходный проект.
- Перейдите в раздел Облачная платформа → Сеть.
- Откройте вкладку Публичные сети.
- Откройте карточку сети → вкладка Проекты.
- Нажмите Добавить проект.
- Вставьте ID проекта-получателя, который вы скопировали на шаге 2.
- Нажмите .
Изменить DNS-серверы в публичной подсети
При создании публичной подсети на устройствах в подсети автоматически прописываются рекурсивные DNS-серверы Selectel. 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
Удалить публичную подсеть
Панель управления
- В панели управления перейдите в раздел Облачная платформа → Сеть.
- Откройте вкладку Публичные сети.
- В меню публичной подсети выберите Удалить подсеть.
- Введите адрес подсети для подтверждения удаления.
- Нажмите Удалить.