June 30, 2021

Что такое OpenVPN и как он работает?

Gadget Place

Что такое OpenVPN?

OpenVPN — это VPN-протокол и ПО, которое использует методы VPN для защиты соединений типа “точка-точка” и “сайт-сайт”. В настоящее время это один из самых популярных VPN-протоколов среди пользователей VPN.

Он был разработан Джеймсом Йонаном и выпущен в 2001 году. OpenVPN — один из VPN-протоколов с нативным приложением с открытым исходным кодом (собственное приложение есть и у SoftEther).

Как работает OpenVPN?

Протокол OpenVPN отвечает за поддержание коммуникации между клиентом и сервером. Как правило, он используется для создания защищённого “туннеля” между VPN-клиентом и VPN-сервером.

Для шифрования и аутентификации OpenVPN использует библиотеку OpenSSL. Кроме того, для передачи данных OpenVPN может использовать UDP (User Datagram Protocol) или TCP (Transmission Control Protocol).

Если вы не знакомы с TCP и UDP, то это протоколы транспортного уровня, которые используются для передачи данных в интернете. TCP считается более стабильным, так как предлагает функцию исправления ошибок (после отправки сетевого пакета TCP ожидает подтверждения перед его повторной отправкой или отправкой нового пакета). UDP исправляет ошибки, что делает его менее стабильным, но намного быстрее.

OpenVPN лучше всего работает по UDP (согласно данным OpenVPN.net), поэтому сервер доступа OpenVPN сначала пытается установить UDP-соединения. Если это не удаётся, только тогда сервер пробует создать соединение по протоколу TCP. Большинство VPN-Сервисов по умолчанию предоставляют OpenVPN через UDP.

Благодаря своей структуре кода (это кастомный протокол безопасности), протокол OpenVPN может легко обходить HTTP и NAT.

В отличие от большинства VPN-протоколов, OpenVPN — это протокол с открытым исходным кодом. Это означает, что код никому не принадлежит, и третьи стороны всегда могут его проверить или модернизировать (улучшить).

Подробности OpenVPN — Общие технические характеристики

  • Как правило, OpenVPN использует 256-битное OpenSSL-шифрование. Ради более высокого уровня безопасности соединения OpenVPN может использовать шифры AES, Camellia, 3DES, CAST-128 или Blowfish.
  • Хотя OpenVPN не поддерживает L2TP, IPSec и PPTP, в нём используется собственный протокол на базе TLS и SSL.
  • OpenVPN позволяет усовершенствовать процедуру авторизации и аутентификации за счёт привлечения сторонних плагинов и скриптов.
  • Клиенты могут подключаться к серверам за пределами сервера OpenVPN, так как он поддерживает настройку частной подсети.
  • Чтобы защитить пользователей от переполнения буфера в реализациях TLS/SSL, DoS-атак, сканирования портов и наводнения портов, OpenVPN использует tls-auth для верификации подписи HMAC. Структура OpenVPN позволяет сбросить привилегии при необходимости, а также использовать “тюрьму” chroot для CRL.
  • OpenVPN работает в пространстве пользователя, а не ядра.

Как использовать OpenVPN?

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

В этом разделе мы рассмотрим процесс настройки на Windows, так как эта ОС наиболее востребована. Процедура настройки на Android и в iOS очень похожа на ту, что мы приводим ниже. Установка и использование OpenVPN на Linux ещё сложнее.

Прежде чем мы продолжим, следует отметить, что для настройки OpenVPN-соединения вам понадобится подписка на VPN-Сервис. Хотя вы можете настроить собственный сервер OpenVPN, это невероятно сложно. К тому же, большинство доступных в интернете руководств посвящены настройке на Linux.

Итак, вот основные тезисы, которые вам следует учитывать при использовании протокола OpenVPN:

1. Во-первых, скачайте файлы конфигурации

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

Файлы конфигурации обычно заархивированы и их нужно распаковать. Наиболее важными файлами будут OVPN.

2. Установите клиент OpenVPN

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

По завершении установки перед вами может появиться текстовый файл с инструкциями или техническими сведениями. Вы можете ознакомиться с ним или просто закрыть. Это ни на что не влияет.

3. Импортируйте данные VPN

Для запуска OpenVPN необходимо запустить GUI-приложение OpenVPN. Он добавит службу в трей (небольшая панель задач в правом нижнем или верхнем углу). Теперь скопируйте все скачанные файлы OVPN в подпапку “Config” в папке установки OpenVPN.

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

4. Установка соединения

Чтобы подключиться к серверу, просто нажмите на OVPN-файлы в приложении OpenVPN. При возникновении необходимости укажите свои данные для входа. Если все пойдет хорошо, вы увидите экран журнала с некоторыми командами состояния. Они должны исчезнуть при установке соединения.

На рабочем столе выскочит уведомление, что соединение прошло успешно. Кроме того, на иконке OpenVPN должен загореться зелёный экран. При наведении курсора появится всплывающая подсказка с указанием названия сервера и нового IP-адреса.

На этом этапе вы можете протестировать соединение, чтобы убедиться, что всё в порядке

Чтобы отключиться от сервера, просто нажмите на значок OpenVPN, укажите сервер, к которому вы подключены, и нажмите “Отключиться”.

5. Настройки (базовые и расширенные)

У приложения OpenVPN не так много настроек, но с некоторыми из них можно немного поиграть.

К примеру, в “Настройках” можно поставить галочку, чтобы OpenVPN автоматически запускалась вместе с операционной системой. Вы также можете включить опцию “Бесшумное подключение”, чтобы при подключении к серверу не отображался экран состояния. Однако будьте осторожны с пунктом “никогда”, так как он отключает уведомления на рабочем столе.

Если вам нужны более глубокие настройки соединения, то можно открыть сами файлы OVPN (мы рекомендуем делать это при помощи WordPad) и просмотреть, какие там заданы команды. Если у вас достаточно знаний в этой области, то можете отредактировать эти команды по своему усмотрению или добавить новые. Давайте посмотрим, какие команды могут быть вам интересны:

  • Команда “proto”используется для переключения между UDP или TCP. Просто добавьте имя протокола после команды, например: “proto udp.”
  • Команда “Remote”сообщает OpenVPN имя сервера, который вы хотите использовать. Обычно после имени VPN-сервера также указывается порт. Если знаете какие-нибудь ещё порты, которые использует ваш провайдер, то можете переключаться между ними при помощи этой строки.
  • Команда “tun-mtu” отвечает за максимальный размер полезного блока данных одного пакета (MTU). Обычно указывается значение около 1500, но вы можете попробовать изменить его для повышения производительности.

Кроме того, можете просмотреть подпапку “doc” в папке установки OpenVPN, если вам требуется более подробная документация. Там вы сможете узнать, как пользоваться другими функциями (например, настраивать сценарии отключения VPN или блокировать DNS-утечки). Дополнительную информацию можно найти в Справочном руководстве, доступном на сайте OpenVPN.net.