Logo du site un pigeon rissa assie sur un caillou pianontant sur un ordinateur dans le noirLogo du site un pigeon rissa assie sur un caillou pianontant sur un ordinateurLibérer les connaissances

Wireguard: Mon gars sûr

Categories:
  • VPN
  • Serveur Web
  • Optimisation
  • Wireguard
Tags:

J'ai entendu parler de Wireguard dès ça sorti en alpha. Je n'avais pas voulu le mettre sur mes serveurs, car il était trop jeune à mon goût, mais Linus Torvalds l'a ajouté au noyau Linux. Intrigué j'ai testé la solution: j'aurais dû tester bien avant!!!

Pour mettre en place Wireguard, je me suis simplement inspiré de la documentation officielle, ainsi que le blog * FLOZz' Blog* (ces articles-là: 1 et 2)
Je ne fais pas de NAT avec mon VPN, mais pour ceux que ça intéresse: Stan's blog

La mise en place de Wiregard se fait extrêmement simplement avec un simple fichier de configuration (incluant une paire de clé Privé/public):

# ==== Configurations du serveur en lui-même ====

[Interface]
# Adresse IP du serveur à l'intérieur du VPN
Address = 10.0.0.1/24
# Clef privée du serveur
PrivateKey = 6DqV+CkNyVreXd...hObXLcwD32sD9b8NUU=
# Port sur lequel le serveur écoute (par défaut c'est 51820, mais ce n'est pas un port enregistré par l'IANA)
ListenPort = 12345
# Les DNS sur lequel écoute pour les clients:(cela permet d'héberger de façon caché vos services avec un dnsmasq)
DNS = 10.0.0.1

# ==== Configuration liée au client ====

[Peer] 
#Ordinateur 1
# Clef publique du client
PublicKey = xCpgV+umCzSf6...dFDskojIYo6TSuk1Y=
# Adresse IP que le client peut utiliser à l'intérieur du VPN
AllowedIPs = 10.0.0.10/32

[Peer]
#Peripherique 2
PublicKey = fDDoCcLxlecFr...zUH/uEW3TRyTv870zUE=
AllowedIPs = 10.0.0.11/32

[Peer]
#Ordinateur 3
PublicKey = BF8Ud3Jg6e...21yjdV25+R4YlmQ=
AllowedIPs = 10.0.0.20/32
# ==== Configurations du client en lui-même ====

[Interface]
# Adresse IP du client à l'intérieur du VPN
Address = 10.0.0.10/32
# Clef privée du client
PrivateKey = 4O3hLxY1h9...1nvAgnJX7ka8mo=

# ==== Configuration liée au serveur ====

[Peer]
# Clef publique du du serveur
PublicKey = CYFHC+2qwLShoB...syiz4CI+KTrrpZvRWXk=
# Adresse et port du serveur
Endpoint = MonServeurVPN.example.com:12345
# Range d'adresses IP qui doivent être routées à travers le VPN
AllowedIPs = 10.0.0.0/24
# Et pour finir, le keepalive pour éviter d'avoir des soucis
# si le client se trouve derrière un routeur NAT
PersistentKeepalive = 25

wg genkey | tee >(wg pubkey | xargs echo Public key: ) >(xargs echo Private key:) &> /dev/null
Elle permet d'afficher la clé publique et privé sans les enregistrer nulle part.
Vous pouvez ainsi remplir le fichier de configuration sans avoir à ouvrir le moindre fichier supplémentaire.

Voilà, Wireguard est très simple et je n'ai pas grand-chose d'autre à dire. Donc bonne configuration!!! ^^


Licence Creative Commons
Wireguard: Mon gars sûr de Clément Cachinho est mis à disposition selon les termes de la licence Creative Commons Attribution - Partage dans les Mêmes Conditions 4.0 International.
Fondé(e) sur une œuvre à https://blog.noknow.ovh/article/Wireguard-un-bon-gars.html.