---
title: 'Облачные роутеры'
sidebar_label: 'Облачные роутеры'
sidebar_position: 7
description: 'Как создать облачный роутер, подключить подсеть к облачному роутеру, подключить роутер к интернету и другие инструкции'
---

import Formbricks from '@theme/MDXComponents/Formbricks'
import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import {TabItemLabel} from '@selectel/docux/components'
import MoreVerticalIcon from '@selectel/docux/icons/more-vertical'
import TrashIcon from '@selectel/docux/icons/trash'
import CheckIcon from '@selectel/docux/icons/check'
import EditIcon from '@selectel/docux/icons/edit'
import ConnectPrivateSubnetToCloudRouter from '@site/docs/_partials/cloud-servers/cloud-networks/connect-private-subnet-to-cloud-router.mdx'
import DisconnectPrivateSubnetFromCloudRouter from '@site/docs/_partials/cloud-servers/cloud-networks/disconnect-private-subnet-from-cloud-router.mdx'

# Облачные роутеры

С помощью облачного роутера можно:

* маршрутизировать трафик между [приватными подсетями](/cloud-servers/cloud-networks/private-networks-and-subnets.mdx). Все приватные подсети, подключенные к одному роутеру, могут общаться между собой и использовать IP-адрес роутера как маршрут по умолчанию;
* настроить доступ в интернет для устройств в приватной подсети (исходящий трафик) и из интернета (входящий трафик), подробнее в инструкции [Настроить доступ в интернет и из интернета](/cloud-servers/cloud-networks/configure-access-to-internet.mdx). Облачный роутер выполняет функцию 1:1 NAT через внешний IP-адрес, который выделяется при подключении роутера к интернету: организовывает доступ в интернет из приватной подсети и обрабатывает пакеты входящего трафика для [публичных IP-адресов](/cloud-servers/cloud-networks/public-floating-ip-addresses.mdx).

На облачном роутере можно [настроить статические маршруты](/cloud-servers/cloud-networks/static-routes.mdx#configure-static-routing-on-cloud-router).

Облачный роутер можно использовать только внутри одного [проекта](/access-control/projects/about-projects.mdx) и одного [пула](/infrastructure/locations.mdx#pool).

Для облачных роутеров есть ограничения на объем трафика — пропускная способность. Ее можно посмотреть в таблице [Пропускная способность](/cloud-servers/cloud-networks/about-networks.mdx#bandwidth).

Работать с облачными роутерами можно в [панели управления](https://my.selectel.ru/vpc/default/networks/), с помощью [OpenStack CLI](/cloud-servers/tools/openstack-cli/) или [Terraform](/terraform/providers/).

## Создать облачный роутер \{#create-cloud-router}

При создании роутера в [мультизональном пуле](/infrastructure/locations.mdx#multi-az-pool) ru-6 вы можете выбрать [зону доступности](/infrastructure/locations.mdx#availability-zone), где будет создан роутер. Зону доступности можно выбрать только при создании роутера через OpenStack CLI.

<Tabs queryString="create-cloud-router">
  <TabItem value="panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/vpc/default/routers/) в верхнем меню нажмите **Продукты** и выберите **Облачные серверы**.
    2. Перейдите в раздел **Сеть** → вкладка **Облачные роутеры**.
    3. Нажмите **Создать роутер**.
    4. Выберите [локацию](/infrastructure/locations.mdx), в которой будет создан облачный роутер.
    5. Введите имя роутера.
    6. Опционально: отметьте чекбокс **Подключить роутер к интернету** — для роутера будет выделен внешний IP-адрес.
    7. Нажмите **Создать**.
  </TabItem>

  <TabItem value="openstack">
    <TabItemLabel>
      OpenStack CLI
    </TabItemLabel>

    1. [Откройте OpenStack CLI](/cloud-servers/tools/openstack-cli/).

    2. Создайте облачный роутер:

       ```bash
       openstack router create <router_name>
       ```

       Укажите:

       * `<router_name>` — имя облачного роутера;
       * опционально: `--availability-zone-hint <availability_zone>` —  если роутер создается в [мультизональном пуле](/infrastructure/locations.mdx#multi-az-pool) ru-6, позволяет выбрать [зону доступности](/infrastructure/locations.mdx#availability-zone), где будет создан роутер. Параметр `<availability_zone>` — сегмент пула, например `ru-6a`.

    3. Опционально: подключите облачный роутер к интернету — для роутера будет выделен внешний IP-адрес:

       ```bash
       openstack router set --external-gateway external-network <router>
       ```

       Укажите `<router>` — ID или имя облачного роутера, можно посмотреть с помощью команды `openstack router list`.
  </TabItem>
</Tabs>

## Подключить подсеть к облачному роутеру \{#connect-private-subnet-to-cloud-router}

Чтобы приватные подсети из разных сетей могли общаться между собой, их нужно подключить к одному облачному роутеру. Подсети не должны пересекаться — в них не должно быть одинаковых IP-адресов.

Чтобы настроить для устройств в приватных подсетях доступ в интернет и из интернета, используйте инструкцию [Настроить доступ в интернет и из интернета](/cloud-servers/cloud-networks/configure-access-to-internet.mdx).

<ConnectPrivateSubnetToCloudRouter />

## Отключить подсеть от облачного роутера \{#disconnect-private-subnet-from-cloud-router}

<DisconnectPrivateSubnetFromCloudRouter />

## Подключить облачный роутер к интернету \{#connect-cloud-router-to-internet}

Чтобы настроить доступ в интернет для устройств в приватной подсети, подсеть должна быть подключена к облачному роутеру с доступом в интернет. Для доступа в интернет роутер подключается к внешней сети (`external-network`), для него выделяется внешний IP-адрес, через который роутер будет выполнять функцию 1:1 NAT. Внешний IP-адрес роутера не меняется, пока роутер подключен к интернету.

По внешнему IP-адресу роутера нельзя получить доступ к устройствам за роутером из интернета. Он используется только для выхода устройств в интернет через роутер.

Чтобы настроить доступ из интернета к устройствам, используйте публичный IP-адрес или публичную подсеть, подробнее в инструкции [Настроить доступ в интернет и из интернета⁠](/cloud-servers/cloud-networks/configure-access-to-internet.mdx).

<Tabs queryString="connect-cloud-router-to-internet">
  <TabItem value="panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/vpc/default/routers/) в верхнем меню нажмите **Продукты** и выберите **Облачные серверы**.
    2. Перейдите в раздел **Сеть** → вкладка **Облачные роутеры**.
    3. В меню <MoreVerticalIcon /> облачного роутера выберите **Подключить к интернету**.
  </TabItem>

  <TabItem value="openstack">
    <TabItemLabel>
      OpenStack CLI
    </TabItemLabel>

    1. [Откройте OpenStack CLI](/cloud-servers/tools/openstack-cli/).
    2. Подключите облачный роутер к интернету:

       ```bash
       openstack router set --external-gateway external-network <router>
       ```

       Укажите `<router>` — ID или имя облачного роутера, можно посмотреть с помощью команды `openstack router list`.
  </TabItem>
</Tabs>

## Отключить облачный роутер от интернета \{#disconnect-cloud-router-from-internet}

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

Облачный роутер нельзя отключить от интернета, если он обрабатывает трафик для публичных IP-адресов.

<Tabs queryString="disconnect-cloud-router-from-internet">
  <TabItem value="panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/vpc/default/routers/) в верхнем меню нажмите **Продукты** и выберите **Облачные серверы**.
    2. Перейдите в раздел **Сеть** → вкладка **Облачные роутеры**.
    3. В меню <MoreVerticalIcon /> облачного роутера выберите **Отключить от интернета**.
    4. Нажмите **Отключить**.
  </TabItem>

  <TabItem value="openstack">
    <TabItemLabel>
      OpenStack CLI
    </TabItemLabel>

    1. [Откройте OpenStack CLI](/cloud-servers/tools/openstack-cli/).
    2. Отключите облачный роутер от интернету:

       ```bash
       openstack router unset --external-gateway <router>
       ```

       Укажите `<router>` — ID или имя облачного роутера, можно посмотреть с помощью команды `openstack router list`.
  </TabItem>
</Tabs>

## Назначить файрвол на порт облачного роутера \{#assign-firewall-to-cloud-router-port}

:::warning

Входящий и исходящий трафик, который не разрешен в правилах облачного файрвола, будет запрещен на порте облачного роутера. На роутере прервутся активные сессии, которые нельзя устанавливать по новым правилам.

:::

На один порт роутера нельзя назначить более одного файрвола.

<Tabs queryString="assign-firewall-to-cloud-router-port">
  <TabItem value="panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/vpc/default/routers/) в верхнем меню нажмите **Продукты** и выберите **Облачные серверы**.
    2. Перейдите в раздел **Сеть** → вкладка **Облачные роутеры**.
    3. Откройте страницу облачного роутера.
    4. В строке порта приватной подсети, для которой нужно настроить фильтрацию трафика, в поле **Файрвол** нажмите <EditIcon />.
    5. Выберите файрвол.
    6. Нажмите **Сохранить**.
  </TabItem>

  <TabItem value="openstack">
    <TabItemLabel>
      OpenStack CLI
    </TabItemLabel>

    1. [Откройте OpenStack CLI](/cloud-servers/tools/openstack-cli/).
    2. Назначьте файрвол на порт облачного роутера:

       ```bash
       openstack firewall group set --port <router_port> <firewall>
       ```

       Укажите:

       * `<router_port>` — ID или имя порта роутера, на который будет назначен файрвол, можно посмотреть с помощью команды `openstack port list`. Чтобы назначить файрвол на несколько портов роутера, перечислите их ID или имена через пробел;
       * `<firewall>` — ID или имя файрвола, можно посмотреть с помощью команды `openstack firewall group list`.
  </TabItem>
</Tabs>

## Отключить файрвол от порта облачного роутера \{#disconnect-firewall-from-cloud-router-port}

:::warning

Правила облачного файрвола перестанут действовать — весь входящий и исходящий трафик, который проходит через порт облачного роутера, будет разрешен.

:::

<Tabs queryString="disconnect-firewall-from-cloud-router-port">
  <TabItem value="panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/vpc/default/routers/) в верхнем меню нажмите **Продукты** и выберите **Облачные серверы**.
    2. Перейдите в раздел **Сеть** → вкладка **Облачные роутеры**.
    3. Откройте страницу роутера.
    4. В строке порта приватной подсети, для которой была настроена фильтрация трафика, в поле **Файрвол** нажмите <EditIcon />.
    5. Выберите **Без файрвола**.
    6. Нажмите **Сохранить**.
  </TabItem>

  <TabItem value="openstack">
    <TabItemLabel>
      OpenStack CLI
    </TabItemLabel>

    1. [Откройте OpenStack CLI](/cloud-servers/tools/openstack-cli/).
    2. Отключите файрвол от порта роутера:

       ```bash
       openstack firewall group unset --port <router_port> <firewall>
       ```

       Укажите:

       * `<router_port>` — ID или имя порта роутера, от которого будет отключен файрвол, можно посмотреть с помощью команды `openstack port list`;
       * `<firewall>` — ID или имя файрвола, можно посмотреть с помощью команды `openstack firewall group list`.
  </TabItem>
</Tabs>

## Включить облачный роутер \{#enable-cloud-router}

<Tabs queryString="enable-cloud-router">
  <TabItem value="panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/vpc/default/routers/) в верхнем меню нажмите **Продукты** и выберите **Облачные серверы**.
    2. Перейдите в раздел **Сеть** → вкладка **Облачные роутеры**.
    3. В карточке облачного роутера включите роутер.
  </TabItem>

  <TabItem value="openstack">
    <TabItemLabel>
      OpenStack CLI
    </TabItemLabel>

    1. [Откройте OpenStack CLI](/cloud-servers/tools/openstack-cli/).
    2. Включите облачный роутер:

       ```bash
       openstack router set --enable <router>
       ```

       Укажите `<router>` — ID или имя роутера, можно посмотреть с помощью команды `openstack router list`.
  </TabItem>
</Tabs>

## Выключить облачный роутер \{#disable-cloud-router}

Роутер нельзя выключить, если он обрабатывает трафик для [публичного IP-адреса](/cloud-servers/cloud-networks/public-floating-ip-addresses.mdx).

<Tabs queryString="disable-cloud-router">
  <TabItem value="panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/vpc/default/routers/) в верхнем меню нажмите **Продукты** и выберите **Облачные серверы**.
    2. Перейдите в раздел **Сеть** → вкладка **Облачные роутеры**.
    3. В карточке облачного роутера выключите роутер.
  </TabItem>

  <TabItem value="openstack">
    <TabItemLabel>
      OpenStack CLI
    </TabItemLabel>

    1. [Откройте OpenStack CLI](/cloud-servers/tools/openstack-cli/).
    2. Выключите облачный роутер:

       ```bash
       openstack router set --disable <router>
       ```

       Укажите `<router>` — ID или имя облачного роутера, можно посмотреть с помощью команды `openstack router list`.
  </TabItem>
</Tabs>

## Удалить облачный роутер \{#delete-cloud-router}

<Tabs queryString="delete-cloud-router">
  <TabItem value="panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/vpc/default/routers/) в верхнем меню нажмите **Продукты** и выберите **Облачные серверы**.

    2. Перейдите в раздел **Сеть** → вкладка **Облачные роутеры**.

    3. Отключите от роутера все подключенные подсети, для этого удалите с роутера порты всех подсетей:

       3.1. Откройте страницу роутера → вкладка **Порты**.

       3.2. В строке любого порта нажмите <TrashIcon />.

       3.3. Нажмите **Удалить**.

       3.4. Повторите шаги 3.2–3.3 для всех оставшихся портов.

    4. В меню <MoreVerticalIcon /> роутера выберите **Удалить роутер**.

    5. Нажмите **Удалить**.
  </TabItem>

  <TabItem value="openstack">
    <TabItemLabel>
      OpenStack CLI
    </TabItemLabel>

    1. [Откройте OpenStack CLI](/cloud-servers/tools/openstack-cli/).

    2. Если к роутеру подключены подсети, удалите порты роутера:

       ```bash
       openstack router remove port <router> <port_id>
       ```

       Укажите:

       * `<router>` — ID или имя облачного роутера, можно посмотреть с помощью команды `openstack router list`;
       * `<port_id>` — ID порта, подключенного к роутеру, можно посмотреть с помощью команды `openstack port list --router <router>`.

    3. Удалите роутер:

       ```bash
       openstack router delete <router>
       ```
  </TabItem>
</Tabs>

<Formbricks />
