После почти двух лет разработки вышел релиз OpenVPN 2.3.0, пакета для создания виртуальных частных сетей, позволяющего организовать шифрованное соединение между двумя клиентскими машинами или обеспечить работу централизованного VPN сервера для одновременной работы нескольких клиентов. Код OpenVPN распространяется в рамках лицензии GPLv2, готовые бинарные пакеты подготовлены для Debian, Ubuntu, CentOS, RHEL и Windows.
Из добавленных в новой версии улучшений можно отметить:
- Полноценная поддержка IPv6, как поддержка соединения по IPv6 между клиентом и сервером, так и проброс IPv6 трафика по туннелю;
- Перевод поддержки SSL на модульную основу, что позволяет обеспечить возможность использования в OpenVPN различных реализаций библиотек SSL. В настоящее время, кроме OpenSSL добавлена поддержка пакета PolarSSL;
- Новый API для предоставления плагинам прямого доступа к сертификатам. Расширение API для ведения логов;
- Полностью новая система сборки, упрощающая выполнение кросскомпиляции и формирования сборок для платформы Windows;
- Добавлена опция "--client-nat" для включения автоматической трансляции адресов с целью избежать конфликта IP-адресов локальной и удалённой сети;
- Добавлена установка новой переменной окружения 'dev_type', позволяющей передать в скрипт или плагин тип интерфейса 'TUN' или 'TAP';
- Добавлена опция "--management-external-key" для предоставления доступа к ключам шифрования через управляющий интерфейс;
- Добавлена опция "--x509-track" для предоставления доступа к отдельным полям X.509 в скриптах и плагинах;
- Добавлена опция "--mark" для пометки шифрованных пакетов, используемых для обеспечения работы тунеля. Впоследствии, установленные маркеры могут использоваться для применения дополнительных условий в подсистеме маршрутизации и пакетном фильтре;
- Добавлена опция "--management-query-proxy" для управления настройками прокси через управляющий интерфейс;
- Добавлена опция "--stale-routes-check" для чистки внутренней таблицы маршрутизации (удаляются давно не используемые маршруты);
- Добавлена опция "--x509-username-field" для использования дополнительных полей X.509v3 для аутентификации, вместо типового поля "Common Name";
- В управляющем интерфейсе улучшена работа команды client-kill;
- Улучшена поддержка UTF-8, в том числе обеспечена возможность использования UTF-8 в полях сертификатов. Для обеспечения обратной совместимости с поведением прошлых версий добавлена опция "--compat-names";
- Добавлена передача в auth-pam переменной COMMONNAME для использования в PAM имени на которое выписан сертификат;
- Расширено число опций, допустимых для использования в блоках connection.