Files
netui/specification_technique.md

205 lines
3.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Spécification technique WebUI Passerelle Réseau (V1)
## 1. Objet du document
Ce document décrit **la spécification technique détaillée** de la WebUI de passerelle réseau basée sur **Debian 13 (Trixie)**.
Il sert de référence pour le développement, larchitecture logicielle et les choix techniques.
---
## 2. Contexte et périmètre
### 2.1 Rôle de la VM
- Passerelle réseau LAN → Internet
- Serveur DHCP principal du réseau local
- Serveur DNS local
- Pare-feu et traduction dadresses (NAT)
- Point central de supervision réseau
### 2.2 Contraintes
- Debian 13 Trixie uniquement
- Dépôts officiels Debian uniquement
- Aucun conteneur
- WebUI accessible uniquement depuis le réseau local
- Architecture modulaire
- Pas dautomatisation dangereuse
---
## 3. Architecture générale
### 3.1 Vue densemble
Navigateur → HTTPS → Nginx → API Backend → Scripts système → Services Debian
### 3.2 Composants
- Frontend : HTML / CSS / JavaScript (léger)
- Serveur Web : Nginx
- Backend : Python (API REST)
- Services système : systemd
- Journalisation : journald
---
## 4. Machine virtuelle (Proxmox)
### 4.1 Ressources
- CPU : 2 à 4 cœurs (type host)
- RAM : 4 Go (ballooning désactivé)
- Disque : 32 Go (VirtIO SCSI)
- Réseau :
- 1 interface WAN
- 1 interface LAN
### 4.2 Règles importantes
- Pare-feu Proxmox désactivé
- Pare-feu unique géré dans la VM
---
## 5. Gestion réseau Debian
### 5.1 Outils retenus
- systemd-networkd : configuration des interfaces
- nftables : pare-feu et NAT
- conntrack : suivi des connexions
### 5.2 Fonctions réseau
- Routage IPv4
- Traduction dadresses (NAT)
- Séparation WAN / LAN
---
## 6. Services réseau (V1)
### 6.1 DHCP
- Service : kea-dhcp4-server
- Fonctions :
- plages dynamiques
- réservations fixes
- options DHCP (routeur, DNS, serveur de temps)
### 6.2 DNS
- Service : unbound
- Fonctions :
- cache DNS
- serveurs amont configurables
- entrées statiques nom → adresse
### 6.3 Pare-feu
- Service : nftables
- Fonctions :
- protection de la VM
- autorisation LAN → Internet
- blocage administration depuis Internet
### 6.4 Services annexes
- chrony : synchronisation de lheure
---
## 7. Backend API
### 7.1 Principes
- Backend non exécuté en root
- Utilisateur système dédié
- Appels système via sudo (phase V1 permissive)
### 7.2 Responsabilités
- Lecture / écriture de la configuration centrale
- Génération des fichiers de configuration système
- Validation avant application
- Application contrôlée des changements
---
## 8. Configuration centrale
### 8.1 Source de vérité
- Fichier unique : /etc/netui/config.yaml
### 8.2 Contenu
- paramètres réseau WAN / LAN
- configuration DHCP
- configuration DNS
- état des services
---
## 9. WebUI
### 9.1 Organisation
- Onglets
- Formulaires simples
- Textes explicatifs sous chaque champ
- Info-bulles détaillées
### 9.2 Pages V1
- Tableau de bord
- Réseau
- Pare-feu / Partage de connexion
- Attribution dadresses (DHCP)
- Noms (DNS)
- Services
- Journaux
- Activité réseau
---
## 10. Import des adresses existantes
### 10.1 Objectif
- Conserver les adresses IP existantes lors du remplacement DHCP
### 10.2 Sources supportées
- OPNsense CSV
- OPNsense XML
- Fichier JSON
### 10.3 Format interne
- Normalisation vers un format JSON canonique
---
## 11. Sécurité
- Accès WebUI limité au LAN
- Authentification locale
- Validation stricte des données
- Aucune application automatique
---
## 12. Évolutions prévues (hors V1)
- VPN WireGuard
- QoS / limitation de débit
- Découverte réseau (mDNS)
- Historique et rollback avancé
---
Fin de la spécification technique