Capacités

Sur plusieurs chemins passe le réseau lui-même, pas une application isolée

Cinq choses qui séparent un transport au niveau IP d'un proxy et d'une agrégation de liens ordinaire.

VPN transparent

VPN / 01

N'importe quel trafic IP autorisé, sans client dans l'application

Un tunnel complet ou des routes choisies passent par utun. Dedans vivent IPv4 et IPv6, TCP, UDP, DNS, ICMP et les autres protocoles autorisés. Le point de terminaison du transport lui-même est exclu du tunnel, et exclu fermement : si cette règle tombe, la connexion coupe au lieu de fuir à côté.

  • Une interface système à la place d'un proxy SOCKS ou HTTP
  • Un MTU explicite et la fragmentation propre au transport
  • L'IP brut est gradué depuis son propre en-tête, et sous une échéance serrée c'est la classe de masse qui cède

Multichemin et bascule

PATH / 02

Un chemin n'est vivant qu'une fois sa sortie réelle vérifiée

Attacher une socket à une adresse ne suffit pas. PLY sépare PROBING, ACTIVE, MUTED et DEAD, confirme par sonde que les liens sont indépendants, et ne fait jamais passer deux lignes d'un tableau pour deux chemins physiques.

  • Les sondes atteignent le serveur depuis des adresses publiques différentes
  • La bascule survit aux changements de Wi-Fi et aux transferts cellulaires
  • Les compteurs se voient dans le client et dans Prometheus sur le serveur

Débit ou pertes

MODE / 03

Trois paliers, et on voit ce que chacun coûte

Plusieurs liens achètent deux choses différentes : plus de débit, ou moins de pertes. balanced laisse le mécanisme et le nombre de copies à l'allocateur, qui les calcule message par message. copies-N place une copie sur les N meilleurs chemins utilisables, N de 2 à 255. all-paths envoie chaque message sur chaque chemin utilisable et coûte du débit à proportion de leur nombre.

  • balanced est le réglage par défaut et déduit la redondance par message, pas par classe de trafic
  • Chaque sens se règle à part : [app] redundancy côté client, [egress] redundancy côté serveur
  • Le fil ne porte aucun champ de mode, donc le sens retour suit le réglage du serveur et non une demande du client

Sortie par le serveur

EGRESS / 04

N'importe quels TCP et UDP sortent depuis l'adresse du serveur

Le serveur tient un TUN persistant et décide quoi faire de chaque paquet : le sortir par un lien avec l'adresse réécrite, ou le router plus loin sans y toucher.

  • Un même chemin de données sert les deux modes
  • La politique s'écrit en liste de réseaux, pas en jeu de ports
  • Changer les droits révoque l'ancienne session au lieu d'attendre sa fin

Accès et observabilité

POLICY / 05

Les droits L3 se donnent à part et se vérifient sur chaque paquet

L'appareil reçoit une adresse fixe, un mode autorisé et une liste de réseaux. Un paquet dont la source ne correspond pas à l'adresse attribuée ne passe pas.

  • Enrôlement, empreinte de clé et nouvelle poignée de main
  • Prometheus, journal d'événements, traces et archive de diagnostic hors ligne
  • Les données de plantage ne sortent jamais du périmètre du client

Modes de serveur

Un chemin de données, deux façons de lâcher le trafic

forward

Les paquets autorisés sortent par le lien choisi avec MASQUERADE. De l'extérieur, cela ressemble à du trafic serveur ordinaire.

tun

Le même chemin de données route les paquets plus loin sans toucher aux adresses. À utiliser quand il faut relier des réseaux plutôt que les cacher.