Outils pour utilisateurs

Outils du site


doc:wireguard
Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
doc:wireguard [2026/10/10 09:33] – marcdoc:wireguard [2026/10/10 19:51] (Version actuelle) – [Configuration Firewall] marc
Ligne 1: Ligne 1:
 = Wireguard = = Wireguard =
  
-Wireguard est un logiciel de VPN. configuration pour une debian.+Wireguard est un logiciel de VPN. Configuration pour un serveur debian et un client Mageia.
  
 == Configuration Serveur == == Configuration Serveur ==
Ligne 45: Ligne 45:
   * ListenPort : C'est le port sur lequel Wireguard écoute les connexions entrantes.   * ListenPort : C'est le port sur lequel Wireguard écoute les connexions entrantes.
   * PrivateKey : La clé privé du serveur est à mettre ici.   * PrivateKey : La clé privé du serveur est à mettre ici.
 +
 +<note warning>L'option SaveConfig impose d'arreter Wireguard si on veut modifier la configuration. Wireguard écrasera le fichier avec sa config actuelle lorsqu'on l'arrete.</note>
 +
 Section [Peer] Section [Peer]
   * PublicKey : La clé publique du client est à mettre ici.   * PublicKey : La clé publique du client est à mettre ici.
   * AllowedIPs : C'est l'IP avec laquelle le client va se déclarer en se connectant. Elle doit faire partie du tunnel VPN.   * AllowedIPs : C'est l'IP avec laquelle le client va se déclarer en se connectant. Elle doit faire partie du tunnel VPN.
 Une section [Peer] est à déclarer pour chaque dispositif voulant se connecter au VPN. Une section [Peer] est à déclarer pour chaque dispositif voulant se connecter au VPN.
 +
 +Faire attention à ce que le fichier de conf ne soit accessible qu'a root :
 +
 +  [root@localhost /etc/wireguard/]# chmod 600 wg0.conf
 +
 +Pour démarrer et arreter Wireguard on utilisera les commandes suivantes :
 +
 +  [root@localhost ~]# wg-quick up wg0
 +  [root@localhost ~]# wg-wuick down wg0
 +
 +Pour permettre au serveur de se lancer tout seul au démarrage du serveur utilisez le commande suivante :
 +
 +  [root@localhost ~]# systemctl enable wg-quick@wg0.service
 +
  
 === Configuration Firewall === === Configuration Firewall ===
 +
 +Il va falloir mettre en place le routage du tunnel VPN vers le réseau physique de la machine. Pour cela on va utiliser ufw.
 +
 +Si ce n'est pas déjà fait installez ufw :
 +
 +  [root@localhost ~]# apt-get install ufw
 +
 +Si vous utilisez ssh pour vous connecter au serveur, commencez par permettre à ssh de passer :
 +
 +  [root@localhost ~]# ufw allow 22/tcp
 +
 +On permet ensuite au paquet du VPN de passer :
 +
 +  [root@localhost ~]# ufw allow 51820/udp
 +
 +Puis on édite le fichier /etc/ufw/before.rules pour y ajouter __à la fin__ le paragraphe suivant :
 +
 +<file>
 +# NAT - IP masquerade
 +*nat
 +:POSTROUTING ACCEPT [0:0]
 +-A POSTROUTING -o enp0s25 -j MASQUERADE
 +
 +COMMIT
 +</file>
 +
 +Remplacer enp0s25 par le nom de votre propre interface réseau physique. Pour la trouver vous pouvez utiliser la commande :
 +
 +  [root@localhost ~]# ifconfig
 +
 +Ensuite on ajoute dans la table ***filter** les lignes suivantes :
 +
 +<file>
 +-A ufw-before-forward -s 192.168.0.0/24 -j ACCEPT
 +-A ufw-before-forward -d 192.168.0.0/24 -j ACCEPT
 +-A ufw-before-forward -s 192.168.110.0/24 -j ACCEPT
 +-A ufw-before-forward -d 192.168.110.0/24 -j ACCEPT
 +</file>
 +
 +<note warning>Pour qu'elles soit bien prises en compte faire attention à ce que ces lignes soit entre la ligne ***filter** et la ligne **COMMIT** associée</note>
 +
 +On peut maintenant enregistrer et fermer /etc/ufw/before.rules puis on active le pare feu :
 +
 +  [root@localhost ~]# ufw enable
 +  [root@localhost ~]# ufw reload
 +
 +== Configuration Client ==
 +
 +Pour la configuration du client, on commence par générer un jeu de clé privé/publique :
 +
 +  [root@localhost /etc/wireguard/]# wg genkey | tee serveur-private.key | wg pubkey > serveur-public.key
 +
 +Sur le client, créer le fichier /etc/wireguard/wg0.conf et y mettre les lignes suivantes :
 +
 +<file>
 +[Interface]
 +Address = 192.168.110.43/24
 +PrivateKey = [Cle_prive_user_1]
 +DNS = 8.8.8.8
 +
 +[Peer]
 +PublicKey = [Cle_publique_serveur]
 +AllowedIPs = 192.168.110.0/24
 +Endpoint = NomDeDomaineOuIpPubliqueDuServeur:51820
 +PersistentKeepalive = 25
 +</file>
 +
 +Section [Interface]:
 +  * Address : c'est l'adresse que va prendre le client sur le tunnel VPN. Cette adresse doit etre déclaré sur le serveur dans la section [Peer].
 +  * PrivateKey : C'est la clé privé du client.
 +  * DNS : c'est l'adresse du serveur DNS qui servira à résoudre les noms de domaines.
 +Section [Peer]
 +  * PublicKey : C'est la clé publique du serveur.
 +  * AllowedIPs : C'est l'adresse du réseau VPN qu'on cherche à joindre.
 +  * Endpoint : Il faut mettre ici le nom de domaine ou l'adresse IP publique du réseau dans lequel le serveur se trouve.
 +  * PersistentKeepalive : permet de contacter régulièrement le serveur pour maintenir le tunnel ouvert. Ici toutes les 25 secondes.
 +
 +Faire attention à ce que le fichier de conf ne soit accessible qu'a root :
 +
 +  [root@localhost /etc/wireguard/]# chmod 600 wg0.conf
 +
 +Pour démarrer et arreter Wireguard on utilisera les commandes suivantes :
 +
 +  [root@localhost ~]# wg-quick up wg0
 +  [root@localhost ~]# wg-wuick down wg0
 +
 +Ajoutez un alias dans le .bashrc de root si besoin.
 +
 +<note important>Bien penser à ouvrir le port 51820 sur le routeur du réseau du serveur, et à rediriger le flux de ce port sur l'adresse ip de la carte physique du serveur.</note>
 +
 +<note tip>La clé publique et l'adresse IP sont à déclarer dans le fichier de configuration du serveur dans la section [Peer]</note>
  
doc/wireguard.1791624795.txt.gz · Dernière modification : de marc