Авторизация

ПРОТОКОЛ OPENVPN, НАСТРОЙКА, ОСОБЕННОСТИ И ПРИМЕНЕНИЕ

при подключении к системе удаленного доступа VPNKI

ПРОТОКОЛ OPENVPN, НАСТРОЙКА, ОСОБЕННОСТИ И ПРИМЕНЕНИЕOpenVPN - вероятно, наиболее развитый и гибкий VPN протокол на базе ПО с открытым исходным кодом. Обычно, он не является частью операционных систем как протоколы PPTP, L2TP, IPsec. Он распространяется в виде отдельного придложения для широкого спектра операционных систем.

В своей работе OpenVPN использует известную библиотеку OpenSSL. В ее составе которой есть такие протоколы как SSL и TSL. Их и использует OpenVPN.

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

OpenVPN может работать в двух режимах - сетевом или канальном. В сетевом будет создан интерфейс TUN, а в канальном  используется интерфейс TAP. Для тех, кто не знаком с моделью OSI немного поясним разницу этих двух режимов. В случае канального режима (TUN) между сервером и клиентом используется соединение при помощи IP адресов. В случае канального режима (TAP) стороны используют кадры Ethernet с виртуальными MAC адресами. А уже поверх них начинается взаимодействие при помощи IP адресов.

В VPNKI мы используем TUN-соединение. У нас не было задачи передавать какой-либо другой вид трафика, отличный от TCP/IP. Но если бы мы захотели передавать отличный от TCP/IP трафик, то использовали бы режим TAP.

Стоит отметить, что OpenVPN может функционировать с использованием как TCP, так и UDP протокола. В системе VPNKI мы часто используем работу OpenVPN через UDP. Такая работа является более предпочтительной с точки зрения скорости соединения. Этот режим позволяет эффективно использовать полосу пропускания канала. Однако, наш пользователь может запустить OpenVPN и поверх протокола TCP. Это даст пользователю более четкой контроль над установлением и обрывом соединения.

Кроме того, пользователь может выбрать - использовать ли шифрование или нет. Отключение шифрования позволит существенно снизить нагрузку на оборудование сервера и клиента. Это может стать важным при использовании в качестве клиентского оборудования маломощных одноплатных компьютеров.

 

Аутентификация

В протоколе OpenVPN могут быть использованы три различных метода аутентификации. Это аутентификация по сертификату, по логину и паролю или при помощи общего ключа. В системе VPNKI мы используем метод аутентификации по логину и паролю. Этот метод нам ближе, так как он позволяет сохранить единство с такими протоколами как PPTP и L2TP. Однако при использовании аутентификаии по логину и паролю, все равно требуется серверный сертификат. Его вы получаете в составе файла .ovpn.

Шифрование данных

Как было сказано выше, в своей работе OpenVPN использует протоколы SSL3 и TLS1.2. Это определяет способность протокола шифровать данные. При этом могут быть использованы весьма различные алгоритмы шифрования с различной длиной ключа. В VPNKI используется шифрование с длиной ключа в 128 бит. Этого вполне достаточно для обычного использования. В то время как увеличение длины ключа ведет к существенному увеличению необходимых вычислительных ресурсов. Как на сервере, так и на стороне клиента.

 

Компрессия данных

Данные, передаваемые внутри OpenVPN, могут подвергаться компрессии. В качестве протокола компрессии используется алгоритм LZO. Он характеризуется очень высокой скоростью распаковки данных, однако в системе VPNKI мы не используем компрессию данных.

 

Автоматическая проверка работоспособности VPN соединения

Так как соединение OpenVPN осуществляется поверх протокола UDP, то в нем отсутствие понятие "сессии".  Все пакеты доставляются на другую сторону без подтверждения о принятии. С одной стороны это ускоряет процесс взаимодействия. С другой стороны усложняет процесс контроля за работоспособностью соединения. Если "слушающая" сторона перестала принимать пакеты, то передающая ничего об этом не узнает. Такая ситуация может породить пробелмы с потерей пакетов в туннельном соединении.

 

Разрыв VPN соединения

Разрыв VPN соединения осуществляется со стороны сервера путем информирования клиента об окончании соединения. В случае, если клиент хочет разорвать соединение, то ему необходимо уведомить сервер о своем желании. Для этого используется параметр explicit-exit-notify. В этом случае клиент отсылает по UDP на сервер информацию о необходимости отключения. Этот параметр применим только к соединению поверх UDP протокола.

 

Автоматическое установление разорванного VPN соединения

Настройки OpenVPN позволяют переподключать соединение в случае обрыва связи. Однако, если стороны используют UDP, то обрыв соедиенения на клиенте может оказаться некорректным (односторонним). В этом случе переподключение разорванного соединения может стать проблемой.

Плюсы:

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

Минусы:

  • сложность настройки.
  • отсутствие встроенной поддержки оперционными системами и необходимость установки дополнительного ПО.

 

 

Далее:

PPTP.

L2TP.

IPsec.

ДОПОЛНИТЕЛЬНО

Кроме базового функционала по объединению VPN туннелей с различными протоколами, в системе VPNKI вы можете воспользоваться удаленным доступом к компьютеру или камере, используя:

ВАШИ ОТЗЫВЫ О СИСТЕМЕ УДАЛЕННОГО ДОСТУПА И VPN ТУННЕЛЕЙ

Артур
Артур
Парни, отличный сервис! Нужно было быстро получить удаленный доступ к видеокамере на даче. Статический белый адрес провайдер не дает. Там стройка и мне важно смотреть за работой. Подключился к вам и настроил смартфон. Правда сразу VPN соединение не заработало. Поначалу сложно было понять как у вас все это работает. Поэтому написал в форум и админ решил мою проблему с VPN подключением за несколько минут! Теперь смотрю за процессом стройки на даче через смартфон или компьютер. Статический IP адрес провайдера совсем оказался не нужен. Спасибо за инструкции и помощь! Буду осваивать вашу систему дальше. С уважением, пользователь Артур
Валерий
Валерий
Спасибо! Я использую Ваш сервис в проекте автономного автоматического мобильного поста контроля проезда лесовозного автотранспорта непосредственно в лесном массиве "Егерь-1". В процессе отладки ПО действующего прототипа возникла прямая необходимость VPN соединения и передачи данных из MySQL. Вопрос создания серверной базы или платного сервиса VPN в бюджете не рассматривался. Поэтому Ваш сервис оказался единственной альтернативой, давшей возможность провести полевые испытания прототипа. Этот прототип позволил сформулировать ТЗ как для железа, так и для ПО, включая интерфейс оператора. Огромное Вам человеческое СПАСИБО! Вряд ли меня можно назвать специалистом в области IT, поэтому доступность и разъяснения на Вашем портале и форуме оказали решающее значение в реализации VPN соединения, открыв возможность завершить испытания со знаком "+".
Александр
Александр
Ура, Мужики-и! У меня всё получилось! Спасибо Вам за доброе дело и квалифицированную помощь на форуме! Настроил VPN соединение и подключился! Теперь буду использовать вашу систему на компьютере и смартфоне у себя в офисе, дома и на даче! Удачи в будущих разработках! С меня реклама и благодарности... С Уважением! Александр.