Настройка передачи данных через VPN-туннель

VPN Site-to-Site — это технология, которая соединяет через Интернет две локальные сети в единую виртуальную сеть. Сети могут находиться где угодно: в разных компаниях, в разных странах, в облаках разных провайдеров и т.п. Соединение осуществляется через зашифрованный VPN-туннель между VPN-шлюзами в каждой сети. VPN-шлюз на одной стороне VPN-туннеля шифрует и отправляет трафик через Интернет на VPN-шлюз на другой стороне VPN-туннеля. Этот VPN-шлюз расшифровывает и направляет трафик получателям.

Примечание

Если нужно объединить три и более сети в единую виртуальную сеть, то для каждой пары сетей настройте VPN-туннель между VPN-шлюзами.

Пример настройки передачи данных через VPN-туннель

Для примера соединим через VPN-туннель две подсети из разных проектов. С одной стороны VPN-туннеля (Сторона А) используем сеть и подсеть, созданные по умолчанию (сеть default и подсеть default-ru-central1). Для другой стороны VPN-туннеля (Сторона Б) создадим новую подсеть в сети default:

Чтобы настроить безопасную передачу данных через VPN-туннель:

  1. Подключите сервис Cloud Engine в каждом проекте, подсети которого нужно соединить VPN-туннелем. 
  2. Создайте сети и подсети, которые нужно соединить VPN-туннелем. Подсети на разных сторонах VPN-туннеля не должны пересекаться.
  3. При необходимости закажите серверы в созданных подсетях. 
  4. Создайте VPN-шлюз на каждой стороне VPN-туннеля.
  5. Создайте таблицу маршрутизации на каждой стороне VPN-туннеля.
  6. Создайте VPN-туннель для каждого VPN-шлюза.

Создание сети и подсети

Создайте сети и подсети, которые нужно соединить VPN-туннелем. Подсети должны находиться в разных проектах. Подсети на разных сторонах VPN-туннеля не должны пересекаться.

В нашем примере для стороны Б требуется создать подсеть в сети default. Созданная подсеть отобразится на портале со статусом Доступно:

Примечание

На разных сторонах VPN-туннеля можно использовать сеть default и подсети default-ru-central1 (10.128.0.0/24), default-ru-central2 (10.129.0.0/24), default-ru-central3 (10.130.0.0/24), созданные по умолчанию. Но одну подсеть нельзя использовать одновременно на разных сторонах VPN-туннеля. Например, если с одной стороны используется подсеть default-ru-central1, то с другой стороны можно использовать подсети default-ru-central2 и default-ru-central3.

Создание VPN-шлюза

На каждой стороне VPN-туннеля создайте VPN-шлюз.

Чтобы создать VPN-шлюз для подсети А:

  1. Выберите проект, в котором создана подсеть А.
  2. В главном меню портала перейдите в раздел Ресурсы Cloud Engine VPN Site-to-Site.
  3. Нажмите на кнопку Добавить.

  4. Заполните поля:

    • Название шлюза — имя VPN-шлюза.

      • Длина имени — от 3 до 30 символов.
      • Может содержать строчные буквы латинского алфавита, цифры, дефисы.
      • Название должно начинаться с буквы.
    • Зона доступности и Дата-центр зона доступности и ЦОД, в которых создана подсеть А;
    • Подсеть для VPN-шлюза — подсеть А, к которой будет подключен VPN-шлюз.

      Примечание

      Если VPN-шлюз используется для нескольких подсетей, укажите любую из них. Маршрутизация пакетов будет доступна ко всем подсетям, входящим в сеть.

    • Ограничение скорости, Мбит/сек — лимит пропускной способности канала. Значение должно быть кратно 100.
  5. Нажмите на кнопку Создать.
  6. Аналогично создайте VPN-шлюз для подсети Б.

VPN-шлюз можно перезапуститьудалить, а также изменить ограничение скорости.

Группы безопасности VPN-шлюза

Группа безопасности — правила, контролирующие входящий и исходящий трафик VPN-шлюза.

После создания VPN-шлюза автоматически создаётся группа безопасности sg-<имя VPN-шлюза>-<первые 4 символа идентификатора заказа VPN-шлюза>:

Группа безопасности для VPN-шлюза содержит правила для входящего и исходящего трафика:

Правила группы безопасности VPN-шлюза можно изменять.

Создание таблицы маршрутизации

На каждой стороне VPN-туннеля создайте таблицу маршрутизации и привяжите её к сети.

Чтобы настроить маршрутизацию на стороне А VPN-туннеля:

  1. Выберите проект, в котором создана подсеть А.
  2. Создайте таблицу маршрутизации:
    1. В поле Зона доступности * выберите зону доступности, в которой создана подсеть А.
    2. В поле Адрес сети * укажите IP-адрес подсети Б (противоположной стороны VPN-туннеля).
      1. В главном меню портала перейдите в раздел Ресурсы  Cloud Engine Сети.
      2. Нажмите на строку с сетью VPN-шлюза Б.
      3. IP-адрес подсети Б указан на вкладке Подсети:
    3. В поле Шлюз * укажите Внутренний IP-адрес VPN-шлюза А.
      1. В главном меню портала перейдите в раздел Ресурсы Cloud Engine VPN Site-to-Site.
      2. В строке с VPN-шлюзом А нажмите на кнопку .
      3. Внутренний IP-адрес указан в столбце Внутренний IP-адрес:
  3. Привяжите созданную таблицу маршрутизации к сети А:
  4. Аналогично создайте таблицу маршрутизации и привяжите её к сети Б.

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

Создание VPN-туннеля

Создайте VPN-туннель для каждого VPN-шлюза.

Чтобы создать VPN-туннель для VPN-шлюза А:

  1. Выберите проект, в котором создан VPN-шлюз А.
  2. В главном меню портала перейдите в раздел Ресурсы  Cloud Engine VPN Site-to-Site.
  3. В строке с VPN-шлюзом А нажмите на кнопку .
  4. Нажмите на кнопку + Создать туннель.
  5. Заполните поля:

Примечание

При создании VPN-туннеля для обоих VPN-шлюзов укажите одинаковые значения в полях PSK, Время жизни ключа IKE, Алгоритм хэширования, Алгоритм шифрования, Группа Диффи-Хеллмана и Время жизни ключа.

Настройки туннеля:

  • Имя туннеля — наименование VPN-туннеля.

    1. Длина имени  от 3 до 30 символов.
    2. Может содержать строчные буквы латинского алфавита, цифры и дефисы.
    3. Имя должно начинаться с буквы.
  • Peer IP — публичный IP-адрес VPN-шлюза Б. Используется вместе с ключом PSK для идентификации VPN-шлюза Б;

    1. В главном меню портала перейдите в раздел Ресурсы Cloud Engine VPN Site-to-Site.
    2. В строке с VPN-шлюзом Б нажмите на кнопку .
    3. Публичный IP-адрес VPN-шлюза указан в столбце Публичный IP-адрес:
  • PSK ключ совместного использования. Используется для шифрования данных перед их отправкой и для расшифровки при их получении. Сгенерируйте ключ по кнопке Сгенерировать.

    1. Длина ключа 16 символов.
    2. Может содержать заглавные и строчные буквы латинского алфавита, цифры, символы -+&!@#$%^*(),.:;_=<>{}
    3. Ключ должен содержать хотя бы одну букву или цифру.

IPSec  1 фаза — IKE:

  • Время жизни ключа IKE (IKE SA) в секундах время в диапазоне от 1 до 84600 секунд включительно;
  • Алгоритм хэширования:
    • sha1 — фиксированный размер хэша для любого сообщения равен 160 бит;
    • sha256 — фиксированный размер хэша для любого сообщения равен 256 бит;
  • Алгоритм шифрования:
    • 3des в качестве алгоритма шифрования используется 168-bit DES-CBC (3DES);
    • aes128 в качестве алгоритма шифрования используется 128-bit AES;
    • aes192 в качестве алгоритма шифрования используется 192-bit AES;
    • aes256 в качестве алгоритма шифрования используется 256-bit AES;
  • Группа Диффи-Хеллмана — группа определяет длину ключа, используемого для передачи ключа сеанса:
    • group2 длина ключа 1024 бит;
    • group5 длина ключа 1536 бит;
    • group14 длина ключа 2048 бит.

IPSec 2 фаза — ESP:

  • Время жизни ключа время, в течение которого ключ может использоваться для защиты соединения. Возможное значение от 1 до 84600 секунд включительно, но не более значения поля Время жизни ключа IKE (IKE SA) в секундах;
  • Алгоритм хэширования:
    • sha1 — фиксированный размер хэша для любого сообщения равен 160 бит;
    • sha256 — фиксированный размер хэша для любого сообщения равен 256 бит; 
  • Алгоритм шифрования:
    • 3des в качестве алгоритма шифрования используется 168-bit DES-CBC (3DES);
    • aes128 в качестве алгоритма шифрования используется 128-bit AES;
    • aes192 в качестве алгоритма шифрования используется 192-bit AES;
    • aes256 в качестве алгоритма шифрования используется 256-bit AES;
  • Группа Диффи-Хеллмана группа определяет длину ключа, используемого для передачи ключа сеанса:
    • group2 длина ключа 1024 бита;
    • group5 длина ключа 1536 бит;
    • group14 длина ключа 2048 бит;
    • Без ограничений длина ключа неограничена.

Настройки туннеля:

  • Подсети — подсеть А, к которой подключен VPN-шлюз А;
  • Адрес подсети адрес подсети Б.
    Если в сети Б несколько подсетей, нажмите на кнопку + Добавить подсеть и укажите адрес ещё одной подсети. Таким образом, все подсети Б будут связаны с подсетью А.

6. Нажмите на кнопку Создать.

7. Аналогично создайте VPN-туннель для VPN-шлюза Б.

Созданный VPN-туннель отобразится на портале:

Важно

Перед использованием VPN-туннеля убедитесь, что:

  • статус VPN-туннеля — ESTABLISHED;
  • между серверами в подсетях А и Б выполняется команда ping.

Чтобы посмотреть подробную информацию о VPN-туннеле, нажмите на кнопку  в строке с нужным VPN-туннелем. Откроется страница с информацией о VPN-туннеле:

Созданный VPN-туннель можно перезапустить, изменить, удалить, а также посмотреть его статус и лог-файл.