OpenVPN

OpenVPN — свободная реализация технологии виртуальной частной сети (VPN) с открытым исходным кодом для создания зашифрованных каналoв типа точка-точка или сервер-клиенты между компьютерами. Она позволяет устанавливать соединения между компьютерами, находящимися за NAT и сетевым экраном, без необходимости изменения их настроек. OpenVPN была создана Джеймсом Йонаном (James Yonan) и распространяется под лицензией GNU GPL[6].

OpenVPN
Автор Джеймс Йонан[d][1]
Разработчик OpenVPN Inc.[d][2]
Написана на Си[3]
Операционная система кроссплатформенность
Первый выпуск 23 марта 2002[4]
Последняя версия
Читаемые форматы файлов OpenVPN profile (var.1)[d], OpenVPN profile (with rem)[d] и OpenVPN profile (var.2)[d]
Создаваемые форматы файлов OpenVPN profile (var.1)[d], OpenVPN profile (with rem)[d] и OpenVPN profile (var.2)[d]
Лицензия GNU GPL
Сайт openvpn.net (англ.)
 Медиафайлы на Викискладе

Введение

Для обеспечения безопасности управляющего канала и потока данных OpenVPN использует библиотеку OpenSSL. Это позволяет задействовать весь набор алгоритмов шифрования, доступных в данной библиотеке. Также может использоваться пакетная аутентификация HMAC для обеспечения большей безопасности, и аппаратное ускорение для улучшения производительности шифрования. Эта библиотека использует OpenSSL, а точнее — протоколы SSLv3/TLSv1.2[7]. OpenVPN используется в операционных системах Solaris, OpenBSD, FreeBSD, NetBSD, GNU/Linux, Apple Mac OS X, 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-протоколы.

См. также

Примечания

  1. https://openvpn.net/index.php/about-menu/about-us.html
  2. https://openvpn.net/index.php/about-menu/contact-us.html
  3. The openvpn Open Source Project on Open Hub: Languages Page — 2006.
  4. ChangeLog 2006-10-01
  5. https://github.com/OpenVPN/openvpn/releases/tag/v2.5.4 — 2021.
  6. OpenVPN: An Introduction and Interview with Founder, James Yonan (англ.). LinuxSecurity.com. Дата обращения: 6 марта 2015.
  7. Security Overview (англ.). OpenVPN.net. Дата обращения: 6 марта 2015.
  8. Olaf Titz. Why TCP Over TCP Is A Bad Idea (англ.). Дата обращения: 6 марта 2015.
  9. Douglas Crawford. OpenVPN over TCP vs. UDP: what is the difference, and which should I choose? (англ.). BestVPN (23 августа 2013). Дата обращения: 6 марта 2015.
  10. Service Name and Transport Protocol Port Number Registry (англ.). IANA. Дата обращения: 6 марта 2015.

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.