[Geek] Wireguard
@ Nicolas | Thursday, Nov 7, 2019 | 3 minute(s) de lecture | Mise à jour le Wednesday, Jul 24, 2019

Le dernier né des VPN. Testé et adopté !

Wireguard est un VPN relativement récent dont tout le monde parle. Cela doit faire un an que je l’utilise au quotidien.

Contrairement à OpenVPN (qui fait très bien son boulot), Wireguard est en terme de code, beaucoup plus simple à maintenir, et utilise des technos et algorithmes de chiffrement beaucoup plus récents.

L’avantage surtout que je lui trouve, il est très simple à configurer, et nettement plus rapide sur mon utilisation. Vous pourrez le manipuler avec les commandes ip nativement et ça c’est super cool. Fini le tun/tap. Il est en plus intégré sur le kernel Mainline depuis peu.

Voici un tuto rapide.

Prérequis

Installez le module wireguard si vous n’utilisez pas un kernel (très très) récent.

Vous devez ensuite générer une clé privée et publique sur chaque machine. Rien de plus simple : First on both client and server you need to generate a private and associated public key.

wg genkey > host_private.key
wg pubkey < host_private.key > host_public.key

Bien évidemment, on ne publie nulle part la clé privée… Et chmod 400.

Sur le serveur

Dans le dossier /etc/wireguard, il suffit de créer un fichier conf. Type “monvpn.conf”. On lui colle tout ça :

[Interface]
# C'est l'adresse que le serveur va avoir sur l'interface wg "monvpn".
Address = 10.11.12.1/24
# Le port d'écoute. Il faudra l'ouvrir en UDP sur votre FW.
ListenPort = 1234
# La clé privée du serveur générée précédemment.
PrivateKey = dsfsdfdssfdfsd

# Cette partie est à dupliquer autant de fois que de clients..
[Peer]
# La clé publique du client distant
PublicKey = dfdsfsdsdfdffddfssfd
# How is allowed to connect / IP for client on the same network as server. It can be a network
# L'IP client qui sera autorisée à discuter avec ce serveur. En gros l'IP qu'on donnera au client (dans le même réseau).
AllowedIPs = 10.11.12.10/32
# Conseillé : Cela envoie des paquets tous les x secondes pour faire en sorte que le tunnel reste actif.
PersistentKeepalive = x

Sur le client

Idem, dans le dossier /etc/wireguard, on lui créé un fichier conf.

[Interface]
# Adresse du client sur l'interface VPN. Elle doit être dans le AllowedIPs du serveur.
Address = 10.11.12.10/24
# La clé privée du client
PrivateKey = sdfsdfsdfsd

# On pourrait en mettre plusieurs si on veut.
[Peer]
# Le serveur sur lequel on va se connecter.
Endpoint = monfqdnduserver:port
# La clé publique du serveur
PublicKey = dldlkmsdlkmdsmlds
# On autorise l'ip du serveur
AllowedIPs = 10.11.12.1/32

Sur chaque machine, on peut activer/démarrer le service systemd wg-quick@monvpn. C’est le nom du fichier .conf créé.

L’interface doit se créer et zou !

Avec les commandes IP vous pouvez manipuler l’interface. Vous pouvez avoir plus de détail sur le vpn avec la commande wg.

Enjoy

Pour plus d’infos, check https://www.wireguard.com/

© 2017 - 2021 Some stuff...

Powered by Hugo with theme Dream.

Me

Nicolas.

Geek, photographe amateur à mes heures perdues, motard du quotidien. Je me passionne de tous les sujets autour de l’informatique depuis bien (trop) longtemps. Les années passent et d’autres passions s’ajoutent, disparaissent, évoluent.

Ce blog est donc mon mélange à moi de tous ces sujets.

Liens sociaux