WireGuard est un protocole VPN moderne et haute performance qui est rapidement devenu le choix privilegie des administrateurs systeme. Integre directement dans le noyau Linux depuis la version 5.6, WireGuard offre une configuration considerablement plus simple, une surface d’attaque reduite et des performances superieures par rapport aux solutions VPN traditionnelles comme OpenVPN et IPsec.
Installation de WireGuard
sudo apt update
sudo apt install -y wireguard wireguard-tools
Generation des Cles du Serveur
wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key
sudo chmod 600 /etc/wireguard/server_private.key
Configuration du Serveur
Creez /etc/wireguard/wg0.conf :
[Interface]
PrivateKey = <CLE_PRIVEE_SERVEUR>
Address = 10.0.0.1/24
ListenPort = 51820
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
Activation du Transfert IP
echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.d/99-wireguard.conf
sudo sysctl -p /etc/sysctl.d/99-wireguard.conf
Configuration du Pare-feu
sudo ufw allow 51820/udp
sudo ufw allow OpenSSH
sudo ufw enable
Ajout d’un Client
wg genkey | tee client1_private.key | wg pubkey > client1_public.key
wg genpsk > client1_preshared.key
Ajoutez a /etc/wireguard/wg0.conf :
[Peer]
PublicKey = <CLE_PUBLIQUE_CLIENT1>
PresharedKey = <CLE_PRESHARED_CLIENT1>
AllowedIPs = 10.0.0.2/32
Demarrage du Service
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
sudo wg show
Configuration du Client Linux
[Interface]
PrivateKey = <CLE_PRIVEE_CLIENT1>
Address = 10.0.0.2/24
DNS = 1.1.1.1, 8.8.8.8
[Peer]
PublicKey = <CLE_PUBLIQUE_SERVEUR>
PresharedKey = <CLE_PRESHARED_CLIENT1>
Endpoint = <IP_PUBLIQUE_SERVEUR>:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
QR Code pour Appareils Mobiles
sudo apt install -y qrencode
qrencode -t ansiutf8 < /tmp/client1-mobile.conf
Test de la Connexion
sudo wg show
curl -s https://ifconfig.me
ping 10.0.0.1
Conclusion
WireGuard fournit une solution VPN rapide, moderne et securisee qui est remarquablement facile a configurer. Avec son integration au niveau du noyau, sa configuration minimale et son chiffrement de pointe, c’est un excellent choix pour un usage personnel comme pour les deployements en entreprise.