Réseau : VLAN et OPNsense
Aujourd'hui nos serveurs sont directement sur le réseau de l'école : on ne gère ni le DHCP, ni le DNS, ni le firewall. Pour déployer les postes avec FOG et gérer le réseau nous-mêmes, on passe sur un VLAN dédié, derrière un OPNsense.
- Fait : OPNsense tourne sur
formule-pve-02(VM 110) et porte l'IP publique142.137.247.115sur son interface DMZ (opt1, carte qui a repris la MAC de GitLab). Les ports 80 et 443 arrivent sur Caddy, sur OPNsense, qui publie GitLab, OpenProject et Vaultwarden (voir Domaines, reverse proxy et certificats). Seul le port 22 (SSH git) est encore redirigé directement vers GitLab, passé sur le LAN (192.168.1.10). L'interface web d'OPNsense est sur le port 8443, réservée aux postes admin. Le WAN est encore en DHCP sur le réseau de l'école. - À faire : le VLAN de l'école, l'IP fixe du WAN, le DHCP et le PXE pour FOG, la redirection SMB.
Suivi dans OpenProject : tâche parente Réseau : VLAN dédié + OPNsense. La configuration est dans le dépôt infra/infra (opnsense*.tf).
Les règles qui laissent entrer le trafic sur la DMZ (vers Caddy et vers le SSH de GitLab) forcent la passerelle de réponse DMZ_GW (« reply-to »). Sans ça, OPNsense renvoie les réponses par le WAN de l'école avec l'IP publique comme source, et le routeur de l'école les jette : les sites deviennent injoignables alors que les règles semblent bonnes.
Qui fait quoi
| Service | Assuré par | Détail |
|---|---|---|
| Routage et firewall | OPNsense | WAN côté école, LAN sur notre VLAN |
| DHCP | OPNsense (Kea) | Options PXE 66/67 vers le serveur FOG |
| DNS | AD + OPNsense (Unbound) | L'AD reste le DNS de FormuleSAE.local (indispensable pour le domaine). Unbound lui transmet ces requêtes et résout le reste. |
| Reverse proxy et HTTPS | OPNsense (plugin Caddy) | En place depuis le 2026-11-05, remplace Nginx Proxy Manager. Un certificat Let's Encrypt par nom, obtenu par DNS Cloudflare. |
| Exposition sur Internet | OPNsense | L'IP publique de la DMZ arrive sur OPNsense, qui la redistribue aux services |
Demande à l'école
On regroupe tout dans une seule demande au service informatique de l'école :
- Un VLAN dédié pour nos serveurs et nos postes, de préférence sur un port dédié (3ᵉ câble sur
eno3de pve-02) plutôt que tagué sur le port existant. - L'IP
10.194.24.12sur le WAN de l'OPNsense. C'est l'IP actuelle du file server : si OPNsense la reprend, les lecteurs déjà montés par l'IP chez les membres continuent de marcher. Le WAN est aujourd'hui en DHCP (10.194.24.56), ce qui n'est pas fiable. - Une réservation DHCP ou une IP fixe pour la patte d'administration de GitLab (MAC
00:0c:29:41:a4:65, aujourd'hui10.194.24.52), tant qu'elle existe. - La liste des sous-réseaux wifi et filaires de l'école, pour limiter l'accès au file server à ces réseaux.
Déjà réglé, plus besoin de le demander :
- L'IP publique
142.137.247.115: OPNsense la porte déjà sur son interface DMZ, en reprenant la MAC qu'avait GitLab sur ce port. - Les ports 80 et 443 : ils sont joignables depuis Internet (vérifié le 2026-11-04).
Le numéro du VLAN, nos sous-réseaux et le plan d'adressage, une fois la réponse de l'école reçue.
Accès au file server depuis le réseau de l'école
Les membres se connectent au wifi de l'école, pas à notre VLAN. Pour qu'ils gardent l'accès à Shared et cad :
- OPNsense redirige le port 445 (SMB) de son WAN vers le file server.
- La règle n'accepte que les sous-réseaux de l'école. Le partage n'est jamais exposé à Internet.
- La connexion se fait toujours avec le compte
FORMULESAE\utilisateur.
La redirection 445 ne doit exister que sur le WAN côté école. Ouvrir SMB sur Internet expose le file server aux attaques automatisées.
Bascule
On migre par vagues, avec un retour arrière possible à chaque étape :
- OPNsense installé et testé sur le VLAN, sans rien y brancher.
- Services non critiques déplacés sur le VLAN.
- AD et file server, hors des heures d'utilisation du club.
- Postes, salle par salle.
- Retrait de Nginx Proxy Manager (Caddy a pris le relais le 2026-11-05 : il reste à vérifier que NPM ne sert plus rien, puis à l'éteindre).