[Debian] Serveur Wireguard
Introduction
Wireguard est un service VPN récent, sécurisé et performant.
Il peut fonctionner dans plusieurs configurations différentes mais utilise exclusivement le protocole UDP.
Source
Installation du serveur
Réseau privé
Wireguard peut fonctionner en mode réseau simple, c'est à dire qu'il va vous permettre d'établir un réseau avec les hôtes que vous connecterez en mode P2P. Il n'y aura pas de serveur VPN à proprement parler ni une nouvelle passerelle par défaut pour les hôtes.
- Tout d'abord, installez le paquet wireguard :
apt install -y wireguard
Ensuite, éditez la configuration de votre premier noeud à travers le fichier /etc/wireguard/wg0.conf :
[Interface]
PrivateKey = <PRV_KEY>
Address = <SRV_IP>/<CIDR_IP>
ListenPort = 51820
- Dans un deuxième terminal, lancez la génération de :
- La clé privée du serveur :
wg genkey | sudo tee /etc/wireguard/wg-private.key
- La clé publique du serveur :
cat /etc/wireguard/wg-private.key | wg pubkey | sudo tee /etc/wireguard/wg-public.key
Vous pouvez réitérer les deux commandes ci-dessus pour générer une paire clé privée/publique pour chaque hôte du réseau VPN.
Ensuite, pour chaque hôte, ajoutez cela dans la configuration du serveur :
[Peer]
PublicKey = <NODE_PUB_KEY>
AllowedIPs = <NET_ID>/<CIDR_MASK>
Endpoint = <PUBLIC_SERVER_IP>:51820
Une fois que vous avez configurer le serveur et les hôtes, vous pouvez démarrer le serveur wireguard :
wg-quick up wg0
Vous devinerez que pour l'éteindre il s'agit de cette commande :
wg-quick down wg0
Pour activer le service à chaque démarrage, exécutez la commande suivante :
systemctl enable wg-quick@wg0.service
Installation des hôtes
Tout d'abord, installez le paquet wireguard :
apt install -y wireguard
Ensuite, créez le fichier de configuration du client /etc/wireguard/wg0.conf :
[Interface]
PrivateKey = <NODE_PRV_KEY>
Address = <NODE_VPN_IP>/<CIDR_IP>
[Peer]
PublicKey = <SRV_PUB_KEY>
AllowedIPs = <NET_ID>/<CIDR_MASK>
Endpoint = <PUBLIC_SRV_IP>:51820
Et démarrez wireguard :
wg-quick up wg0
Générateur de configuration
Si vous êtes habituez à la configuration de Wireguard, vous verrez que vous pouvez gagner du temps grâce à ce générateur de fichier de config :
Script d'installation automatique
Pour lancer le script :
curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh && chmod +x wireguard-install.sh && ./wireguard-install.sh