WIREGUARD VPN TUNNEL Client 10.0.0.2/32 Private Key wg0 interface Encrypted Tunnel VPN Server 10.0.0.1/24 IP Forwarding Internet All traffic between client and server is encrypted via WireGuard tunnel

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.