Облачные роутеры
С помощью облачного роутера можно:
- маршрутизировать трафик между приватными подсетями. Все приватные подсети, подключенные к одному роутеру, могут общаться между собой и использовать IP-адрес роутера как маршрут по умолчанию;
- настроить доступ в интернет для устройств в приватной подсети (исходящий трафик) и из интернета (входящий трафик), подробнее в инструкции Настроить доступ в интернет и из интернета. Облачный роутер выполняет функцию 1:1 NAT через внешний IP-адрес, который выделяется при подключении роутера к интернету: организовывает доступ в интернет из приватной подсети и обрабатывает пакеты входящего трафика для публичных IP-адресов.
На облачном роутере можно настроить статические маршруты.
Облачный роутер можно использовать только внутри одного проекта и одного пула.
Для облачных роутеров есть ограничения на объем трафика — пропускная способность. Ее можно посмотреть в таблице Пропускная способность.
Работать с облачными роутерами можно в панели управления, с помощью OpenStack CLI или Terraform.
Создать облачный роутер
Панель управления
OpenStack CLI
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
- Перейдите в раздел Сеть → вкладка Облачные роутеры.
- Нажмите Создать роутер.
- Выберите пул, в котором будет создан облачный роутер.
- Введите имя роутера.
- Опционально: отметьте чекбокс Подключить роутер к интернету — для роутера будет выделен внешний IP-адрес.
- Нажмите Создать.
-
Создайте облачный роутер:
openstack router create <router_name>Укажите
<router_name>— имя облачного роутера. -
Опционально: подключите облачный роутер к интернету — для роутера будет выделен внешний IP-адрес:
openstack router set --external-gateway external-network <router>Укажите
<router>— ID или имя облачного роутера, можно посмотреть с помощью командыopenstack router list.
Подключить подсеть к облачному роутеру
Чтобы приватные подсети из разных сетей могли общаться между собой, их нужно подключить к одному облачному роутеру. Подсети не должны пересекаться — в них не должно быть одинаковых IP-адресов.
Чтобы настроить для устройств в приватных подсетях доступ в интернет и из интернета, используйте инструкцию Настроить доступ в интернет и из интернета.
Панель управления
OpenStack CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Сеть → вкладка Облачные роутеры.
-
Откройте страницу роутера.
-
Нажмите Подключить подсеть.
-
Выберите приватную подсеть или подсеть глобального роутера.
-
Опционально: введите IP-адрес роутера — любой свободный IP-адрес из подсети. Если вы не укажете IP-адрес, он будет автоматически выбран из свободных адресов подсети.
Чтобы устройства в подсети могли выходить в интернет без настройки дополнительных маршрутов, IP-адрес облачного роутера должен совпадать с шлюзом приватной подсети. Если шлюз подсети уже занят, для выхода в интернет потребуется настроить в подсети статический маршрут через облачный роутер.
Шлюз подсети можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Облачные серверы → Сеть → вкладка Приватные сети → страница сети → вкладка Подсети → карточка подсети → блок Автоматические сетевые настройки → поле Шлюз подсети.
-
Нажмите Подключить.
-
Подключите подсеть к облачному роутеру:
openstack router add subnet <router> <subnet>Укажите:
<router>— ID или имя облачного роутера, можно посмотреть с помощью командыopenstack router list;<subnet>— ID или имя приватной подсети, можно посмотреть с помощью командыopenstack subnet list.
Отключить подсеть от облачного роутера
Нельзя отключить подсеть от облачного роутера, если:
- роутер обрабатывает трафик для публичных IP-адресов устройств в этой подсети;
- на роутере есть статические маршруты, в которых указаны IP-адреса этой подсети в качестве next-hop.
Панель управления
OpenStack CLI
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
- Перейдите в раздел Сеть → вкладка Облачные роутеры.
- Откройте страницу роутера → вкладка Порты.
- В строке порта нужной подсети нажмите .
- Нажмите Удалить.
-
Отключите подсеть от облачного роутера:
openstack router remove subnet <router> <subnet>Укажите:
<router>— ID или имя облачного роутера, можно посмотреть с помощью командыopenstack router list;<subnet>— ID или имя подсети, можно посмотреть с помощью командыopenstack subnet list
Подключить облачный роутер к интернету
Чтобы настроить доступ в интернет для устройств в приватной подсети, подсеть должна быть подключена к облачному роутеру с доступом в интернет. Для доступа в интернет роутер подключается к внешней сети (external-network), для него выделяется внешний IP-адрес, через который роутер будет выполнять функцию 1:1 NAT.
По внешнему IP-адресу роутера нельзя получить доступ к устройствам за роутером из интернета. Он используется только для выхода устройств в интернет через роутер.
Чтобы настроить доступ из интернета к устройствам, используйте публичный IP-адрес или публичную подсеть, подробнее в инструкции Настроить доступ в интернет и из интернета.
Панель управления
OpenStack CLI
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
- Перейдите в раздел Сеть → вкладка Облачные роутеры.
- В меню облачного роутера выберите Подключить к интернету.
-
Подключите облачный роутер к интернету:
openstack router set --external-gateway external-network <router>Укажите
<router>— ID или имя облачного роутера, можно посмотреть с помощью командыopenstack router list.
Отключить облачный роутер от интернета
Если вы отключите облачный роутер от интернета, его внешний IP-адрес вернется в пул адресов. После повторного подключения IP-адрес изменится.
Облачный роутер нельзя отключить от интернета, если он обрабатывает трафик для публичных IP-адресов.
Панель управления
OpenStack CLI
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
- Перейдите в раздел Сеть → вкладка Облачные роутеры.
- В меню облачного роутера выберите Отключить от интернета.
- Нажмите Отключить.
-
Отключите облачный роутер от интернету:
openstack router unset --external-gateway <router>Укажите
<router>— ID или имя облачного роутера, можно посмотреть с помощью командыopenstack router list.
Назначить файрвол на порт облачного роутера
Входящий и исходящий трафик, который не разрешен в правилах облачного файрвола, будет запрещен на порте облачного роутера. На роутере прервутся активные сессии, которые нельзя устанавливать по новым правилам.
На один порт роутера нельзя назначить более одного файрвола.
Панель управления
OpenStack CLI
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
- Перейдите в раздел Сеть → вкладка Облачные роутеры.
- Откройте страницу облачного роутера.
- В строке порта приватной подсети, для которой нужно настроить фильтрацию трафика, в поле Файрвол нажмите .
- Выберите файрвол.
- Нажмите Сохранить.
-
Назначьте файрвол на порт облачного роутера:
openstack firewall group set --port <router_port> <firewall>Укажите:
<router_port>— ID или имя порта роутера, на который будет назначен файрвол, можно посмотреть с помощью командыopenstack port list. Чтобы назначить файрвол на несколько портов роутера, перечислите их ID или имена через пробел;<firewall>— ID или имя файрвола, можно посмотреть с помощью командыopenstack firewall group list.
Отключить файрвол от порта облачного роутера
Правила облачного файрвола перестанут действовать — весь входящий и исходящий трафик, который проходит через порт облачного роутера, будет разрешен.
Панель управления
OpenStack CLI
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
- Перейдите в раздел Сеть → вкладка Облачные роутеры.
- Откройте страницу роутера.
- В строке порта приватной подсети, для которой была настроена фильтрация трафика, в поле Файрвол нажмите .
- Выберите Без файрвола.
- Нажмите Сохранить.
-
Отключите файрвол от порта роутера:
openstack firewall group unset --port <router_port> <firewall>Укажите:
<router_port>— ID или имя порта роутера, от которого будет отключен файрвол, можно посмотреть с помощью командыopenstack port list;<firewall>— ID или имя файрвола, можно посмотреть с помощью командыopenstack firewall group list.
Включить облачный роутер
Панель управления
OpenStack CLI
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
- Перейдите в раздел Сеть → вкладка Облачные роутеры.
- В карточке облачного роутера включите роутер.
-
Включите облачный роутер:
openstack router set --enable <router>Укажите
<router>— ID или имя роутера, можно посмотреть с помощью командыopenstack router list.
Выключить облачный роутер
Роутер нельзя выключить, если он обрабатывает трафик для публичного IP-адреса.
Панель управления
OpenStack CLI
- В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
- Перейдите в раздел Сеть → вкладка Облачные роутеры.
- В карточке облачного роутера выключите роутер.
-
Выключите облачный роутер:
openstack router set --disable <router>Укажите
<router>— ID или имя облачного роутера, можно посмотреть с помощью командыopenstack router list.
Удалить облачный роутер
Панель управления
OpenStack CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Сеть → вкладка Облачные роутеры.
-
Отключите от роутера все подключенные подсети, для этого удалите с роутера порты всех подсетей:
3.1. Откройте страницу роутера → вкладка Порты.
3.2. В строке любого порта нажмите .
3.3. Нажмите Удалить.
3.4. Повторите шаги 3.2–3.3 для всех оставшихся портов.
-
В меню роутера выберите Удалить роутер.
-
Нажмите Удалить.
-
Если к роутеру подключены подсети, удалите порты роутера:
openstack router remove port <router> <port_id>Укажите:
<router>— ID или имя облачного роутера, можно посмотреть с помощью командыopenstack router list;<port_id>— ID порта, подключенного к роутеру, можно посмотреть с помощью командыopenstack port list --router <router>.
-
Удалите роутер:
openstack router delete <router>