---
title: 'Настроить доступ в интернет и из интернета'
sidebar_label: 'Настроить доступ в интернет и из интернета'
sidebar_position: 10
description: 'Как настроить доступ в интернет и из интернета для устройства через публичный плавающий IP-адрес, публичную подсеть и настроить доступ в интернет через облачный роутер⁠'
---

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 EditIcon from '@selectel/docux/icons/edit'
import CheckIcon from '@selectel/docux/icons/check'
import CopyIcon from '@selectel/docux/icons/copy'
import { CustomTable } from '@selectel/docux/components';
import CreatePublicSubnet from '@site/docs/_partials/cloud-servers/cloud-networks/create-public-subnet.mdx'
import ConnectDirectIpToCloudServer from '@site/docs/_partials/cloud-servers/cloud-networks/connect-direct-ip-to-cloud-server.mdx'
import ConnectPrivateSubnetToCloudRouter from '@site/docs/_partials/cloud-servers/cloud-networks/connect-private-subnet-to-cloud-router.mdx'
import CreateCloudRouterWithExternalIP from '@site/docs/_partials/cloud-servers/cloud-networks/create-cloud-router-with-external-ip.mdx'
import Formbricks from '@theme/MDXComponents/Formbricks'

# Настроить доступ в интернет и из интернета

Для облачного сервера, облачного балансировщика нагрузки и кластера облачных баз данных можно настроить доступ в интернет и из интернета:

* [через публичный плавающий IP-адрес](#internet-access-via-floating-ip);
* [через прямой публичный IP-адрес](#internet-access-via-direct-ip) — только для облачного сервера;
* [через публичную подсеть](#internet-access-via-public-subnet).

Если для устройства нужен доступ только в интернет без доступа из интернета, можно настроить его [через облачный роутер](#internet-access-via-cloud-router).

## Выбрать способ доступа в интернет и из интернета \{#choose-internet-access-option}

<CustomTable>
  <table>
    <thead>
      <tr>
        <th />

        <th>Публичный плавающий IP-адрес</th>
        <th>Прямой публичный IP-адрес</th>
        <th>Публичная подсеть</th>
        <th>Облачный роутер с подключением к интернету</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <th>Доступ в интернет</th>
        <td>✓</td>
        <td>✓</td>
        <td>✓</td>
        <td>✓</td>
      </tr>

      <tr>
        <th>Доступ из интернета</th>
        <td>✓</td>
        <td>✓</td>
        <td>✓</td>
        <td>✗</td>
      </tr>

      <tr>
        <th>Для каких устройств доступен</th>

        <td>
          * облачный сервер;
          * облачный балансировщик нагрузки;
          * кластер облачных баз данных
        </td>

        <td>
          * облачный сервер
        </td>

        <td>
          * облачный сервер;
          * облачный балансировщик нагрузки;
          * кластер облачных баз данных
        </td>

        <td>
          * облачный сервер
        </td>
      </tr>

      <tr>
        <th>Минимальное количество IP-адресов для покупки</th>
        <td>Один IP-адрес</td>
        <td>Один IP-адрес</td>
        <td>Подсеть размером от `/29`</td>
        <td>Один внешний IP-адрес, он входит в стоимость роутера</td>
      </tr>

      <tr>
        <th>Как трафик поступает на устройство</th>
        <td>На плавающий IP-адрес, затем NAT 1:1 через облачный роутер на устройство</td>
        <td>Напрямую на порт</td>
        <td>Напрямую на порт</td>
        <td>На внешний IP-адрес роутера, затем NAT 1:1 через облачный роутер на устройство</td>
      </tr>

      <tr>
        <th>Доступные средства фильтрации трафика</th>

        <td>
          * облачный файрвол;
          * группы безопасности;
          * разрешенные IP/MAC-адреса
        </td>

        <td>
          * группы безопасности
        </td>

        <td>
          * группы безопасности;
          * разрешенные IP/MAC-адреса
        </td>

        <td>
          * Облачный файрвол
        </td>
      </tr>
    </tbody>
  </table>
</CustomTable>

## Настроить доступ в интернет и из интернета через публичный плавающий IP-адрес \{#internet-access-via-floating-ip}

Чтобы настроить доступ в интернет и из интернета для устройств в приватной подсети, нужно подключить подсеть к облачному роутеру с доступом в интернет и подключить публичный плавающий IP-адрес к устройству. Облачный роутер выполняет функцию 1:1 NAT через внешний IP-адрес, который выделяется при подключении роутера к интернету: организовывает доступ в интернет из приватной подсети и обрабатывает пакеты входящего трафика для публичных плавающих IP-адресов.

Подключить публичный плавающий IP-адрес можно при [создании облачного сервера](/cloud-servers/create/create-server.mdx), [создании облачного балансировщика нагрузки](/cloud-servers/load-balancers/create-load-balancer.mdx), [создании кластера облачных баз данных (пример для PostgreSQL)](/managed-databases/postgresql/create-cluster.mdx), а также после создания.

Устройство должно находиться в приватной подсети, которая соответствует требованиям. Для подготовки подсети используйте подраздел [Подготовить приватную подсеть для подключения публичного плавающего IP-адреса⁠⁠](/cloud-servers/cloud-networks/public-floating-ip-addresses.mdx#configure-subnet-for-internet-access) инструкции [Публичные плавающие IP-адреса](/cloud-servers/cloud-networks/public-floating-ip-addresses.mdx).

1. [Создайте публичный плавающий IP-адрес](#create-floating-ip-for-external-access).
2. [Создайте облачный роутер c подключением к интернету⁠](#create-cloud-router-for-external-access).
3. [Подключите приватную подсеть к облачному роутеру](#connect-private-subnet-to-cloud-router-for-external-access).
4. [Подключите к порту устройства в приватной подсети публичный плавающий IP-адрес](#assign-ip-to-port-in-private-subnet-for-external-access).
5. Если шлюз подсети не совпадает с IP-адресом облачного роутера, [настройте статический маршрут в интернет в подсети](#public-ip-configure-static-routing-to-internet-on-subnet).

### 1. Создать публичный плавающий IP-адрес \{#create-floating-ip-for-external-access}

<Tabs queryString="create-floating-ip-for-external-access">
  <TabItem value="panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

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

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

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

       ```bash
       openstack floating ip create external-network
       ```
  </TabItem>
</Tabs>

### 2. Создать облачный роутер c подключением к интернету⁠ \{#create-cloud-router-for-external-access}

<CreateCloudRouterWithExternalIP />

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

<ConnectPrivateSubnetToCloudRouter />

### 4. Подключить публичный плавающий IP-адрес к порту устройства в приватной подсети \{#assign-ip-to-port-in-private-subnet-for-external-access}

<Tabs queryString="assign-ip-to-port-in-private-subnet-for-external-access">
  <TabItem value="panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

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

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

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

       ```bash
       openstack floating ip set --port <port> <floating_ip_address>
       ```

       Укажите:

       * `<port>` — ID порта облачного сервера или балансировщика нагрузки, можно посмотреть с помощью команды `openstack port list`;
       * `<floating_ip_address>` —  ID или публичный плавающий IP-адрес, можно посмотреть с помощью команды `openstack floating ip list`.
  </TabItem>
</Tabs>

### 5. Настроить статический маршрут в интернет в подсети \{#public-ip-configure-static-routing-to-internet-on-subnet}

Если при [подключении подсети к облачному роутеру](#connect-private-subnet-to-cloud-router-for-internal-access) вы указали IP-адрес роутера, отличный от шлюза подсети, то нужно [настроить в подсети статический маршрут](/cloud-servers/cloud-networks/static-routes.mdx#configure-static-routing-on-subnet) в интернет через облачный роутер. При настройке укажите:

* подсеть назначения — `0.0.0.0/0`;
* шлюз (next-hop) — IP-адрес облачного роутера.

## Настроить доступ в интернет и из интернета через прямой публичный IP-адрес \{#internet-access-via-direct-ip}

:::info

Прямые публичные IP-адреса недоступны в [пулах](/infrastructure/locations.mdx#pool) uz-1, uz-2, ke-1.

:::

Если на сервере используется публичный плавающий IP-адрес и вы хотите перейти на прямой публичный, используйте подраздел [Переключить облачный сервер с плавающего публичного IP-адреса на прямой публичный IP-адрес](/cloud-servers/cloud-networks/configure-access-to-internet.mdx#change-floating-ip-to-direct-ip)

<ConnectDirectIpToCloudServer />

## Переключить облачный сервер с публичного плавающего IP-адреса на прямой публичный IP-адрес \{#change-floating-ip-to-direct-ip}

:::info

Прямые публичные IP-адреса недоступны в [пулах](/infrastructure/locations.mdx#pool) uz-1, uz-2, ke-1.

:::

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

При этом:

* IP-адрес сервера изменится, так как плавающие и прямые публичные IP-адреса выделяются из разных публичных диапазонов;
* вы не сможете использовать облачный файрвол для фильтрации трафика;
* вы не сможете настроить для порта разрешенные IP/MAC-адреса. Трафик порта с публичным прямым IP-адресом может отправляться только с одной пары IP/MAC-адрес.

Чтобы перейти на прямой публичный IP-адрес:

1. [Подключите прямой публичный IP-адрес к облачному серверу](#connect-direct-ip-to-server).
2. Если у вас были настроены группы безопасности помимо [группы по умолчанию](/cloud-servers/security-groups/about-security-groups.mdx#default-security-group), [назначьте их на новый порт](#assign-security-groups-to-new-port).
3. [Смените шлюз по умолчанию на облачном сервере](#change-default-gateway-on-server).
4. Опционально: [проверьте доступ в интернет и из интернета](#check-internet-access).
5. Опционально: [удалите облачный роутер](#delete-cloud-router).
6. Опционально: [удалите публичный плавающий IP-адрес](#delete-floating-ip).

### 1. Подключить прямой публичный IP-адрес к облачному серверу \{#connect-direct-ip-to-server}

<ConnectDirectIpToCloudServer />

### 2. Назначить группы безопасности на новый порт \{#assign-security-groups-to-new-port}

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

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

### 3. Сменить шлюз по умолчанию на облачном сервере \{#change-default-gateway-on-server}

<Tabs queryString="change-default-gateway-on-server">
  <TabItem value="panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/vpc/default/servers/list/) в верхнем меню нажмите **Продукты** и выберите **Облачные серверы**.
    2. В разделе **Серверы** откройте страницу сервера → вкладка **Порты**.
    3. В меню <MoreVerticalIcon /> порта выберите **Назначить по умолчанию шлюз из подсети**.
    4. [Обновите сетевые настройки на сервере](/cloud-servers/cloud-networks/update-network-settings.mdx#configure-static-routing).
  </TabItem>

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

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

    2. Настройте шлюз по умолчанию для облачного сервера:

       ```bash
       openstack server set \
         --property x_sel_server_default_addr='{"ipv4":"<gateway>"}' \
         <server>
       ```

       Укажите:

       * `<gateway>` — шлюз служебной подсети, в которой находится прямой публичный IP-адрес, можно посмотреть в панели управления: в верхнем меню нажмите **Продукты** → **Облачные серверы** → страница сервера → вкладка **Порты** → карточка порта → в поле **Шлюз** нажмите <CopyIcon />;
       * `<server>` — ID или имя облачного сервера, можно посмотреть с помощью команды `openstack server list`.

    3. [Обновите сетевые настройки на сервере](/cloud-servers/cloud-networks/update-network-settings.mdx#configure-static-routing).
  </TabItem>
</Tabs>

### 4. Опционально: проверить доступ в интернет и из интернета \{#check-internet-access}

1. Откройте CLI.

2. Проверьте доступность сервера по новому IP-адресу:

   ```bash
   ping <direct_public_ip>
   ```

   Укажите `<direct_public_ip>` — прямой публичный IP-адрес, который вы [подключили к серверу](#connect-direct-ip-to-server).

3. Подключитесь к серверу.

4. Проверьте с сервера доступность любого публичного IP-адреса, например:

   ```bash
   ping 8.8.8.8
   ```

### 5. Опционально: удалить облачный роутер \{#delete-cloud-router}

Вы можете удалить облачный роутер, если он использовался только для доступа в интернет. Используйте подраздел [Удалить облачный роутер](/cloud-servers/cloud-networks/cloud-routers.mdx#delete-cloud-router) инструкции [Облачные роутеры](/cloud-servers/cloud-networks/cloud-routers.mdx).

### 6. Опционально: удалить плавающий публичный IP-адрес \{#delete-floating-ip}

После удаления публичный плавающий IP-адрес вернется в пул публичных адресов. Вы не сможете снова приобрести тот же плавающий IP-адрес.

Используйте подраздел [Удалить публичный плавающий IP-адрес](/cloud-servers/cloud-networks/public-floating-ip-addresses.mdx#delete-public-floating-ip) инструкции [Публичные плавающие IP-адреса](/cloud-servers/cloud-networks/public-floating-ip-addresses.mdx).

## Настроить доступ в интернет и из интернета через публичную подсеть \{#internet-access-via-public-subnet}

Чтобы настроить доступ в интернет и из интернета через [публичную подсеть](/cloud-servers/cloud-networks/public-subnets.mdx), нужно подключить устройство к публичной подсети. Для балансировщика нагрузки и кластера облачных баз данных это можно сделать только при [создании балансировщика](/cloud-servers/load-balancers/create-load-balancer.mdx) и [создании кластера (пример для PostgreSQL)](/managed-databases/postgresql/create-cluster.mdx). Облачный сервер можно подключить к публичной подсети или при [создании сервера](/cloud-servers/create/create-server.mdx), или после создания — для этого нужно добавить облачный сервер в публичную подсеть через порт.⁠

1. [Создайте публичную подсеть](#create-public-subnet).
2. [Добавьте облачный сервер в публичную подсеть через порт](#add-cloud-server-to-subnet-via-port).

### 1. Создать публичную подсеть \{#create-public-subnet}

<CreatePublicSubnet />

### 2. Добавьте облачный сервер в публичную подсеть через порт \{#add-cloud-server-to-subnet-via-port}

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

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

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

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

    2. Создайте порт в публичной подсети:

       ```bash
       openstack port create \
         --network <subnet> \
         --fixed-ip subnet=<subnet>,ip-address=<port_ip_address> \
         <port_name>
       ```

       Укажите:

       * `<subnet>` — ID или имя публичной подсети, можно посмотреть с помощью команды `openstack network list`;
       * `<port_ip_address>` — IP-адрес порта;
       * `<port_name>` — имя порта.

    3. Добавьте порт к облачному серверу:

       ```bash
       openstack server add port <server> <port>
       ```

       Укажите:

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

## Настроить доступ в интернет через облачный роутер \{#internet-access-via-cloud-router}

Можно настроить доступ в интернет для устройств в приватной подсети без внешнего доступа из интернета.

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

1. [Создайте облачный роутер c подключением к интернету⁠](#create-cloud-router-for-internal-access).
2. [Подключите приватную подсеть к облачному роутеру](#connect-private-subnet-to-cloud-router-for-internal-access).
3. Если шлюз подсети не совпадает с IP-адресом облачного роутера, [настройте статический маршрут в интернет в подсети](#router-configure-static-routing-to-internet-on-subnet).

### 1. Создать облачный роутер c подключением к интернету⁠ \{#create-cloud-router-for-internal-access}

<CreateCloudRouterWithExternalIP />

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

<ConnectPrivateSubnetToCloudRouter />

### 3. Настроить статический маршрут в интернет в подсети \{#router-configure-static-routing-to-internet-on-subnet}

Если при [подключении подсети к облачному роутеру](#connect-private-subnet-to-cloud-router-for-internal-access) вы указали адрес роутера, отличный от шлюза подсети, то нужно [настроить в подсети статический маршрут](/cloud-servers/cloud-networks/static-routes.mdx#configure-static-routing-on-subnet) в интернет через облачный роутер. При настройке укажите:

* подсеть назначения — `0.0.0.0/0`;
* шлюз (next-hop) — IP-адрес облачного роутера.

<Formbricks />
