A finales de julio, los desarrolladores del túnel VPN WireGuard propusieron , que harán que su software para la organización de túneles VPN sea parte del núcleo de Linux. Sin embargo, la fecha exacta de implementación de la 'idea' aún sigue siendo desconocida. En el siguiente apartado, hablaremos de esta herramienta con más detalle.
/ фото
Resumen del proyecto
WireGuard es un túnel VPN de nueva generación, creado por Jason Donenfeld, jefe de la empresa Edge Security. El proyecto ha sido desarrollado como y rápida a OpenVPN e IPsec. La primera versión del producto contenía solo 4.000 líneas de código. En comparación, OpenVPN tiene alrededor de 120.000 líneas y IPSec aproximadamente 420.000.
Por Para los desarrolladores, WireGuard es fácil de configurar, y la seguridad del protocolo se logra . : Wi-Fi, LTE o Ethernet, es necesario reconectar a cada vez al servidor VPN. Sin embargo, los servidores de WireGuard no rompen la conexión, incluso si el usuario recibe una nueva dirección IP.
A pesar de que WireGuard inicialmente está diseñado para el núcleo de Linux, los desarrolladores por una versión portátil de la herramienta para dispositivos Android. La aplicación todavía no está completada, pero ya se puede probar en acción. Para ello, hay que .
En general, WireGuard goza de bastante popularidad y ha sido implementado por varios proveedores de VPN, como Mullvad y AzireVPN. En la red se ha publicado de esta solución. Por ejemplo, , que son creadas por los usuarios, y hay guías .
Detalles técnicos
En (pág. 18) se señala que el ancho de banda de WireGuard es cuatro veces mayor que el de OpenVPN: 1011 Mbit/s frente a 258 Mbit/s, respectivamente. WireGuard también supera a la solución estándar para Linux IPsec, que tiene 881 Mbit/s. Además, lo supera en cuanto a la simplicidad de configuración.
Después del intercambio de claves (la conexión VPN se inicia casi como en SSH) y el establecimiento de la conexión, WireGuard resuelve automáticamente todas las demás tareas: no es necesario preocuparse por la ruta, el estado y otras cuestiones. Solo se requerirán esfuerzos adicionales de configuración si se desea utilizar cifrado simétrico.

/ фото
Para la instalación, se necesita una distribución con un núcleo de Linux 'más reciente' que 4.1. Se puede encontrar en los repositorios de las principales distribuciones de 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, compilar por su cuenta a partir de los textos fuente también es sencillo. Solo es necesario levantar la interfaz y generar las claves pública y privada:
$ sudo ip link add dev wg0 type wireguard
$ wg genkey | tee privatekey | wg pubkey > publickey
WireGuard interfaz para trabajar con el proveedor de criptografía . En su lugar, se utiliza el cifrado de flujo , criptográfico Poly1305 y sus propias funciones hash criptográficas.
La clave secreta se genera utilizando basado en curvas elípticas . Al realizar el hash se utilizan y . Gracias al formato de marca de tiempo el protocolo descarta paquetes con un valor de timestamp menor, evitando así y .
En este sentido, WireGuard utiliza la función ioctl para el control de entrada/salida (anteriormente se usaba ), lo que hace que el código sea más limpio y simple. Esto puede comprobarse revisando el .
Los planes de los desarrolladores
Por ahora, WireGuard es un módulo del kernel fuera del árbol. Pero el autor del proyecto, Jason Donenfeld, , cree que ya es hora de una implementación completa en el núcleo de Linux, ya que es más simple y confiable que otras soluciones. En este sentido, incluso el mismo Linus Torvalds comentó que el código de WireGuard es "una obra maestra".
Pero nadie habla aún de fechas exactas para la implementación de WireGuard en el núcleo. Y que esto suceda con el lanzamiento del kernel de Linux 4.18 en agosto. Sin embargo, existe una posibilidad de que ocurra en un futuro muy cercano: en la versión 4.19 o 5.0.
Cuando WireGuard sea añadido al núcleo, los desarrolladores mejorar la aplicación para dispositivos Android y comenzar a escribir una aplicación para iOS. Además, se planea finalizar las implementaciones en Go y Rust y portarlas a macOS, Windows y BSD. También se contempla la implementación de WireGuard para sistemas más "exóticos": , , así como muchas otras cosas interesantes. Todas ellas están enumeradas en el de los autores del proyecto.
P.D. Algunos artículos más de nuestro blog corporativo:
Nuestra principal área de actividad es la provisión de servicios en la nube:
| | | | | |
Fuente: habr.com
