[technique] Test de wireguard (Was: Visite de faimaison a tetaneutral.net mardi et mercredi 15 et 16 mars 2016 a Myrys)

Baptiste Jonglez baptiste at bitsofnetworks.org
Dim 13 Mar 14:01:12 CET 2016


Salut,

On Sat, Mar 12, 2016 at 11:54:45AM +0100, Pierre Emeriaud wrote:
> > Je vois que ça parle de tunnels : si ça intéresse quelqu'un de regarder
> > Wireguard [1], un VPN en kernelspace
> 
> Quelle est la motivation de faire ça en kernelspace, alors qu'on a
> tendance à bouger les stacks en userland pour plus de perfs ?

Je connais assez peu les trucs genre DPDK & co, mais ça m'a l'air très
tourné vers des applications « j'envoie des paquets à toute vitesse sans
faire beaucoup de traitement » (sauf peut-être packet journey de Gandi ?).
Pour un VPN, il y a pas mal de traitements : recevoir un paquet, vérifier
que ça correspond bien à un VPN, vérifier ou calculer un MAC
(authenticité), chiffrer/déchiffrer, et renvoyer.  Tu connais des VPN en
userspace qui utilisent DPDK ou autre lib du genre ?

L'autre avantage que je vois au kernelspace, c'est que c'est plus ou moins
« transparent » pour l'utilisateur : il n'y a pas de daemon qui tourne.
En gros, monter une instance wireguard consiste à créer une interface et
lui donner quelques paramètres :

  ip link add dev wg0 type wireguard
  ip address add 2001:db8:1::1/64 dev wg0
  wg set wg0 listen-port 2345 private-key /foo/priv.key
  wg set wg0 peer $publickey allowed-ips 2001:db8:1::2/128 endpoint 192.0.2.42:8172

Et voilà.  On peut créer autant d'interfaces qu'on veut, ça fera autant
d'instances indépendantes.
-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: signature.asc
Type: application/pgp-signature
Taille: 819 octets
Desc: non disponible
URL: <http://lists.tetaneutral.net/pipermail/technique/attachments/20160313/c75498cc/attachment.sig>


Plus d'informations sur la liste de diffusion technique