VIGIL MESH

Documentation

VPN sans ouvrir de port : la traversée NAT expliquée

Un VPN classique commence toujours par la même corvée : ouvrir un port entrant sur le routeur, configurer une redirection (port forwarding), exposer un serveur à Internet. VIGIL-MESH n’en demande rien : chaque machine établit uniquement des connexions sortantes, un relais met les pairs en relation immédiatement, puis la session migre sans coupure vers le chemin direct dès que la traversée NAT le trouve. Zéro port entrant, un seul flux sortant en 443 UDP — y compris derrière une box grand public ou une connexion 4G/5G en CGNAT.

Pourquoi les VPN classiques exigent un port entrant

Pour qu’un tunnel VPN s’établisse, il faut que quelqu’un accepte la connexion. Dans un VPN classique, ce quelqu’un est un serveur : une machine qui écoute sur un port, joignable depuis Internet. Or presque toutes les machines d’aujourd’hui vivent derrière un NAT — la box traduit les adresses privées du réseau local en une adresse publique partagée, et par défaut elle ne laisse entrer aucune connexion. D’où la redirection de port : dire à la box « ce qui arrive sur ce port, envoie-le à cette machine ». C’est cette étape qui pose problème, pour plusieurs raisons.

La box grand public

Il faut accéder à l’interface d’administration, créer la règle de redirection à la main, et la refaire si la box change ou si l’adresse IP publique n’est pas fixe. Une manipulation technique que la plupart des utilisateurs ne feront jamais — et qu’un locataire, un invité ou un télétravailleur ne peut souvent même pas faire.

Le CGNAT des connexions 4G/5G

Sur la plupart des accès mobiles et sur de nombreux accès fibre récents, l’adresse publique est partagée entre de nombreux abonnés (Carrier-Grade NAT). Il n’y a aucun port à ouvrir : le NAT appartient à l’opérateur, pas à vous. Un VPN qui exige un port entrant est tout simplement impossible à héberger là.

Le réseau d'entreprise

Le pare-feu est géré par une équipe sécurité : ouvrir un port entrant, c’est un ticket, une justification, une validation — quand ce n’est pas un refus de principe. Les flux sortants, eux, sont l’usage normal du réseau.

L'exposition à Internet

Un port ouvert est un service exposé : il est scanné en permanence, et chaque faille du logiciel qui écoute devient exploitable depuis n’importe où. Ne rien exposer du tout reste la meilleure réduction de surface d’attaque.

Comment fonctionne la traversée NAT

L’idée clé de la traversée NAT tient en une phrase : un NAT bloque les connexions entrantes, mais laisse toujours sortir — et laisse revenir les réponses à ce qui est sorti. Si les deux machines établissent chacune une connexion sortante vers l’autre au même moment, chaque NAT voit passer un paquet sortant, ouvre un passage pour la réponse, et les paquets de l’autre côté s’engouffrent dans ce passage. Personne n’a accepté de connexion entrante ; les deux sorties se sont rejointes au milieu.

  1. 1
    Chaque machine sortLes deux nœuds maintiennent une connexion sortante vers un point de rendez-vous. En sortant, chacun découvre l’adresse et le port publics que son NAT lui a attribués — tels que le monde extérieur les voit.
  2. 2
    Le rendez-vous échange les adressesLe point de rendez-vous transmet à chaque nœud l’adresse publique observée de l’autre. Chacun sait désormais où viser.
  3. 3
    Les paquets se croisentLes deux nœuds s’envoient des paquets simultanément. Chaque NAT, ayant vu sortir un paquet vers l’autre, accepte ce qui en revient : le chemin direct est ouvert, sans qu’aucun port n’ait été configuré nulle part.

Tous les NAT ne se laissent pas traverser aussi facilement. Ce qui compte, c’est la manière dont le NAT attribue ses correspondances (adresse et port publics) et ce qu’il accepte en retour :

Type de NATComportementChemin direct
Full coneUne correspondance stable ; tout le monde peut y répondreTrivial
Restreint (adresse)Accepte les retours des adresses déjà contactéesFonctionne avec l'échange d'adresses
Restreint (port)Accepte les retours du couple adresse + port contactéFonctionne avec des paquets croisés
SymétriqueUne correspondance différente par destination — le port vu par le rendez-vous n'est pas celui utilisé vers le pairGénéralement impossible en direct

Ce que fait VIGIL-MESH : relais d'abord, direct dès que possible

VIGIL-MESH ne vous fait pas attendre le résultat de la traversée NAT. Dès que deux machines doivent se parler, le trafic passe immédiatement par un relais (la vigie) — joint, lui aussi, par une connexion sortante. En parallèle, les nœuds tentent la traversée NAT ; quand un chemin direct existe, la session y migre sans coupure : rien ne se reconnecte, rien ne tombe, le trafic change simplement de route.

  • Zéro port entrant — aucun nœud n’écoute depuis Internet : toutes les connexions sont établies vers l’extérieur.
  • Un seul flux sortant, en 443 UDP — le même port que le web moderne (HTTP/3), autorisé en sortie sur la quasi-totalité des réseaux. Rien à ouvrir, rien à rediriger, rien à justifier auprès du pare-feu.
  • Chiffrement de bout en bout — les sessions sont des connexions QUIC/TLS 1.3 entre les deux nœuds. Relayé ou direct, le chemin ne change rien au chiffrement.
  • Adresses stables — chaque machine garde la même adresse sur le mesh, quel que soit le réseau physique où elle se trouve et le chemin qu’emprunte son trafic.

Quand le direct est impossible : le relais reste le chemin

Soyons honnêtes : la traversée NAT ne gagne pas toujours. Quand les deux extrémités sont derrière un NAT symétrique — deux connexions 4G, par exemple, chacune en CGNAT d’opérateur —, aucun chemin direct ne peut s’établir : chaque NAT change de port selon la destination, et les paquets croisés ne se rencontrent jamais. Dans ce cas, le trafic continue de passer par la vigie, en permanence.

La vigie est structurellement aveugle : elle ne détient pas les clés des sessions et fait transiter des connexions QUIC/TLS 1.3 chiffrées de bout en bout, dont elle ne voit jamais le contenu. Et si transiter par un relais partagé vous dérange, vous pouvez héberger votre propre vigie privée, dédiée à votre espace de travail : le chemin relayé passe alors par une machine à vous.

Questions fréquentes

Faut-il configurer sa box ou ouvrir un port pour utiliser VIGIL-MESH ?
Non. Aucun port entrant n'est nécessaire et aucune redirection (port forwarding) n'est à créer sur la box ou le routeur. Chaque machine établit uniquement des connexions sortantes en 443 UDP, comme un navigateur web.
Ça marche derrière une connexion 4G/5G ou un CGNAT ?
Oui. Le CGNAT empêche d'héberger un serveur, mais il laisse sortir les connexions — et VIGIL-MESH ne fait que sortir. La machine se connecte immédiatement via le relais, puis passe en direct si la traversée NAT aboutit. Si les deux extrémités sont en CGNAT symétrique, le trafic reste relayé.
Le relais voit-il mon trafic ?
Non. Les sessions sont des connexions QUIC/TLS 1.3 chiffrées de bout en bout entre les deux nœuds. La vigie fait transiter ces flux sans détenir les clés : elle est structurellement aveugle au contenu. Vous pouvez aussi héberger votre propre vigie privée.
Quel flux autoriser sur un pare-feu d'entreprise ?
Un seul flux sortant : le port 443 en UDP, le même que le trafic web HTTP/3. Aucune règle entrante, aucune DMZ, aucune redirection à demander.
La connexion directe est-elle garantie ?
Non, et personne ne peut la garantir : deux NAT symétriques face à face (par exemple deux connexions 4G) rendent le chemin direct impossible. Dans ce cas, le trafic passe en permanence par le relais aveugle — la connexion fonctionne, simplement par un chemin plus long.
Lire ensuiteChemins, relais et migration