Skip to content

VPN Gateway

VPN Gateway - сетевой сервис, обеспечивающий работу безопасной виртуальной частной сети (VPN).
Основная цель сервиса — предоставить пользователям и разработчикам простой и безопасный способ доступа к ресурсам аккаунта в облаке через VPN.

При создании аккаунта платформа автоматически выделяет многофункциональную виртуальную машину Cloud Gateway, выполняющую роль VPN-сервера (VPN-шлюза).
Для подключения к VPN на устройстве пользователя должно быть установлено VPN-клиентское ПО Wireguard.

Функциональность VPN Gateway:

  • создание VPN-подключений и добавление устройств VPN-клиентов;
  • использование Удаленного шлюза для объединения сетей аккаунта в разных локациях (если клиент использует ICDC Platform в нескольких регионах);
  • Трансляция сетевых адресов - преобразование IP-адресов для решения проблем при пересечении подсетей.

VPN-шлюзы

Во вкладке VPN отображается список доступных VPN-шлюзов.

VPN-шлюз - это тип сетевого шлюза, предоставляемый на базе виртуальной машины CloudGateway, управляемый платформой.
Каждый VPN-шлюз имеет:

  • Публичный ключ Wireguard, который используется для всех подключений.
  • Публичное имя сервера – по умолчанию первый шлюз получает имя вида название_аккаунта.vpn.название_локации.icdc.io.
  • Подсеть NAT – дополнительная подсеть, отсутствующая в локации и на устройствах пользователей, используемая для трансляции внешних IP-адресов клиентов во внутренние IP-адреса виртуальных машин. Это позволяет избежать пересечения IP-диапазонов на клиентских устройствах и в сетях аккаунта.

Пользователь может перейти на страницу Деталей VPN-шлюза, нажав на него.

В Деталях VPN отображаются:

  • Экземпляр облачного шлюза – инстанс, в котором запущен шлюз;
  • Публичный ключ Wireguard;
  • Публичное имя сервера - название_аккаунта.vpn.название_локации.icdc.io;
  • Внутренний адрec - адрес шлюза во внутренней инфраструктуре, нужен для настройки внутренних роутов (например, для отправки трафика между локациями через Cloud Gateway);
  • Подсеть NAT (опционально) - подсеть для трансляции адресов во внутренние IP-адреса виртуальных машин.

Клиентские подключения

Пользователь может создать одно или несколько клиентских подключений — например, для отдельных групп пользователей.
При создании подключения необходимо указать Подсеть устройств и IP-адрес VPN Gateway в этой подсети (адрес шлюза), которая будет использоваться для выделения IP-адресов клиентским устройствам. Указанная подсеть не должна пересекаться с подсетями VPC или сетями на клиентских устройствах.

Create a route

Также в приложении VPC Networks во вкладке Маршрутизация пользователю необходимо добавить новый маршрут (кнопка Создать) для выбранной подсети через внутренний адрес VPN Gateway (обычно 198.18.0.2).

Во вкладке Клиентские подключения отображаются:

  • Название подключения - используется для генерации названия сетевых подключений VPN и NIC на клиентском устройстве;
  • Подсеть устройств - диапазон IP-адресов, из которого будут выделяться IP-адреса устройствам;
  • Адрес шлюза - внутренний IP-адрес VPN Gateway;
  • Конечная точка(Endpoint) – публичная точка доступа для подключения.

Маскировка IP-адресов в VPN

Для упрощения доступа к виртуальным машинам через VPN-подключение, по умолчанию IP-адреса VPN-клиентов маскируются — исходный IP-адрес устройства клиента заменяется на IP-адрес VPN-шлюза (обычно 198.18.0.2).
В результате все клиенты используют один и тот же IP-адрес при обращении к приложениям, запущенным на виртуальных машинах.

Маршрутизатор в роли VPN-клиента

Для упрощения доступа с виртуальных машин к сетям на стороне VPN-клиента, если клиентским устройством является маршрутизатор, предоставляющий доступ к этим сетям, IP-адреса виртуальных машин по умолчанию маскируются (настраивается исходящий NAT). Это позволяет избежать необходимости настройки маршрутов на маршрутизаторе клиента.
Однако в результате все виртуальные машины будут отображаться на стороне клиента с одним и тем же IP-адресом (IP-адресом VPN-шлюза).

Создание подключения

Для создания подключения нажмите Создать подключение.

Необходимо указать:

  • Название подключения;
  • Подсеть устройств - IP-адрес VPN Gateway в подсети клиентского подключения;

Важно

Подсеть устройств (Device Subnet) не должна совпадать с другими подсетями в одном аккаунте, которые определены в VPC Networks.

  • Адрес шлюза - IP-адрес шлюза;
  • Порт - UDP-порт на публичном IP-адресе;

Рекомендация

Для первого подключения рекомендуется использовать порт 2200/udp, так как он преднастроен и предназначен для VPN-соединений. . Для добавления дополнительных портов обратитесь в Cлужбу Поддержки.

  • Максимальную единицу передачи (MTU) - рекомендуемое максимальное значение - 1420;
  • Включить NAT для подсети - опция позволяет упростить настройку сети, включая трансляцию сетевых адресов (NAT) для всех устройств VPN. Это исключает необходимость настраивать маршруты сети и группы безопасности для доступа к целевым виртуальным машинам.

Нажмите Добавить.

Созданное подключение появится в списке Клиентские подключения и может быть изменено или удалено через боковое меню.

Добавление устройства

При нажатии на название Клиентского подключения открывается страница Деталей клиентского подключения, где можно добавить устройства, выбрав Добавить устройство.

Необходимо указать:

  • Название устройства;
  • IP-адрес устройства, который генерируется на основе IP-адреса подсети клиентского подключения;
  • Публичный ключ, который генерируется на устройстве при создании нового подключения в ПО Wireguard;
  • Подсети маршрутизации (опционально) - используется только, если устройством является VPN-шлюз удаленной локации.
    Здесь указываются подсети, которые нужно маршрутизировать c удаленной локации, чтобы трафик с удаленных сетей доходил до сетей текущего аккаунта;
  • Keep Alive (опционально) - интервал времени, в течение которого посылается keepalive-пакет, поддерживающий соединение к UDP-порту устройства.
    Сетевой файервол, за которым находится пользовательское устройство, закрывает неиспользуемые соединения через определенный интервал (обычно 30 сек.), поэтому распространенное значение 25 сек.

Нажмите Добавить.

Устройство появится в списке, где его можно изменить, отключить или удалить.

Удаленные шлюзы

Информация c данными об удаленных шлюзах содержится во вкладке Удаленные шлюзы:

  • Название шлюза;
  • Подсеть устройств - IP-адрес VPN Gateway в подсети клиентского подключения;
  • Адрес шлюза - IP-адрес шлюза;
  • Удаленная конечная точка - публичный Endpoint, к которому происходит подключение;
  • Публичный ключ - публичный ключ Wireguard;
  • Подсети маршрутизации - подсети, которые нужно маршрутизировать c удаленной локации, чтобы трафик с удаленных сетей доходил до текущего аккаунта.

Настройка маршрутизации

Добавление удаленного шлюза позволяет быстро интегрировать сети аккаунта, расположенные в разных удаленных локациях.
Также может использоваться для подключения сетей аккаунта к удалённому VPN-серверу Wireguard, например, установленному в офисе заказчика.

Для создания видимости сетей в двух разных локациях (например, loc1 и loc2) необходимо настроить статическую маршрутизацию:

  1. в локации loc1 добавить маршрутизацию:

    • VPC Networks во вкладке Машрутизация настроить Подсети маршрутизации на подсети из loc2;
    • VPN во вкладке Удаленные шлюзы в Деталях VPN-шлюза настроить Подсети маршрутизации на подсети из loc2;
  2. в локации loc2 добавить маршрутизацию:

    • VPC Networks во вкладке Машрутизация настроить Подсети маршрутизации на подсети из loc1;
    • VPN во вкладке Клиентские подключения в необходимом Устройстве настроить Подсети маршрутизации на подсети из loc1.

Создание удаленного шлюза

Для создания удалённого шлюза нажмите на Создать удаленный шлюз.

Заполните необходимые поля и нажмите Добавить. Созданный удаленный шлюз будет отображаться в соответствующей вкладке.

NAT Mapping

Трансляция сетевых адресов (NAT) позволяет сопоставлять IP-адреса из подсети NAT с внутренними IP-адресами виртуальных машин, находящихся в немаршрутизируемых подсетях. Это полезно, если клиентские устройства используют пересекающиеся диапазоны IP-адресов.

Для каждого NAT-сопоставления автоматически создаются DNS-записи вида: <hostname>.<acc>.vpn.<loc>.icdc.io

Во вкладке NAT Mapping отображается список добавленных сопоставлений.

Каждое NAT-сопоставление содержит:

  • Имя сервера - название_аккаунта.vpn.название_локации.icdc.io;
  • VPN IP;
  • Локальный IP – любой внутренний IP-адрес внутри локации.

Пользователь может изменить Подсеть NAT через кнопку редактирования в Деталях VPN.

После внесения изменений нажмите Сохранить или Отменить.

Чтобы добавить новое NAT-сопоставление, нажмите Добавить сопоставление NAT, заполните поля и выберите Добавить.

Добавленное сопоставление появится во вкладке NAT Mapping:

Роли и права

Действие Member Admin Owner Operator
Клиентские подключения
Создание подключения
Редактирование подключения
Удаление подключения
Устройства
Добавление устройства
Изменение устройства only own
Отключение устройства only own
Удаление устройства only own
Изменение конфигурации устройства only own
Удаленные шлюзы
Добавление удаленного шлюза
Изменение удаленного шлюза
Удаление удаленного шлюза
NAT-сопоставления
Добавление сопоставления NAT
Изменение сопоставления NAT
Удаление сопоставления NAT