OpenVPN
OpenVPN | |||
---|---|---|---|
![]() | |||
Автор | Джеймс Йонан[вд][3] | ||
Разработчик | OpenVPN Inc.[вд][4] | ||
Написана на | Си[5] | ||
Операционная система | кроссплатформенность | ||
Первый выпуск | 23 марта2002[1] | ||
Аппаратная платформа | Android | ||
Последняя версия | |||
Репозиторий | github.com/OpenVPN gitlab.com/openvpn | ||
| |||
| |||
Лицензия | GNU GPL | ||
Сайт | openvpn.net (англ.) | ||
![]() |
OpenVPN —свободная реализация технологиивиртуальной частной сети (VPN) с открытым исходным кодом для создания зашифрованных каналoв типа точка-точка или сервер-клиенты между компьютерами. Она позволяет устанавливать соединения между компьютерами, находящимися заNAT исетевым экраном, без необходимости изменения их настроек.OpenVPN была создана Джеймсом Йонаном (James Yonan) и распространяется под лицензиейGNU GPL[6].
Введение
[править |править код]Для обеспечения безопасности управляющего канала и потока данныхOpenVPN использует библиотекуOpenSSL. Это позволяет задействовать весь набор алгоритмов шифрования, доступных в данной библиотеке. Также может использоваться пакетная аутентификацияHMAC для обеспечения большей безопасности, и аппаратное ускорение для улучшения производительности шифрования. Эта библиотека используетOpenSSL, а точнее — протоколыSSLv3/TLSv1.2[7].OpenVPN имеет версии для работы на платформахSolaris,OpenBSD,FreeBSD,NetBSD,GNU/Linux,macOS,QNX,Microsoft Windows,Android,iOS.
Аутентификация
[править |править код]OpenVPN предлагает пользователю несколько видоваутентификации.
- Предустановленный ключ — самый простой метод.
- Сертификатная аутентификация — наиболее гибкий в настройках метод.
- С помощьюлогина ипароля — может использоваться без создания клиентского сертификата (серверный сертификат всё равно нужен).
Сеть
[править |править код]OpenVPN проводит все сетевые операции черезTCP- илиUDP-транспорт. В общем случае предпочтительным является UDP по той причине, что через туннель проходит трафик сетевого уровня и выше по OSI, если используется TUN-соединение, или трафик канального уровня и выше, если используется TAP. Это значит, что OpenVPN для клиента выступает протоколом канального или даже физического уровня, а значит, надежность передачи данных может обеспечиваться вышестоящими по OSI уровнями, если это необходимо. Именно поэтому протокол UDP по своей концепции наиболее близок к OpenVPN, т. к. он, как и протоколы канального и физического уровней, не обеспечивает надежности соединения, передавая эту инициативу более высоким уровням. Если же настроить туннель на работу по ТСР, сервер в типичном случае будет получать ТСР-сегменты OpenVPN, которые содержат другие ТСР-сегменты от клиента. В результате в цепи получается двойная проверка на целостность информации, что совершенно не имеет смысла, т. к. надежность не повышается, а скорости соединения и пинга снижаются.[8][9]. Также возможна работа через большую часть прокси-серверов, включаяHTTP,SOCKS, черезNAT и сетевые фильтры. Сервер может быть настроен на назначение сетевых настроек клиенту. Например: IP-адрес, настройки маршрутизации и параметры соединения.OpenVPN предлагает два различных варианта сетевых интерфейсов, используя драйверTUN/TAP. Возможно создать туннельсетевого уровня, называемый TUN, иканального уровня — TAP, способный передаватьEthernet-трафик. Также возможно использование библиотеки компрессииLZO для сжатия потока данных. Используемый порт 1194 выделенInternet Assigned Numbers Authority для работы данной программы[10]. Версия 2.0 позволяет одновременно управлять несколькими туннелями в отличие от версии 1.0, позволявшей создавать только 1 туннель на 1 процесс.
Использование вOpenVPN стандартных протоколов TCP и UDP позволяет ему стать альтернативойIPsec в ситуациях, когда Интернет-провайдер блокирует некоторыеVPN-протоколы.
См. также
[править |править код]Примечания
[править |править код]- ↑ChangeLog 2006-10-01
- ↑Release v2.6.13 — 2025.
- ↑https://openvpn.net/index.php/about-menu/about-us.html
- ↑https://openvpn.net/index.php/about-menu/contact-us.html
- ↑The openvpn Open Source Project on Open Hub: Languages Page — 2006.
- ↑OpenVPN: An Introduction and Interview with Founder, James Yonan (англ.). LinuxSecurity.com. Дата обращения: 6 марта 2015. Архивировано 15 января 2019 года.
- ↑Security Overview (англ.). OpenVPN.net. Дата обращения: 6 марта 2015. Архивировано изоригинала 28 сентября 2011 года.
- ↑Olaf Titz. Why TCP Over TCP Is A Bad Idea (англ.). Дата обращения: 6 марта 2015. Архивировано 6 марта 2015 года.
- ↑Douglas Crawford. OpenVPN over TCP vs. UDP: what is the difference, and which should I choose? (англ.). BestVPN (23 августа 2013). Дата обращения: 6 марта 2015.
- ↑Service Name and Transport Protocol Port Number Registry (англ.). IANA. Дата обращения: 6 марта 2015. Архивировано 2 апреля 2015 года.
Ссылки
[править |править код]- Официальный сайт.Архивная копия от 25 февраля 2007 наWayback Machine (англ.).
- Настройка OpenVPN с X.509.Архивная копия от 17 февраля 2008 наWayback Machine (рус.).