OpenVPN es uno de los softwares más populares y usados por usuarios domésticos y empresariales para conectarse a las VPN. Este software está basado en la seguridad que nos proporciona TLS, el establecimiento de la conexión se realiza a través de un canal de control que usará TLS 1.2 o TLS 1.3, y luego tendremos un canal de datos donde tendremos cifrado simétrico punto a punto. Además, este protocolo permite crear una Infraestructura de Clave Pública (PKI), generando una CA propia con sus correspondientes certificados en los clientes. Ahora han integrado OpenVPN DCO en el kernel de Linux, si quieres saber qué significa esto, a continuación, os explicamos todos los detalles.
La aparición de WireGuard VPN supuso un gran golpe a OpenVPN, porque es claramente más rápida. Sin embargo, la aparición de OpenVPN DCO (Data Channel Offload) ha mejorado enormemente su velocidad, y ahora mismo están más igualadas que nunca. OpenVPN Data Channel Offload ha recibido luz verde para su incorporación en el kernel Linux, y formará parte de la distribución oficial a partir de la versión 6.16. Este módulo del kernel llamado ovpn tiene como objetivo ofrecer velocidades muchísimo más rápidas que las actuales, sin afectar negativamente a la seguridad, con el objetivo de usar este software para hacer realidad las populares VPN Zero Trust, las cuales ahora mismo usan WireGuard por ser claramente más rápido.
¿Qué significa que OpenVPN DCO esté integrado en el kernel Linux?
OpenVPN Data Channel Offload es un módulo del kernel Linux, y lo que hace es gestionar el canal de datos de OpenVPN por donde se transfieren los datos. Debemos recordar que en OpenVPN tenemos un canal de control y un canal de datos, el primero se encarga de realizar el establecimiento de la conexión, la autenticación con los certificados digitales y otras tareas dedicadas al control de la conexión. El canal de datos es por donde transferimos los datos desde los clientes al servidor y viceversa, es decir, por donde va el tráfico del usuario.
Ahora OpenVPN ya no enviará el tráfico de datos entre el usuario y el espacio del kernel para su enrutamiento y cifrado/descifrado, sino que está integrado en el kernel, por lo que se reduce la latencia de la conexión, se mejora el rendimiento global, y se reduce el consumo de recursos del propio equipo. Otro aspecto muy importante, es que el funcionamiento de DCO es multiproceso, esto significa que, si tenemos varios núcleos de CPU e incluso varias CPU, podremos mejorar la velocidad y el rendimiento hasta en un 300% en comparación con la implementación sin DCO. Al estar incluido en el kernel Linux, se beneficiará de una mayor calidad de código, mayor seguridad, una implementación más robusta y actualizaciones automáticas y continuadas con cada nueva versión de kernel que vaya saliendo.
En la siguiente tabla se puede ver la diferencia de rendimiento entre las diferentes VPN que tienen los servidores NAS de QNAP. Como se puede ver, WireGuard es el doble de rápido que OpenVPN, pero ahora con DCO esto cambiará y la velocidad estará mucho más igualada.
A partir de este momento, no será necesario instalar ningún software adicional para beneficiarnos de DCO, vendrá directamente por defecto. Que esté OpenVPN integrado en el kernel de Linux significa que:
- Los fabricantes de routers como ASUS, que usan un kernel Linux en sus firmwares, se verán beneficiados de esta integración. Se traduce en que tendremos DCO por defecto, más velocidad real en descarga y subida, así como un menos consumo de recursos al estar integrado directamente.
- Los fabricantes de servidores NAS que usan un Kernel Linux por debajo, como QNAP, ASUSTOR y otras marcas, también se verán muy beneficiadas por esto porque la VPN irá mucho más rápida. Por supuesto, el popular sistema TrueNAS SCALE también recibirá mejoras, perfecto para aumentar su rendimiento.
Esto es una gran noticia para los amantes de OpenVPN, ya que DCO igualará el rendimiento proporcionado por el popular WireGuard.