ProHoster > WireGuard "chegará" ao núcleo de Linux - por que?
WireGuard "chegará" ao núcleo de Linux - por que?
A finais de xullo, os desenvolvedores do túnel VPN WireGuard propuxeron conxunto de parches, que fará que o seu software de tunelización VPN forme parte do núcleo de Linux. Non obstante, aínda se descoñece a data exacta de implantación da "idea". Debaixo do corte falaremos desta ferramenta con máis detalle.
WireGuard é un túnel VPN de nova xeración creado por Jason A. Donenfeld, CEO de Edge Security. O proxecto desenvolveuse como simplificado e unha alternativa rápida a OpenVPN e IPsec. A primeira versión do produto contiña só 4 mil liñas de código. A modo de comparación, OpenVPN ten preto de 120 mil liñas e IPSec - 420 mil.
En segundo desenvolvedores, WireGuard é fácil de configurar e conséguese a seguridade do protocolo mediante algoritmos criptográficos probados. Ao cambiar de rede: Wi-Fi, LTE ou Ethernet deben volver conectarse ao servidor VPN cada vez. Os servidores WireGuard non finalizan a conexión, aínda que o usuario recibise un novo enderezo IP.
A pesar de que WireGuard foi deseñado orixinalmente para o núcleo Linux, os desenvolvedores coidado e sobre unha versión portátil da ferramenta para dispositivos Android. A aplicación aínda non está totalmente desenvolvida, pero podes probala agora. Para iso necesitas convértete nun dos probadores.
В documentación oficial (páx. 18) nótase que o rendemento de WireGuard é catro veces superior ao de OpenVPN: 1011 Mbit/s fronte a 258 Mbit/s, respectivamente. WireGuard tamén está por diante da solución estándar para Linux IPsec: ten 881 Mbit/s. Tamén o supera en facilidade de configuración.
Despois de intercambiar as claves (a conexión VPN iníciase como SSH) e establécese a conexión, WireGuard xestiona todas as outras tarefas por si só: non hai que preocuparse polo enrutamento, o control do estado, etc. Só se realizarán esforzos de configuración adicionais. necesario se quere utilizar o cifrado simétrico.
Para instalar, necesitará unha distribución cun núcleo de Linux anterior á versión 4.1. Pódese atopar nos repositorios das principais distribucións de Linux.
Como sinalan os editores de xakep.ru, a autoensamblaxe dos textos fonte tamén é doado. Abonda con abrir a interface e xerar claves públicas e privadas:
$ sudo ip link add dev wg0 type wireguard
$ wg genkey | tee privatekey | wg pubkey > publickey
WireGuard non usa interface para traballar cun provedor criptográfico CriptoAPI. No seu lugar, úsase un cifrado de fluxo ChaCha20, criptográfica inserto de imitación Poly1305 e funcións hash criptográficas propietarias.
Neste caso, WireGuard usa a función ioctl para controlar E/S (utilizada anteriormente netlink), o que fai que o código sexa máis limpo e sinxelo. Podes verificalo mirando código de configuración.
Plans de desenvolvedores
Polo momento, WireGuard é un módulo do núcleo fóra da árbore. Pero o autor do proxecto é Jason Donenfeld di, que chegou o momento da implementación total no núcleo de Linux. Porque é máis sinxelo e fiable que outras solucións. Jason neste sentido soportes incluso o propio Linus Torvalds chamou ao código WireGuard unha "obra de arte".
Pero ninguén fala das datas exactas para a introdución de WireGuard no núcleo. E dificilmente isto ocorrerá co lanzamento do kernel Linux de agosto 4.18. Non obstante, existe a posibilidade de que isto suceda nun futuro moi próximo: na versión 4.19 ou 5.0.
Cando se engade WireGuard ao núcleo, os desenvolvedores querer finaliza a aplicación para dispositivos Android e comeza a escribir unha aplicación para iOS. Tamén hai plans para completar implementacións en Go e Rust e portalas a macOS, Windows e BSD. Tamén está previsto implementar WireGuard para sistemas máis "exóticos": DPDK, FPGA, así como moitas outras cousas interesantes. Todos eles están enumerados en lista de tarefas autores do proxecto.