Outils pour utilisateurs

Outils du site


article:vps_en_routeur_ip_via_wireguard

Différences

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

Lien vers cette vue comparative

article:vps_en_routeur_ip_via_wireguard [2026/10/07 07:01] – créée bernard.rollandarticle:vps_en_routeur_ip_via_wireguard [2026/10/07 10:47] (Version actuelle) – bernard.rolland
Ligne 1: Ligne 1:
-====== Guide de Post-Installation : VPS Passerelle Multi-Clients (WireGuard) ======+[[../| 🏠 Quitter la documentation du projet ]] 
 +====== Projet VPS Passerelle Multi-Clients ======
  
-Ce guide documente la configuration pas à pas d'un VPS Linux vierge pour en faire un concentrateur réseau. L'objectif est de partager l'unique **IP publique du VPS** avec plusieurs PC distants ou VM conteneurs connectés via **WireGuard**.+Bienvenue dans l'espace d'administration et de documentation du projet **VPS Passerelle**. Ce système permet de partage l'unique **IP publique fixe d'un VPS** avec plusieurs machines distantes (PC physiques ou VM conteneurs) via des tunnels chiffrés **WireGuard**, de manière étanche, performante et sécurisée.
  
-^ Composant ^ Rôle matériel ^ Statut système ^+L'intégralité du système est pilotée en SSH par l'utilisateur **tux** via un menu interactif.
  
-| **Réseau Hôte** | IP Publique unique (ex: ''185.X.X.X'') sur l'interface principale (ex: ''eth0'') | Physique | +===== 🗺️ Architecture de la Documentation =====
-| **Sous-réseau VPN** | Plage ''10.66.66.0/24'' dédiée à l'interface virtuelle ''wg0'' | Virtuel |+
  
-===== 1. Préparation du Système (Forwarding Kernel) =====+La documentation est découpée en modules indépendants pour suivre l'évolution et le cycle de vie du serveur.
  
-Par défaut, Linux refuse de faire passer des paquets réseau d'une interface à une autre (il bloque le routage entre l'IP publique et le VPN). Il faut activer le **IP Forwarding**.+==== 1. Fondations & Concepts ==== 
 +  * [[./01_presentation|1) Présentation Générale & Architecture Conceptuelle]] \\ Comprendre le modèle Hub-and-Spoke et le voyage des paquets réseau (Web et E-mails). 
 +  * [[./02_descriptif_postinstall|2) Descriptif de la Post-Installation]] \\ Spécifications techniques du serveur hôte, sécurité globale et gestion des droits de l'utilisateur **tux**.
  
-Exécuter cette commande pour l'activer de manière permanente : +==== 2. Scripts d'Initialisation & Menu ==== 
-<code> +  * [[./03_script_postinstall|3) Script de Post-Installation]] \\ Le script d'automatisation initial qui prépare le VPS à l'arrivée des clients. 
-echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf +  * [[./04_menu_principal|4) Le Menu Principal (Gestionnaire CLI)]] \\ L'interface texte interactive regroupant toutes les actions courantes.
-sudo sysctl -p +
-</code> +
-//Vérification : La commande ''sysctl net.ipv4.ip_forward'' doit renvoyer ''1''.//+
  
-===== 2. Installation de WireGuard (Serveur) =====+==== 3. Gestion du Réseau VPN ==== 
 +  * [[./05_script_ajout_vpn|5) Script : Ajouter une liaison VPN]] \\ Création d'un client, routage pare-feu automatique et génération des fichiers d'accès. 
 +  * [[./06_script_retrait_vpn|6) Script : Retirer une liaison VPN]] \\ Révocation d'un accès et nettoyage complet des règles réseau.
  
-Installer les paquets nécessaires (valable pour Debian/Ubuntu. Pour Fedora, remplacer ''apt'' par ''dnf'') : +==== 4. Gestion des VM Conteneurs ==== 
-<code> +  * [[./07_script_ajout_conteneur|7) Script : Ajouter une VM Conteneur]] \\ Déploiement d'un nouvel environnement isolé raccordé au VPN. 
-sudo apt update && sudo apt install wireguard iptables -y +  * [[./08_script_duplication_conteneur|8) Script : Dupliquer une VM Conteneur]] \\ Clonage d'une instance existante ou d'un modèle type. 
-</code>+  * [[./09_script_suppression_conteneur|9) Script : Supprimer une VM Conteneur]] \\ Destruction propre et récupération de l'espace disque.
  
-==== Génération des clés de sécurité du serveur ==== +==== 5. Maintenance & Secours ==== 
-Créer les clés de chiffrement asymétriques pour le VPS : +  * [[./10_script_supervision|10) Script : Supervision & Statut]] \\ État de santé du VPS, conteneurs actifs et monitoring des tunnels. 
-<code> +  * [[./11_script_sauvegarde|11) Script : Sauvegarde & Plan de Reprise d'Activité (PRA)]] \\ Génération de l'archive tar autonome contenant configurations et fiches de secours.
-cd /etc/wireguard +
-umask 077 +
-wg genkey | tee server_private.key | wg pubkey > server_public.key +
-</code>+
  
-===== 3. Fichier de Configuration Global (wg0.conf) =====+===== 🔒 Charte de Sécurité du Projet ===== 
 +Toutes les opérations décrites ici reposent sur des principes stricts : 
 +  * Connexion SSH exclusive par **clés asymétriques avec paraphrase**. 
 +  * Interdiction stricte de l'accès root direct. 
 +  * Isolement complet des flux des utilisateurs au niveau du pare-feu (`iptables`). 
 +  * Traçabilité totale via un fichier de log centralisé (`/var/log/vps-gateway.log`).
  
-Créer le fichier de configuration principal qui va piloter le réseau et le partage d'IP (NAT/Masquerade). +[[../| 🏠 Quitter la documentation du projet ]]
-**Attention :** Remplacer ''eth0'' par le nom réel de votre interface réseau publique (vérifiable avec la commande ''ip route get 8.8.8.8''). +
- +
-<code> +
-sudo nano /etc/wireguard/wg0.conf +
-</code> +
- +
-Y insérer le contenu suivant : +
-<code> +
-[Interface] +
-Address = 10.66.66.1/24 +
-ListenPort = 51820 +
-PrivateKey = <CONTENU_DE_SERVER_PRIVATE_KEY> +
- +
-# RÈGLES DE PARTAGE D'IP (NAT / MASQUERADE) +
-# À l'allumage du VPN : Autorise le trafic et active le partage de l'IP publique (eth0) +
-PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE +
-# À l'extinction du VPN : Nettoie les règles du pare-feu +
-PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE +
- +
-# ------------------------------------------------------------- +
-# DÉCLARATION DES CLIENTS (PEERS) +
-# ------------------------------------------------------------- +
- +
-# Client 1 : YunoHost Maison de l'utilisateur A +
-[Peer] +
-PublicKey = <PUBLIC_KEY_DU_CLIENT_1> +
-AllowedIPs = 10.66.66.2/32 +
- +
-# Client 2 : VM Conteneur de l'utilisateur B +
-[Peer] +
-PublicKey = <PUBLIC_KEY_DU_CLIENT_2> +
-AllowedIPs = 10.66.66.3/32 +
- +
-# Client 3 : PC Portable de Secours +
-[Peer] +
-PublicKey = <PUBLIC_KEY_DU_CLIENT_3> +
-AllowedIPs = 10.66.66.4/32 +
-</code> +
- +
-===== 4. Démarrage et Automatisation ===== +
- +
-Activer le service pour qu'il se lance automatiquement à chaque démarrage du VPS : +
-<code> +
-sudo systemctl enable --now wg-quick@wg0 +
-</code> +
- +
-==== Commandes de vérification utiles ==== +
-* Voir l'état du tunnel et les clients connectés en temps réel : +
-<code> +
-sudo wg show +
-</code> +
-* Vérifier que les règles de partage d'IP (NAT) sont bien actives dans le système : +
-<code> +
-sudo iptables -t nat -L -n -v +
-</code> +
- +
-===== 5. Modèle de Configuration pour un Client (ex: Client 1) ===== +
- +
-Sur la machine cliente (le PC distant ou le conteneur), installer WireGuard et créer le fichier ''/etc/wireguard/wg0.conf'' avec ce modèle : +
- +
-<code> +
-[Interface] +
-Address = 10.66.66.2/24 +
-PrivateKey = <PRIVATE_KEY_GÉNÉRÉE_SUR_LE_CLIENT> +
- +
-[Peer] +
-PublicKey = <PUBLIC_KEY_DU_SERVEUR_VPS> +
-Endpoint = <IP_PUBLIQUE_DU_VPS>:51820 +
-AllowedIPs = 10.66.66.0/24 +
-PersistentKeepalive = 25 +
-</code> +
-//Note : L'option ''PersistentKeepalive = 25'' est cruciale pour les machines derrière une Box Internet ou un NAT. Elle envoie un ping toutes les 25 secondes pour forcer le tunnel à rester ouvert en permanence.//+
  
article/vps_en_routeur_ip_via_wireguard.txt · Dernière modification : de bernard.rolland