WireGuard "llegará" al fondo Linux - ¿Por qué?

A finales de julio, los desarrolladores del túnel VPN WireGuard propuesto conjunto de parcheslo que hará que su software de tunelización VPN forme parte del núcleo. LinuxSin embargo, aún se desconoce la fecha exacta de implementación de esta "idea". Hablaremos de esta herramienta con más detalle a continuación.

WireGuard "llegará" al fondo Linux - ¿Por qué?
/ foto tambako el jaguar CC

Brevemente sobre el proyecto

WireGuard — un túnel VPN de próxima generación creado por Jason A. Donenfeld, CEO de Edge Security. El proyecto fue desarrollado como simplificado y una alternativa ágil OpenVPN y IPsec. La primera versión del producto contenía solo 4 líneas de código. En comparación, en OpenVPN unas 120 mil líneas, y en IPSec, 420 mil.

En de acuerdo a desarrolladores, WireGuard Es fácil de configurar y se logra la seguridad del protocolo. a través de algoritmos criptográficos probados. Al cambiar de red: Wi-Fi, LTE o Ethernet requieren volver a conectarse al servidor VPN cada vez. Servidores WireGuard No interrumpen la conexión aunque el usuario haya recibido una nueva dirección IP.

A pesar de que WireGuard originalmente afilado para Linux-núcleo, desarrolladores cuidado y sobre la versión portátil de la herramienta para Android-dispositivos. La aplicación aún no está completamente desarrollada, pero puedes probarla ahora mismo. Para ello, necesitas conviértete en uno de los probadores.

En general, los WireGuard goza de bastante popularidad e incluso implementado varios proveedores de VPN, como Mullvad y AzireVPN. Publicado en línea un gran numero guías de configuración esta decisión. Por ejemplo, hay guias, que son creados por los usuarios, y hay guías, preparado por los autores del proyecto.

Detalles técnicos

В documentación oficial (p.18) se observa que la capacidad de procesamiento de WireGuard cuatro veces mayor que el de OpenVPN: 1011 Mbps frente a 258 Mbps respectivamente. WireGuard por delante de la solución estándar para Linux IPsec tiene una velocidad de 881 Mbps y además es más fácil de configurar.

Después de intercambiar claves (la conexión VPN se inicializa casi como en SSH) y establecer una conexión WireGuard Gestiona todas las demás tareas de forma independiente: no hay que preocuparse por el enrutamiento, la monitorización del estado, etc. Solo se requieren ajustes adicionales si se desea utilizar el cifrado simétrico.

WireGuard "llegará" al fondo Linux - ¿Por qué?
/ foto Anders Hojbjerg CC

Para instalarlo, necesitarás una distribución con un kernel. Linux Es anterior a la versión 4.1. Se puede encontrar en los repositorios de las principales distribuciones. Linux.

$ sudo add-apt-repository ppa:hda-me/wireguard
$ sudo apt update
$ sudo apt install wireguard-dkms wireguard-tools

Como señalan los editores de xakep.ru, el autoensamblaje a partir de los textos originales también es fácil. Basta con abrir la interfaz y generar claves públicas y privadas:

$ sudo ip link add dev wg0 type wireguard
$ wg genkey | tee privatekey | wg pubkey > publickey

WireGuard no se usa interfaz para trabajar con un proveedor de cifrado Cryptoapi. En su lugar, se utiliza un cifrado de flujo. ChaCha20, criptográfico inserto de imitación Poly1305 y funciones hash criptográficas patentadas.

La clave secreta se genera usando Protocolo de Diffie-Hellman basado en curva elíptica Curve25519. Cuando hacen hash, usan funciones hash BLAKE2 и SipHash. Debido al formato de marca de tiempo TAI64N El protocolo descarta paquetes con un valor de marca de tiempo más pequeño, por lo que prevención de DoS- и ataques de repetición.

En este caso, WireGuard Permite que la función ioctl controle la entrada/salida (previamente utilizada) enlace de red), lo que hace que el código sea más limpio y sencillo. Puedes verificar esto mirando código de configuración.

Planes de desarrollador

Por ahora WireGuard — es un módulo del kernel fuera del árbol. Pero el autor del proyecto, Jason Donenfeld, diceque es hora de una implementación completa en el kernel LinuxPorque es más simple y más confiable que otras soluciones. Jason en este sentido apoyo Incluso el propio Linus Torvalds: él mismo le puso nombre al código. WireGuard "una obra de arte."

Pero en cuanto a las fechas exactas de implementación WireGuard Nadie habla aún del núcleo. Y apenas Esto sucederá con el lanzamiento del número de agosto. Linux kernel 4.18. Sin embargo, existe la posibilidad de que esto ocurra en un futuro muy próximo: en la versión 4.19 o 5.0.

¿Cuándo WireGuard se agregará al núcleo, desarrolladores querer mejorar la aplicación para Android-dispositivos y comenzar a escribir una aplicación para iOS. Además, planeamos completar las implementaciones de Go y Rust y portarlas a macOS, Windows y BSD. También está prevista su implementación. WireGuard Para obtener más "sistemas exóticos": DPDK, FPGA, además de muchas otras cosas interesantes. Todos ellos están listados en lista de quehaceres autores del proyecto.

PD: Algunos artículos más de nuestro blog corporativo:

La principal dirección de nuestra actividad es la prestación de servicios en la nube:

Infraestructura Virtual (IaaS) | Alojamiento PCI DSS | Nube FZ-152 | Alojamiento SAP | Almacenamiento virtual | Cifrar datos en la nube | Almacenamiento en la nube

Fuente: habr.com

Compre alojamiento confiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra alojamiento web fiable con protección DDoS, servidores VPS VDS | ProHoster