# PROJET WEBUI PASSERELLE RÉSEAU – SYNTHÈSE COMPLÈTE Ce document reprend **l’intégralité de la discussion**, structurée et consolidée, sur la conception et le développement d’une **WebUI d’administration réseau** destinée à une **VM Debian 13 (Trixie)** jouant le rôle de **passerelle LAN → Internet**. --- ## 1. OBJECTIF GÉNÉRAL Créer une **application Web d’administration réseau**, installée dans une **machine virtuelle Debian 13**, permettant de configurer et superviser : - le réseau local (LAN) - l’accès Internet (WAN) - l’attribution d’adresses IP (DHCP) - la résolution de noms (DNS) - le pare-feu et le partage de connexion (NAT) - les services réseau associés Contraintes clés : - uniquement **outils réseau standards Debian 13** (aucun dépôt tiers) - **WebUI simple et pédagogique**, adaptée à des utilisateurs novices - libellés clairs, textes explicatifs, info-bulles, **pas d’acronymes non expliqués** - accès WebUI limité au **réseau local** - architecture modulaire (services activables/installables) --- ## 2. ARCHITECTURE GÉNÉRALE ### 2.1 Schéma fonctionnel Navigateur → HTTPS → Nginx → API backend (non root) → scripts contrôlés → services système Debian ### 2.2 Composants - **Frontend** : HTML/CSS/JavaScript léger (onglets + formulaires) - **Serveur Web** : Nginx - **Backend** : Python (API REST) - **Services système** : configurés via fichiers standards Debian - **Contrôle système** : systemctl, journalctl, nftables, kea, unbound ### 2.3 Sécurité - WebUI accessible uniquement depuis le LAN - utilisateur système dédié pour l’application - droits permissifs en phase V1 (sudo large), durcissement ultérieur - aucune modification appliquée sans validation explicite --- ## 3. MACHINE VIRTUELLE (PROXMOX) ### 3.1 Paramétrage recommandé - Type : VM Linux - Machine : q35 - BIOS : OVMF (UEFI) - CPU : 1 socket / 2 à 4 cœurs / type host - RAM : 4 Go (ballooning désactivé) - Disque : 32 Go, VirtIO SCSI, iothread activé - Réseau : - 2 cartes VirtIO - 1 WAN (Internet) - 1 LAN (réseau local) - Pare-feu Proxmox : désactivé - Watchdog : activé ### 3.2 Rôle de la VM - passerelle LAN → Internet - serveur DHCP principal - serveur DNS local - point central d’observation du trafic --- ## 4. SERVICES UTILISÉS (STANDARD DEBIAN 13) ### 4.1 Services cœur (V1) - Gestion réseau : systemd-networkd - Pare-feu / NAT : nftables - DHCPv4 : kea-dhcp4-server - DNS local : unbound - Logs : systemd-journald - Connexions réseau : conntrack ### 4.2 Services optionnels (V2/V3) - Découverte réseau : avahi-daemon (LAN uniquement) - VPN : wireguard - QoS : tc - IDS/IPS : suricata (non V1) --- ## 5. WEBUI – ORGANISATION DES PAGES (V1) ### 5.1 Tableau de bord - état WAN / LAN - état des services - alertes simples ### 5.2 Réseau - côté Internet : adresse automatique ou fixe - côté réseau local : adresse de la passerelle, domaine ### 5.3 Pare-feu et partage de connexion - interrupteurs simples - règles prédéfinies compréhensibles ### 5.4 Attribution d’adresses (DHCP) - plages dynamiques - réservations fixes - liste des appareils connectés ### 5.5 Noms (DNS) - serveurs amont - domaine local - entrées fixes nom → adresse ### 5.6 Services - installation via apt (liste blanche) - démarrage / arrêt / activation au boot - état en temps réel ### 5.7 Journaux - lecture des logs par service - filtres (date, texte, niveau) ### 5.8 Activité réseau - connexions LAN → Internet - requêtes DNS - événements du pare-feu --- ## 6. MÉTHODOLOGIE DE TEST ET DÉPLOIEMENT ### 6.1 Phase 0 – Développement hors réseau - DHCP désactivé - pare-feu non bloquant - génération et validation de configuration uniquement ### 6.2 Phase 1 – Intégration passive - VM connectée au LAN - observation uniquement (logs, trafic) ### 6.3 Phase 2 – Test DHCP contrôlé - arrêt temporaire de l’ancien DHCP - activation du nouveau - tests sur un ou deux clients - rollback immédiat possible ### 6.4 Phase 3 – Remplacement définitif - bascule complète - surveillance --- ## 7. MIGRATION DES ADRESSES IP EXISTANTES ### 7.1 Principe - conserver les adresses IP actuelles - éviter toute reconfiguration côté clients ### 7.2 Méthode retenue (recommandée) **Import des baux DHCP existants** depuis l’ancien serveur ### 7.3 Sources supportées - OPNsense : - CSV (baux DHCP) - XML (config complète) - Fichier JSON générique ### 7.4 Format JSON canonique interne { "source": "opnsense", "interface": "lan", "reservations": [ { "nom": "nas", "adresse_ip": "10.0.0.10", "adresse_materielle": "AA:BB:CC:DD:EE:01" } ] } Tous les imports sont normalisés vers ce format. ### 7.5 Processus WebUI - import fichier - analyse et validation - prévisualisation - génération réservations DHCP - aucune application automatique --- ## 8. PHILOSOPHIE DU PROJET - sécurité avant automatisation - aucune action irréversible sans confirmation - priorité à la lisibilité et à la pédagogie - architecture modulaire - pas de dépendance externe --- ## 9. PÉRIMÈTRE V1 VALIDÉ Modules inclus : 1. Réseau WAN/LAN 2. Pare-feu + NAT 3. DHCPv4 (Kea) 4. DNS (Unbound) 5. Services 6. Journaux 7. Activité réseau --- ## 10. ÉTAPES SUIVANTES POSSIBLES - création du canevas de projet (arborescence + fichiers) - écrans WebUI détaillés - moteur d’import OPNsense (CSV/XML → JSON) - génération automatique des configurations Kea / Unbound / nftables --- FIN DU DOCUMENT