10 июня 2022 Время чтения: 10 минут

Александр Гришин, владелец продукта VMmanager

Илья Калиниченко, системный аналитик

Как настроить VMmanager для продажи VPN-сервиса по модели SaaS

ISPSystem

В VMmanager можно за несколько минут создать для клиентов новую услугу: предоставление VPN-сервера по модели SaaS. В платформе уже есть готовые шаблоны и инструменты для запуска этого сервиса.

Так вы можете быстро и без существенных затрат на внедрение добавить в свою линейку продукт с более высоким средним чеком по сравнению с арендой VPS/VDS и хорошей маржинальностью.

Клиент же получит готовый VPN и будет освобожден от администрирования гостевой ОС виртуальной машины. Более того, после установки VPN-сервера ему даже не обязательно знать о существовании виртуальной машины.

Потенциальными клиентами такой услуги могут быть люди, готовые платить за безопасный и анонимный VPN-сервер для себя и своей семьи или организации. Или компании в SMB-сегменте, готовые платить за производительный и независимый VPN-сервер для своих сотрудников.

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

Мы предлагаем два популярных варианта реализации сервера: на базе OpenVPN или WireGuard. Выбирайте тот, который больше нравится вам. Или можете подготовить свою собственную SaaS-услугу на основе нашей. Как настроить VPN для клиентов, читайте в нашей статье.

Пример настройки VPN-сервиса

VPN по модели SaaS представляет собой ВМ с развернутым ПО. Оно устанавливается автоматически при помощи скриптов.

Чтобы настроить VPN-сервис по нашей инструкции, понадобится кластер из узлов в нужной географической локации и VMmanager 6. Еще используем BILLmanager — он будет тарифицировать сервис и управлять доступом пользователей к установочному скрипту.

Настройка VPN-сервиса — пошаговое описание

1. Создайте в VMmanager 6 конфигурацию виртуальных машин. Например, VPN-server-WG1.

Позже через эту конфигурацию в BILLmanager будет настраиваться тарификация. Также только для этой конфигурации будет доступен скрипт установки VPN-сервера — об этом мы расскажем ниже.

Создание конфигурации, которая будет использоваться для ВМ с установкой VPN
Создание конфигурации, которая будет использоваться для ВМ с установкой VPN

2. Откройте раздел «Скрипты» и найдите скрипт OpenVPN или WireGuard VPN. Затем нажмите «Копировать».

Копирование скрипта из репозитория
Копирование скрипта из репозитория

3. Откроется новое окно, в котором можно отредактировать параметры скопированного скрипта:

  1. Укажите для него название и установите доступ к нему «Всем».
  2. Поставьте галочку «Скрыть содержимое скрипта от пользователя» — рекомендуем сделать это, чтобы закрыть от клиента ненужную ему информацию и упростить пользование сервисом.
  3. Добавьте фильтр для выполнения по созданной на предыдущем шаге конфигурации — VPN-server-WG1. Так скрипт будет доступен только для этой конфигурации ВМ.
Настройка фильтров для выполнения скрипта позволяет запустить его только на ВМ с определенной конфигурацией
Настройка фильтров для выполнения скрипта позволяет запустить его только на ВМ с определенной конфигурацией

4. В этом же разделе добавьте уведомление на почту, заполнив HTML-шаблон. Примеры уведомления для этого ПО на русском и английском представлены ниже.

Уведомление на русском для VPN WireGuard

Вид письма с сервисом VPN WireGuard (листните галерею, чтобы посмотреть английскую версию):

HTML-шаблон на русском
            <div>
                <img src="https://www.ispsystem.com/pictures/icon_wireguard_1.jpg" alt="Wireguard"
                   style="width:33px;padding-right:5px; vertical-align: middle;">
                <h1 style="display:inline; vertical-align: middle;">Ваш WireGuard сервер готов</h1>
            </div>
            <div style="width: 600px">
                <p style="margin-top: 10px;">Чтобы начать пользоваться сервером, необходимо:</p>
                <ol style="padding-left:20px;">
                    <li>Скачать и установить клиент на устройство:</li>
                    <div class="download" style="margin:10px 0 10px -15px;">
                        <a href="https://www.wireguard.com/install/"><img
                               src="https://www.ispsystem.com/pictures/icon_download_wl.jpg" alt="" class="windows"
                               style="width:194px;"></a>
                        <a href="https://play.google.com/store/apps/details?id=com.wireguard.android&hl=ru&gl=US"><img
                               src="https://www.ispsystem.com/pictures/icon_download_android.jpg" alt=""
                               class="android" style="width:146px;"></a>
                        <a href="https://apps.apple.com/ru/app/wireguard/id1441195209"><img
                               src="https://www.ispsystem.com/pictures/icon_download_apple.jpg" alt="" class="ios"
                               style="width:146px;"></a>
                    </div>
                    <li style="margin-bottom: 10px;">Импортировать файл, прикрепленный к этому письму в WireGuard</li>
                    <li>Произвести подключение</li>
                </ol>
            </div>
           
HTML-шаблон на английском
            <div>
                <img src="https://www.ispsystem.com/pictures/icon_wireguard_1.jpg" alt="Wireguard"
                   style="width:33px;padding-right:5px; vertical-align: middle;">
                <h1 style="display:inline; vertical-align: middle;">Your WireGuard server is ready</h1>
            </div>
            <div style="width: 600px">
                <p style="margin-top: 10px;">To start using it, please:</p>
                <ol style="padding-left:20px;">
                    <li>Download and install the client on your device:</li>
                    <div class="download" style="margin:10px 0 10px -15px;">
                        <a href="https://www.wireguard.com/install/"><img
                               src="https://www.ispsystem.com/pictures/download-windows-linux.jpg" alt="windows"
                               class="windows" style="width:194px;"></a>
                        <a href="https://play.google.com/store/apps/details?id=com.wireguard.android&hl=ru&gl=US"><img
                               src="https://www.ispsystem.com/pictures/download-android.jpg" alt="android"
                               class="android" style="width:137px;"></a>
                        <a href="https://apps.apple.com/ru/app/wireguard/id1441195209"><img
                               src="https://www.ispsystem.com/pictures/download-apple.jpg" alt="ios" class="ios"
                               style="width:137px;"></a>
                    </div>
                    <li style="margin-bottom: 10px;">Import the file attached to this email into WireGuard</li>
                    <li>Make a connection</li>
                </ol>
            </div>
           

Уведомление для OpenVPN

Вид письма OpenVPN (листните, чтобы посмотреть английскую версию):

Интеграция со стороны BILLmanager будет использовать шаблон виртуальных машин, созданных на первом шаге. Шаблон виртуальных машин привязывается к определенному тарифу, который будет включать в себя стоимость услуги. Настроить интеграцию можно по инструкциям:

После настройки в VMmanager 6 и в BILLmanager VPN-сервис смогут заказывать пользователи.

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

Как происходит заказ VPN-сервиса со стороны клиента на примере WireGuard VPN

Пользовательский путь клиента, заказавшего VPN через BILLmanager, максимально прост и выглядит таким образом:

  1. Клиент заказывает виртуальную машину по тарифу, привязанному к конфигурации, — VPN-server-WG1.
  2. Затем он переходит в интерфейс VMmanager 6 и запускает доступный ему скрипт на арендованной виртуальной машине.
    Запуск скрипта WireGuard VPN на тестовой виртуальной машине
    Запуск скрипта WireGuard VPN на тестовой виртуальной машине
  3. Когда скрипт отработает, клиент получит на почту письмо. Оно содержит инструкцию и файл конфигурации VPN, который необходимо установить в VPN-клиенте. Для удобства мы добавили в шаблон письма ссылки для скачивания клиента под разные устройства и операционные системы.
Письмо с настройками VPN
Письмо с настройками VPN

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

OpenVPN позволяет использовать один и тот же конфиг на разных устройствах одновременно.

VPN можно использовать как на клиентском сервере с Windows, MacOS или Linux, так и на мобильном телефоне на Android или iOS.

Главное окно WireGuard. Импорт полученного файла настроек происходит по нажатию кнопки в центре интерфейса
Главное окно WireGuard. Импорт полученного файла настроек происходит по нажатию кнопки в центре интерфейса

Не только VPN. Как предоставлять любые сервисы по модели SaaS c VMmanager

Мы рассмотрели настройку новой услуги на примере VPN-сервера. Аналогичным образом вы можете предоставлять клиентам доступ к любым другим сервисам. Для этого достаточно подготовить скрипт установки необходимого ПО или использовать один из наших шаблонов.

Как предоставлять сервисы готовых приложений (SaaS) c помощью VMmanager

Примеры настройки SaaS в блоге ISPsystem

Попробуйте VMmanager с поддержкой SaaS

VMmanager — платформа для виртуализации на базе QEMU/KVM и контейнеризации LXD/LXC:

  • позволяет организовать доставку приложений как сервис (SaaS);
  • поддерживает предоставление IaaS и виртуальные сети на основе VxLAN;
  • поддерживает распределенные сетевые хранилища Ceph и SAN.