OpenVPN — свободная реализация технологии Виртуальной Частной Сети (VPN) с открытым исходным кодом для создания зашифрованных каналов типа точка-точка или сервер-клиенты между компьютерами. Она позволяет устанавливать соединения между компьютерами находящимися за NAT-firewall без необходимости изменения его настроек. OpenVPN была создана Джеймсом Йонан (James Yonan), и распространяется под лицензией GNU GPL.
Введение Для обеспечения безопасности управляющего канала и потока данных, OpenVPN использует библиотеку OpenSSL. Благодаря этому задействуется весь набор шифров, доступных в данной библиотеке. Также может использоваться пакетная авторизация HMAC, для обеспечения большей безопасности, и аппаратное ускорение для улучшения производительности шифрования. Эта библиотека использует OpenSSL, а точнее SSLv3/TLSv1 протокол. OpenVPN используется на Solaris, OpenBSD, FreeBSD, NetBSD, GNU/Linux, Apple Mac OS X и Microsoft Windows.
Аутентификация OpenVPN предлагает пользователю несколько видов аутентификации. Предустановленный ключ, — самый простой метод. Сертификатная аутентификация, — наиболее гибкий в настройках метод. С помощью логина и пароля, — может использоваться без создания клиентского сертификата (серверный сертификат все равно нужен).
Сеть OpenVPN проводит все сетевые операции через 1 TCP, либо UDP (предпочтительнее) порт (При выборе протокола существуют две точки зрения одна Why TCP Over TCP Is A Bad Idea и другая Tcp Over TCP Is Not So Bad-web). Также возможна работа через большую часть прокси серверов, включая HTTP, через NAT и сетевые фильтры. Сервер может быть настроен на назначение сетевых настроек клиенту. Например: IP адрес, настройки маршрутизации и параметры соединения. OpenVPN предлагает два различных варианта сетевых интерфейсов, используя драйвер TUN/TAP. Возможно создание Layer 3 based IP туннель, называемый TUN, и Layer 2 based Ethernet — TAP, способный передавать Ethernet трафик. Также возможно использование библиотеки компрессии LZO, для сжатия потока данных. Используемый порт 1194 выделен Internet Assigned Numbers Authority для работы данной программы. Версия 2.0 позволяет контролировать несколько одновременных туннелей, в отличие от версии 1.0, позволявшей создавать только 1 туннель на 1 процесс.
Использование OpenVPN стандартных протоколов TCP и UDP позволяет ему стать альтернативой IPsec в ситуациях, когда Интернет-провайдер блокирует некоторые VPN протоколы.
|