Table des matières
↩ Retour à l'accueil du projet
5) Script : Ajouter une liaison VPN Client
Ce document définit le comportement attendu du script d'automatisation lors du raccordement d'un nouveau client distant (PC physique ou conteneur) au réseau privé du VPS.
1. Cinématique d'Exécution
Lors de son appel via le Menu Principal, le script déroule les étapes suivantes en tâche de fond :
- Saisie des informations : Demande à l'administrateur le nom de l'utilisateur responsable et son nom de domaine associé.
- Calcul de l'IP : Analyse le fichier
utilisateurs.dbpour attribuer la première adresse IP privée disponible dans la plage10.66.66.0/24. - Génération des clés : Crée dynamiquement les clés cryptographiques nécessaires à la sécurisation du tunnel WireGuard.
2. Reconfiguration Automatique des Services
Pour garantir la cohérence du système, le script écrit automatiquement les configurations requises :
Réseau (WireGuard)
Ajoute le bloc [Peer] contenant la clé publique du client et son IP dédiée à la fin du fichier /etc/wireguard/wg0.conf, puis recharge le service sans couper les autres connexions.
Pare-feu (iptables)
Ajoute une règle autorisant le transfert de paquets spécifiquement pour la nouvelle adresse IP attribuée.
Aiguillage Web (Nginx)
Génère le fichier de Reverse Proxy dans /etc/nginx/sites-available/ pour rediriger le trafic HTTP du domaine vers l'IP VPN du client. Active le site via un lien symbolique.
Routage Courrier (Postfix)
Inscrit le domaine et son routage SMTP vers l'IP du client dans le fichier /etc/postfix/transport, puis recompile la base de données de messagerie.
3. Bilan Visuel & Enregistrement
- Registre local : Les informations (Nom, IP, Domaine) sont gravées dans
/etc/vps-gateway/utilisateurs.db. - Fichier de Log : Une ligne contenant le statut du déploiement est inscrite dans
/var/log/vps-gateway.log. - Affichage terminal : Le script affiche en vert le succès de l'opération et imprime directement à l'écran le bloc de configuration texte à copier-coller sur la machine distante pour finaliser la connexion.
4. Accès aux Ressources Techniques
Pour consulter le code source de ce script ou télécharger l'archive globale du projet : ➔ 🛠️ Aller au module 12) Téléchargements du projet et sources des scripts
