Aller au contenu
Se connecter
Retour au blog
Tutoriels · 786 vues

Configurer WireGuard entre deux VPS pour un réseau privé

Créez un tunnel VPN WireGuard entre vos serveurs pour sécuriser les communications internes. Idéal pour les architectures distribuées.

Architecture cible

Nous allons connecter deux VPS via un tunnel WireGuard chiffré :

  • VPS A (serveur web) : 10.0.0.1/24
  • VPS B (base de données) : 10.0.0.2/24

Le trafic entre les deux serveurs passera par le tunnel, invisible sur le réseau public.

Installation

Sur les deux VPS :

apt update && apt install wireguard -y

Génération des clés

Sur VPS A :

wg genkey | tee /etc/wireguard/private_a.key | wg pubkey > /etc/wireguard/public_a.key
chmod 600 /etc/wireguard/private_a.key

Sur VPS B :

wg genkey | tee /etc/wireguard/private_b.key | wg pubkey > /etc/wireguard/public_b.key
chmod 600 /etc/wireguard/private_b.key

Configuration VPS A

# /etc/wireguard/wg0.conf
[Interface]
PrivateKey = <CLEF_PRIVEE_A>
Address = 10.0.0.1/24
ListenPort = 51820

[Peer]
PublicKey = <CLEF_PUBLIQUE_B>
AllowedIPs = 10.0.0.2/32
Endpoint = <IP_PUBLIQUE_B>:51820
PersistentKeepalive = 25

Configuration VPS B

# /etc/wireguard/wg0.conf
[Interface]
PrivateKey = <CLEF_PRIVEE_B>
Address = 10.0.0.2/24
ListenPort = 51820

[Peer]
PublicKey = <CLEF_PUBLIQUE_A>
AllowedIPs = 10.0.0.1/32
Endpoint = <IP_PUBLIQUE_A>:51820
PersistentKeepalive = 25

Activation

Sur les deux serveurs :

systemctl enable --now wg-quick@wg0

Test de connectivité

Depuis VPS A :

ping 10.0.0.2
wg show

Cas d'usage : MySQL sur réseau privé

Configurez MySQL sur VPS B pour n'écouter que sur l'interface WireGuard :

# /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 10.0.0.2

Depuis VPS A, connectez-vous via le tunnel :

mysql -h 10.0.0.2 -u app_user -p

Offre Virtmo : simplifiez votre réseau privé avec nos tunnels IP managés, disponibles dès 4,99€/mois avec configuration automatique.

Tags : WireGuard VPN réseau sécurité tunnel
Partager :