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
configurer_un_vpn_wireguard_site-a-site [2023/07/20 21:30] superadminconfigurer_un_vpn_wireguard_site-a-site [2023/09/11 16:50] (Version actuelle) – [Mise en place] superadmin
Ligne 7: Ligne 7:
 Plus précisément, on établira une liaison confidentielle entre deux machines distantes sous Alma Linux (qu'on nommera ici "les serveurs"), cachées derrière un NAT et ayant accès à un réseau WAN par le biais d'un routeur. Ce WAN simulera Internet ou un quelconque réseau public n'étant pas sous contrôle du propriétaire des deux LANs (donc potentiellement sujet aux attaques).  Plus précisément, on établira une liaison confidentielle entre deux machines distantes sous Alma Linux (qu'on nommera ici "les serveurs"), cachées derrière un NAT et ayant accès à un réseau WAN par le biais d'un routeur. Ce WAN simulera Internet ou un quelconque réseau public n'étant pas sous contrôle du propriétaire des deux LANs (donc potentiellement sujet aux attaques). 
  
-La liaison Wireguard permettra aux serveurs d'être joignables sur un même réseau virtuel comme si elles étaient branchées physiquement l'une à l'autre, sauf qu'en réalité les paquets transiteront via le WAN de façon fiable et sécurisée.+La liaison Wireguard permettra aux serveurs d'être joignables sur un même réseau virtuel comme si elles étaient branchées physiquement l'une à l'autre, sauf qu'en réalité les paquets transiteront via le WAN de façon sécurisée.
  
 ===== Topologie du lab ===== ===== Topologie du lab =====
Ligne 21: Ligne 21:
   * 2 routeurs quelconques   * 2 routeurs quelconques
  
-===== Mise en place =====+===== Instructions =====
  
-<A refaire> 
 ==== Installation de Wireguard ==== ==== Installation de Wireguard ====
  
Ligne 30: Ligne 29:
 Pour les systèmes basés sur debian : Pour les systèmes basés sur debian :
  
-<code>apt install wireguard </code>+<code>apt install wireguard</code>
  
 Pour les systèmes basés sur Redhat : Pour les systèmes basés sur Redhat :
Ligne 50: Ligne 49:
 Pour les afficher : Pour les afficher :
  
-<code>cat privatekey publickey </code>+<code>cat privatekey publickey</code>
  
 ==== Configuration côté serveur ==== ==== Configuration côté serveur ====
Ligne 64: Ligne 63:
 Address=10.8.0.65/30 #adresse du serveur dans le tunnel Address=10.8.0.65/30 #adresse du serveur dans le tunnel
 ListenPort = 51820 #port de connexion au VPN ListenPort = 51820 #port de connexion au VPN
-PrivateKey = 6GZQ4Xus5lrJK9UxRASMCwoRuXw9HHhya0KA771h2XI=+PrivateKey = 6GZQ4Xus5lrJK9UxRASMCwoRuXw9HHhya0KA771h2XI= #clé privée de la machine 
 +SaveConfig = true #Garde en mémoire et protège la configuration le temps que l'interface est active 
 + 
 +[Peer] 
 +PublicKey = sXFf8WX9sr8MwinKKotNgMSB44R2eooSfFFXi+XQeB4= #clé publique du client 
 +AllowedIPs = 10.8.0.66/32 #adresses IP autorisées à communiquer avec la machine (ici le client uniquement)
 </code> </code>
  
-Lancer le service Wireguard +Activer l'interface décrite dans la configuration 
-<code>systemctl start wg-quick@wg0</code>+<code>wg-quick up wg0</code>
  
-Vérifier l'état du service pour savoir si notre configuration fonctionne +Pour désactiver l'interface : 
-<code>systemctl status wg-quick@wg0</code>+</code>wg-quick down wg0</code> 
 + 
 +Vérifier si l'interface réseau virtuelle a bien été créée : 
 +<code>ip a</code> 
 + 
 +{{ ::wg1.png?800 |L'interface wg0 parmi les interfaces réseau du système}} 
 + 
 +On peut aussi utiliser la commande suivante pour afficher des informations supplémentaires sur l'interface virtuelle : 
 + 
 +<code>wg show wg0</code> 
 + 
 +{{ ::wg2.png?800 |Informations sur l'interface wg0}}
  
 ==== Configuration côté client ==== ==== Configuration côté client ====
Ligne 79: Ligne 94:
 <code> <code>
 [Interface] [Interface]
-Address=10.8.0.66/30 #adresse du serveur dans le tunnel+Address=10.8.0.66/30 #adresse du client dans le tunnel
 ListenPort = 51820 #port de connexion au VPN ListenPort = 51820 #port de connexion au VPN
-PrivateKey = eJ1bmItHSHONKRPYykaFsD/NtWC7fkpLM0kwe/OtcGc=+PrivateKey = eJ1bmItHSHONKRPYykaFsD/NtWC7fkpLM0kwe/OtcGc= #clé privée de la machine 
 + 
 + 
 +[pair] 
 +PublicKey = CE4ETuboYOxGdTehYES1NaN1Z32kRtdYAQn3glB34Xg= #clé publique du serveur 
 +AllowedIPs = 0.0.0.0/0,::/0 #adresses IP autorisées à communiquer avec la machine (ici le client uniquement) 
 +Endpoint = 172.16.10.1:51820 #adresse IP du serveur
 </code> </code>
  
 +:!: Ici la configuration restreint le client à communiquer avec l'IP du serveur, mais on aurait pu mettre ''0.0.0.0/0,::/0'' pour l'autoriser à communiquer avec n'importe quelle IPv4 ou IPv6 à travers le tunnel (à utiliser dans le cas où le serveur est également un routeur permettant l'accès à Internet). Cette directive permet de filtrer avec qui la machine peut communiquer à travers le tunnel, ce qui constitue une première sécurité.
 +
 +:!: La directive ''Endpoint'' est facultative. Elle est notamment utile lorsque le client peut-être amené à avoir une IP dynamique. Entre deux machines dont l'IP est statique, elle n'est pas nécessaire.
 ===== Sources ===== ===== Sources =====
  
 📕 Linux Pratique hors série n°56 📕 Linux Pratique hors série n°56
 +
 +[[https://www.it-connect.fr/mise-en-place-de-wireguard-vpn-sur-debian-11/|IT-Connect : Mise en place de Wireguard]]