VK Cloud logo
Обновлена 15 апреля 2024 г. в 03:53

Установка и настройка сервиса OpenVPN

Вы можете управлять доступом к ресурсам облака с помощью сервиса OpenVPN. Эта инструкция поможет развернуть сервис OpenVPN на ВМ в VK Cloud, зайти в консоль сервиса и создать нового пользователя.

Используя сервис OpenVPN, вы соглашаетесь с лицензионными соглашениями сервисов Marketplace и OpenVPN.

Чтобы развернуть сервис OpenVPN в проекте:

  1. Зарегистрируйтесь в VK Cloud.

  2. Создайте сеть с доступом в интернет, если она не была создана ранее.

  3. В настройках подсети, где будет размещена ВМ с развернутым сервисом, отключите опцию Приватный DNS.

  4. Разверните сервис OpenVPN:

    1. На шаге «Настройки Кластера» укажите настройки ВМ:

      • Сеть: выберите ранее созданные сеть с доступом в интернет и подсеть. Внешний IP-адрес будет назначен автоматически.
      • Остальные параметры ВМ выберите на свое усмотрение.
    2. Нажмите кнопку Следующий шаг.

    3. На шаге «Настройки OpenVPN» укажите настройки сетевой доступности:

      • Подсеть клиентских адресов: укажите адрес подсети, в которой сервис будет назначать адреса для устройств пользователей. Убедитесь, что это адресное пространство не пересекается с адресным пространством, до которого настраивается доступ.

      • Адрес DNS: адрес DNS-сервера, через который OpenVPN будет искать соответствие доменных имен с IP-адресами. Может использоваться как локальный, так и внешний сервер, если он доступнен из подсети.

      • Активировать full-tunneling: если опция включена, весь трафик пользователей будет направляться через VPN. Это повысит нагрузку на сервер, если передаются большие потоки данных. Отключите опцию, если нужно направлять через VPN только трафик пользователей для доступа к подсети.

      • Адреса подсетей: укажите через запятую адреса подсетей, до которых нужно предоставить доступ. Пример: 10.0.0.0/24,10.0.10.0/24. Эти подсети будут доступны из подсети, в которую сервис был размещен. Подсеть размещения указывается в сервисе по умолчанию, поэтому сюда ее добавлять не нужно. Параметр игнорируется, если включена опция Активировать full-tunneling.

    4. Нажмите кнопку Следующий шаг.

    5. На шаге «Подтверждение» ознакомьтесь с рассчитанной стоимостью сервиса и нажмите кнопку Подключить тариф.

    После завершения установки на почту придет одноразовая ссылка на страницу, которая содержит:

    • конфигурацию для первого пользователя;
    • ключ доступа к ВМ;
    • внешний и внутренний IP-адреса ВМ.
  5. Подключитесь к ВМ сервиса по SSH. Для этого выполните команду в терминале:

    ssh -i <private_key> ubuntu@<VM-address>

    Здесь:

    • <private_key> — ключ доступа, полученный по одноразовой ссылке;
    • <VM-address> — внешний IP-адрес ВМ, полученный по одноразовой ссылке.
  6. Получите права root-пользователя (команда sudo bash).

  7. Создайте нового пользователя. Выполните команду:

    /home/ubuntu/create_client.sh <username>

    После успешного завершения скрипта по пути /etc/openvpn/server появится файл конфигурации нового пользователя.

  8. (Опционально) Заблокируйте пользователя. Выполните команду:

    /home/ubuntu/revoke_client.sh <username>

    После успешного завершения скрипта обновится сертификат crl.pem, а сервис OpenVPN перезапустится. Доступ для пользователя <username> будет отозван.

    Конфигурационный файл пользователя не будет удален из директории /etc/openvpn/server. При попытке создать пользователя с таким же именем скрипт отработает, но ничего не произойдет, так как такой пользователь уже существует. Чтобы восстановить доступ пользователя, создайте конфигурационный файл с новым именем.