openvpn, широко используемый VPN-сервер, создающий зашифрованные туннели в сетях IP, только что выпустил версию 2.7.1 — первое обновление серии 2.7. Главной особенностью является новая опция для директивы --auth-user-pass.
Благодаря ей OpenVPN теперь может запрашивать только имя пользователя и отправлять фиктивный пароль. Это полезно для конфигураций, использующих внешнюю аутентификацию, где для запуска процесса «запрос-ответ» на сервере требуется только имя пользователя.
Производительность была улучшена за счет изменения размера внутренних хеш-карт. Вместо фиксированного значения по умолчанию 256, теперь по умолчанию используется значение, равное четырехкратному значению --max-clients. Старая настройка могла замедлять работу при большом количестве клиентов, но новый метод адаптирует использование памяти к фактическим потребностям.
Есть также некоторые изменения, которые заметят пользователи. Если OpenVPN скомпилирован с AWS-LC, опция --tls-cert-profile теперь выдает предупреждение во время выполнения, поскольку эта функция не поддерживается. Для систем, использующих systemd, файлы модулей теперь используют TasksMax вместо LimitNPROC, и ограничение было увеличено. Кроме того, изменилось ведение журнала для port-share: входящие соединения теперь регистрируются с уровнем подробности 3, а не как ошибки.
Что касается исправлений ошибок, директива --lport теперь работает корректно внутри блоков <connection>, после того как была нарушена предыдущими изменениями. Также исправлена проблема с паролями закрытых ключей длиной 64 символа или более. Исправлена и другая проблема, вызывавшая сбои при TCP-соединениях с использованием интерфейсов TAP и отсутствующих настроек IP.
OpenVPN 2.7.1 также включает важные исправления для определенных платформ. Data Channel Offload теперь работает корректно на системах FreeBSD без поддержки IPv4 в ядре и на системах Linux с процессорами big-endian, такими как MIPS и PowerPC. Также есть исправления для FreeBSD 15, включая улучшенную обработку асинхронного push без необходимости использования libinotify.
Другие изменения улучшают отклик интерфейса управления, тестовые запуски при кросс-компиляции и поддержку более новых наборов инструментов. Чтобы ознакомиться со всеми изменениями в деталях, обратитесь к журналу изменений.