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-шлюза есть свой публичный адрес, по умолчанию первый шлюз получает Публичное имя сервера
название_аккаунта.vpn.название_локации.icdc.io.
Здесь же можно установить Подсеть NAT – это дополнительная подсеть, которая не существует в локации и на устройствах пользователей, для IP-адресов которой делается трансляция ее адресов во внутренние IP-адреса виртуальных машин. Это позволяет обойти проблему пересечения IP-диапазонов на клиентских устройствах и в сетях аккаунта.

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

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

Пользователь может редактировать название VPN-шлюза и NAT Subnet при помощи бокового меню.

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

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

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

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

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

Добавление подключения возможно при нажатии на соответствующую кнопку.

Для добавления подключения нужно указать:

  • Название подключения;
  • IP c префиксом подсети - IP-адрес VPN Gateway в подсети клиентского подключения
    (Обычно указывается первый IP-адрес подсети, например: 10.0.0.1/24);
  • Порт - UDP-порт на публичном IP-адресе;
    По умолчанию, для первого подключения преднастроен и разрешен трафик на порт 2200/udp.
  • Максимальную единицу передачи (MTU).

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

Примечание: Чтобы разрешить VPN-трафик на другой порт, пользователю нужно создать Port-Forwarding на внутренний адрес VPN Gateway (обычно 198.18.0.2) и разрешить входящий UDP-трафик в приложении Firewall на этот порт:
Вкладка Firewall, в списке Группа Безопасности выбрать группу <loc>_<acc>_cloud_gateways и нажать Добавить правило.

Пиринговые шлюзы (Удаленные шлюзы)

Информация c данными о пиринговых шлюзах содержится во вкладке Пиринговые Шлюзы (Удаленные шлюзы):

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

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

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

Добавление пирингового шлюза возможно при нажатии на соответствующую кнопку.

Для добавления пирингового шлюза нужно заполнить необходимые поля и нажать Добавить.

NAT Mapping

Трансляция сетевых адресов (NAT) позволяет осуществлять замену IP-адресов из свободного IP-диапазона NAT-подсети в IP-адрес виртуальных машин, находящихся в немаршрутизируемых облачных подсетях аккаунта. Это может понадобиться, если устройство клиента уже имеет пересекающиеся диапазоны IP-адресов.
Для каждого NAT сопоставления также автоматически создаются DNS-записи вида:
<hostname>.<acc>.vpn.<loc>.icdc.io

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

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

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

Добавление сопоставления NAT возможно при нажатии на соответствующую кнопку.

Для добавления сопоставления нужно ввести необходимые данные в модальном окне и нажать кнопку Добавить или Отменить - в случае отмены добавления.