Авторизация

О ПРОТОКОЛЕ OPENVPN

openvpnOpenVPN - вероятно, наиболее развитый и гибкий 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.

Стоит отметить, что 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 на сервер информацию о необходимости отключения.

 

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

Настройки OpenVPN позволяют переподключать соединение в случае обрыва связи

 

Плюсы:

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

Минусы:

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

 

 

Далее:

PPTP

L2TP

IPsec

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

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

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

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