Después de tres años desde la publicación de la versión 2.6, se ha preparado el lanzamiento de OpenVPN 2.7.0, un paquete para crear redes privadas virtuales que permite establecer una conexión cifrada entre dos máquinas cliente o configurar un servidor VPN centralizado para el uso simultáneo de varios clientes. El código de OpenVPN se distribuye bajo la licencia GPLv2, y se generan paquetes binarios listos para Debian, Ubuntu, CentOS, RHEL y Windows.
Novedades principales:
- En VPNEn los servidores ha surgido la posibilidad de abrir múltiples sockets receptores, por ejemplo, para aceptar conexiones simultáneamente a través de UDP y TCP o mediante diferentes puertos de red.
- Se ha realizado la transición al uso de una nueva versión del módulo DCO, incluido en el núcleo de Linux 6.16. El módulo que forma parte del núcleo tiene una API modificada y se entrega con el nombre 'ovpn'. El soporte para el antiguo módulo ovpn-dco ha sido descontinuado. Este módulo traslada las operaciones de cifrado, procesamiento de paquetes y gestión del canal de comunicación al núcleo de Linux y permite eliminar la sobrecarga asociada al cambio de contexto, optimizando el funcionamiento mediante el acceso directo a la API interna del núcleo y evitando la lenta transferencia de datos entre el núcleo y el espacio de usuario (el cifrado, descifrado y enrutamiento se realizan sin enviar tráfico al manejador en el espacio de usuario).
- En la versión para Windows: en los filtros WFP se ha activado la bandera block-local; se ha asegurado la generación de interfaces de red adicionales según sea necesario; se ha garantizado el inicio de servicios automáticos bajo un usuario no privilegiado; se ha utilizado NRPT (Tabla de Políticas de Resolución de Nombres) para trabajar con configuraciones DNS; se ha permitido el uso del controlador win-dco para acelerar los servidores VPN.
- Se ha presentado un nuevo formato de claves y paquetes 'epoch', que a diferencia del formato estándar 'DATA_V2', añade una etiqueta AEAD al final del paquete, actualiza automáticamente las claves al alcanzar el límite de uso, tiene identificadores de paquetes de 64 bits y utiliza la operación XOR al formar el vector de inicialización.
- Se ha añadido soporte para lwipovpn, un emulador de interfaces de red tun/tap en el espacio de usuario, implementado sobre la pila TCP/IP lwIP. Con la opción «—dev-node unix:/path/to/lwipovpn» es posible emular un cliente VPN completo en el mismo sistema para pruebas y depuración de OpenVPN.
- Se ha añadido la posibilidad de actualizar parte de la configuración del cliente (IP, enrutamiento, MTU, DNS) mediante el envío de el servidor mensajes de control PUSH_UPDATE.
- En el cliente OpenVPN para Linux, BSD y macOS se ha añadido la opción «—dns-updown» para ejecutar un script que aplique la configuración DNS enviada por el servidor. El script admite la configuración a través de /etc/resolv.conf, systemd o resolveconf.
- Para la plataforma Linux se ha añadido la opción «—route-table» para utilizar tablas de enrutamiento definidas por el usuario.
- Se ha implementado soporte para la rama mbedTLS 4. Se ha añadido soporte para TLS 1.3 en configuraciones con la biblioteca criptográfica mbedTLS.
- Se ha añadido soporte para el sistema operativo Haiku.
- Se ha eliminado el soporte para el modo de operación con claves estáticas (se debe usar el modo TLS), NTLMv1, el controlador wintun de Windows, OpenSSL 1.0.2, mbedTLS 2.x, compresión de datos antes de su envío, las opciones «—memstats» y «—opt-verify».
Fuente: opennet.ru
