Перейти к содержанию

OpenVPN

В этой статье

Информация

OpenVPN - это открытое программное обеспечение для создания защищенных виртуальных частных сетей (VPN). Решение использует протоколы SSL/TLS для обеспечения безопасности, предоставляя надежное шифрование данных и проверку подлинности. OpenVPN работает через TCP или UDP, может проходить через брандмауэры и прокси-серверы, что обеспечивает высокую гибкость в различных сетевых средах.

Начало работы после развертывания OpenVPN

После оплаты заказа на указанную при регистрации электронную почту придет уведомление о готовности сервера к работе. В нем будет указан IP-адрес VPS, а также логин и пароль для подключения. Управление оборудованием клиенты нашей компании осуществляют в панели управления серверами и APIInvapi.

Данные для авторизации, которые можно найти или во вкладке Info >> Tags панели управления сервером или в присланном e-mail:

  • Логин и Пароль для управления сервером: приходят в письме на вашу электронную почту при сдаче сервера. Совпадает с паролем root сервера.

Подключение к серверу и получение доступа к управлению

Информация

OpenVPN состоит из серверной части, которая устанавливается на сервер, и клиентской части для конечных пользователей. Серверное приложение обеспечивает настройку и управление VPN-соединениями, а клиентское приложение доступно для различных платформ, включая Windows, macOS, Android, iOS и Linux.

  1. Подключитесь к серверу через SSH:

    ssh root@<IP_сервера>
    

  2. Основные конфигурационные файлы OpenVPN находятся в директории /etc/openvpn/:

    ls -la /etc/openvpn/
    

  3. На сервере также расположен скрипт для настройки клиентских конфигураций:

    ls -la /root/openvpn-conf.sh
    

  4. Вы можете просмотреть статус работы OpenVPN-сервера с помощью команды:

    systemctl status openvpn@server
    

Настройка конфигураций пользователей

  1. На вашем сервере уже есть готовый файл конфигурации пользователя (client_hk.ovpn) в директории /root/:

    ls /root/
    client_hk.ovpn  openvpn-conf.sh
    
    Вы можете использовать существующий файл client_hk.ovpn или создать новый с помощью скрипта.

  2. Скопируйте нужный файл конфигурации на локальное устройство с помощью SCP:

    scp root@<IP_сервера>:/root/client_hk.ovpn /путь/на/локальном/компьютере/
    

Создание нового пользователя

  1. Подключитесь к серверу по SSH:

    ssh root@<IP_сервера>
    

  2. Запустите скрипт настройки OpenVPN:

    /root/openvpn-conf.sh
    

  3. В появившемся меню вы увидите следующие опции:

    Welcome to OpenVPN-install!
    The git repository is available at: https://github.com/angristan/openvpn-install
    It looks like OpenVPN is already installed.
    What do you want to do?
       1) Add a new user
       2) Revoke existing user
       3) Remove OpenVPN
       4) Exit
    Select an option [1-4]:
    

  4. Выберите опцию 1 для добавления нового пользователя:

    Select an option [1-4]: 1
    

  5. Введите имя пользователя, следуя требованиям к формату:

    Tell me a name for the client.
    The name must consist of alphanumeric character. It may also include an underscore or a dash.
    Client name: UserName
    
    !!! info "Информация" Имя пользователя должно содержать только буквы, цифры, подчеркивания или дефисы.

  6. Выберите метод защиты конфигурационного файла:

    Do you want to protect the configuration file with a password?
    (e.g. encrypt the private key with a password)
       1) Add a passwordless client
       2) Use a password for the client
    Select an option [1-2]:
    

    • Опция 1: Создает файл без пароля (более простой вариант для пользователя);
    • Опция 2: Требует ввести пароль для защиты ключа (повышенная безопасность).
  7. Если вы выбрали защиту паролем (опция 2), вам будет предложено дважды ввести пароль:

    ⚠️ You will be asked for the client password below ⚠️
    * Using SSL: openssl OpenSSL 3.0.2 15 Mar 2022
    * Using Easy-RSA configuration: /etc/openvpn/easy-rsa/vars
    
    Enter PEM pass phrase:
    Verifying - Enter PEM pass phrase:
    
  8. После успешного выполнения всех шагов, вы увидите сообщение о создании нового пользователя:

    Client UserName added.
    The configuration file has been written to /root/UserName.ovpn.
    Download the .ovpn file and import it in your OpenVPN client.
    

  9. Файл конфигурации .ovpn будет создан в директории /root/ с именем пользователя:

    ls -la /root/*.ovpn
    

Отзыв доступа пользователя

  1. Запустите скрипт настройки OpenVPN:

    /root/openvpn-conf.sh
    

  2. Выберите опцию 2 для отзыва существующего пользователя:

    Select an option [1-4]: 2
    

  3. Выберите пользователя из списка для отзыва:

    Select the client to revoke:
    1) User1
    2) User2
    ...
    Client: 1
    

  4. Подтвердите отзыв:

    Confirm revoke for User1? [y/n]: y
    

  5. После успешного отзыва вы увидите сообщение:

    Certificate for client User1 revoked!
    

Передача конфигурационного файла пользователю

  1. Скопируйте файл .ovpn с сервера на ваш локальный компьютер:

     scp root@<IP_сервера>:/root/UserName.ovpn /путь/на/локальном/компьютере/
    

  2. Передайте файл конфигурации пользователю через защищенный канал связи.

Управление сертификатами пользователей

Просмотр существующих сертификатов

Для просмотра списка всех выданных сертификатов пользователей выполните:

cd /etc/openvpn/easy-rsa/pki/issued/
ls -la
Пример вывода:

total 20
drwx------ 2 root root 4096 Apr  4 09:33 .
drwx------ 8 root root 4096 Apr  4 09:33 ..
-rw------- 1 root root 2512 Apr  4 09:33 Testuser.crt
-rw------- 1 root root 2518 Apr  3 14:21 client_hk.crt
-rw------- 1 root root 2705 Apr  3 14:21 server_jGWMj7JIGkP69so7.crt
Каждый файл с расширением .crt представляет собой сертификат пользователя, имя файла соответствует имени пользователя.

Отзыв сертификата пользователя

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

  1. Перейдите в директорию Easy-RSA:

    cd /etc/openvpn/easy-rsa/
    

  2. Выполните команду отзыва сертификата, указав точное имя пользователя:

    ./easyrsa revoke ИмяПользователя
    

    Важно: Имя пользователя должно точно соответствовать имени файла сертификата без расширения .crt и чувствительно к регистру.

    Например, для отзыва сертификата пользователя Testuser:

    ./easyrsa revoke Testuser
    
  3. После успешного отзыва сертификата, сгенерируйте обновленный список отозванных сертификатов (CRL):

    ./easyrsa gen-crl
    

    Вы увидите сообщение о создании обновленного CRL:

    Notice
    ------
    An updated CRL has been created.
    CRL file: /etc/openvpn/easy-rsa/pki/crl.pem
    

Обновление списка отозванных сертификатов на сервере

Чтобы отозванные сертификаты вступили в силу, необходимо обновить CRL на сервере:

  1. Скопируйте обновленный CRL в директорию OpenVPN:

    cp /etc/openvpn/easy-rsa/pki/crl.pem /etc/openvpn/
    

  2. Перезапустите сервис OpenVPN для применения изменений:

    systemctl restart openvpn@server
    

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

Настройка доступа для пользователей

Установка OpenVPN

  1. Перейдите на официальный сайт OpenVPN;
  2. Скачайте последнюю версию OpenVPN Community Edition для Windows;
  3. Запустите установщик и следуйте инструкциям мастера установки;
  4. При установке убедитесь, что выбраны все компоненты по умолчанию, включая TAP-драйверы.

Подробную информацию об установке на Windows можно найти в официальном руководстве

Получение конфигурационного файла

Для копирования файла конфигурации OpenVPN напрямую с сервера используйте команду SCP:

scp root@IP_СЕРВЕРА:/root/client_hk.ovpn C:\OpenVPN

Где:

  • IP_СЕРВЕРА - IP-адрес вашего VPN-сервера
  • /root/client_hk.ovpn - путь к файлу конфигурации на сервере
  • C:\OpenVPN - локальная директория на вашем компьютере, куда будет скопирован файл

После выполнения команды вам будет предложено ввести пароль от учетной записи root на сервере.

После успешного копирования, вы увидите информацию о завершении процесса и размере скопированного файла:

Импорт и использование конфигурации

  1. Скопируйте полученный файл .ovpn в директорию C:\Program Files\OpenVPN\config

  2. Запустите OpenVPN GUI — программа автоматически запускается в системном трее при старте Windows (иконка в правом нижнем углу экрана)

  3. Щелкните правой кнопкой мыши на иконке OpenVPN в системном трее

  4. В контекстном меню выберите Импорт для добавления вашей конфигурации:

  5. Если ваш профиль уже импортирован или скопирован в директорию config, вы увидите его в меню. Выберите Подключиться и название вашего профиля

  6. При необходимости введите логин и пароль, если конфигурация использует аутентификацию или если файл конфигурации защищен паролем

  7. После успешного подключения вы увидите уведомление с подтверждением:

Также иконка OpenVPN в системном трее изменит цвет на зеленый.

Для проверки соединения посетите сайт whoer.net или whatismyip.com

Если вам нужно настроить OpenVPN на других операционных системах, воспользуйтесь официальными инструкциями разработчиков:

Примечание

При подключении через OpenVPN весь трафик устройства проходит через защищенный туннель. Для отключения используйте опцию Отключиться в клиентском приложении.

Примечание

Подробная информация по основным настройкам OpenVPN содержится в документации разработчиков.

Заказ OpenVPN с помощью API