Réseaux et adresses
WireGuard
Un protocole VPN petit et rapide, bâti sur une cryptographie moderne. Une paire de clés par côté, un port UDP, et il fonctionne derrière un NAT.
WireGuard est un protocole VPN qui tient en quelques milliers de lignes de code. Chaque côté a une clé publique et une clé privée ; un tunnel est un appariement de clés plus les adresses autorisées à le traverser. Il n'y a pas d'autorité de certification, pas de négociation de suites de chiffrement et pas d'état de connexion : un pair qui présente la bonne clé et une poignée de main valide est accepté.
Il fonctionne sur UDP sur le port de votre choix, et c'est pourquoi il marche depuis derrière un NAT et un CGNAT : le côté derrière le NAT envoie le premier paquet, l'autre côté répond là d'où il est venu, et un keepalive toutes les 25 secondes maintient la correspondance ouverte. Il est intégré au noyau Linux et disponible sur tous les OS de routeur courants, téléphones et ordinateurs de bureau.
En plus des usages VPN habituels, c'est ce que les fournisseurs utilisent pour router une adresse IP publique vers un équipement qui n'en a pas : le tunnel est monté depuis votre côté, et le trafic destiné à l'adresse publique redescend par celui-ci jusqu'à votre routeur.