Chapitre 312 minIntermédiaire
Interfaces et VLAN sur pfSense
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- créer des VLAN sur la carte reliée au trunk et les attribuer comme interfaces ;
- configurer une interface interne sans tomber dans le piège de la passerelle ;
- configurer le trunk du switch en face et choisir entre trunk et une carte par VLAN ;
- vérifier qu'un VLAN arrive au pare-feu et diagnostiquer un VLAN muet.
4 exercices corrigés1 schéma
Sur pfSense, chaque réseau que le pare-feu route est une interface : une carte réseau physique ou virtuelle, ou un VLAN créé sur une carte reliée à un trunk 802.1Q. Chaque interface reçoit une adresse, qui sert de passerelle à son réseau, et son propre onglet de règles de filtrage. Ce chapitre crée les six VLAN internes et la DMZ de Sorbier, explique les réglages d'une interface, configure le switch en face et vérifie que tout répond.
Interfaces physiques, interfaces logiques
pfSense distingue deux niveaux :
- le port réseau (network port) : ce que FreeBSD voit,
vtnet0,vtnet1, un VLANvtnet1.10, un tunneltun_wg0… ; - l'interface : ce que pfSense en fait, avec un nom (WAN, LAN, puis OPT1, OPT2… que l'on renomme), une adresse, une passerelle éventuelle et un onglet de règles.
Deux interfaces sont créées à l'installation : WAN et LAN. Toutes les autres s'ajoutent dans Interfaces > Assignments. Chez Sorbier, après le chapitre 2, l'état est le suivant : WAN sur vtnet0, LAN sur vtnet1.99 (le VLAN ADMIN), OPT1 sur vtnet2 (la DMZ), pas encore configurée.
Créer les VLAN
Interfaces > Assignments > VLANs > Add, une fois par VLAN :
| Champ | Valeur pour le VLAN 10 | Remarque |
|---|---|---|
| Parent Interface | vtnet1 | La carte branchée sur le trunk |
| VLAN Tag | 10 | Le numéro de VLAN, de 1 à 4094, identique de part et d'autre du trunk |
| VLAN Priority | Vide | Priorité 802.1p, pour la qualité de service |
| Description | POSTES | Pour s'y retrouver |
Crée de même 20 SERVEURS, 30 ENTREPOT, 40 VISITEURS et 50 TELEPHONIE ; le VLAN 99 existe déjà depuis la console.
Puis, dans l'onglet Interface Assignments, la liste Available network ports propose chaque VLAN (« VLAN 10 on vtnet1 - lan (POSTES) »). Choisis-le et clique sur Add : pfSense crée une interface OPT2, OPT3… Il reste à la configurer.
Configurer une interface
Clique sur le nom de l'interface (OPT2) et remplis :
| Champ | Valeur pour POSTES | Remarque |
|---|---|---|
| Enable | Coché | Une interface non activée n'existe pas pour le pare-feu |
| Description | POSTES | Le nom qui apparaîtra partout : onglet de règles, alias automatiques (POSTES subnets, POSTES address), journaux |
| IPv4 Configuration Type | Static IPv4 | Le pare-feu est la passerelle : adresse fixe |
| IPv6 Configuration Type | None | Le cours reste en IPv4 ; voir l'encadré plus bas |
| IPv4 Address | 192.168.10.126 / 26 | La passerelle du VLAN, avec le masque du réseau |
| IPv4 Upstream gateway | None | Jamais de passerelle sur une interface interne |
| Block private networks and loopback addresses | Décoché | Réservé au WAN : les adresses privées sont normales à l'intérieur |
| Block bogon networks | Décoché | Idem |
Save, puis Apply Changes. Fais de même pour chaque VLAN avec son adresse, puis pour OPT1 renommée DMZ, en 192.168.10.238/28, et renomme LAN en ADMIN (la description seule change : l'interface reste celle qui porte la règle anti-lockout).
| Interface | Port | Adresse |
|---|---|---|
| WAN | vtnet0 | 203.0.113.17/29, passerelle 203.0.113.22 |
| ADMIN (ancien LAN) | vtnet1.99 | 192.168.10.222/28 |
| POSTES | vtnet1.10 | 192.168.10.126/26 |
| SERVEURS | vtnet1.20 | 192.168.10.190/28 |
| ENTREPOT | vtnet1.30 | 192.168.10.158/27 |
| VISITEURS | vtnet1.40 | 192.168.10.62/26 |
| TELEPHONIE | vtnet1.50 | 192.168.10.174/28 |
| DMZ | vtnet2 | 192.168.10.238/28 |
Pourquoi le pare-feu porte les passerelles
Une machine qui veut joindre un autre réseau envoie ses paquets à sa passerelle. En plaçant la passerelle de chaque VLAN sur pfSense, on force tout trafic entre deux VLAN à traverser le pare-feu, donc ses règles et ses journaux. Le switch, lui, ne fait que du niveau 2 : il ne peut pas faire passer une trame d'un VLAN à un autre.
À l'inverse, deux machines du même VLAN se parlent directement, par le switch, sans passer par pfSense : le pare-feu ne voit pas ce trafic et ne peut pas le filtrer. Si deux catégories de machines ne doivent pas se parler, elles vont dans deux VLAN différents (ou on active l'isolation des clients, comme sur le Wi-Fi invité).
Le switch en face
Le port de SW-COEUR relié à eno1 de l'hôte Proxmox est un trunk ordinaire, qui transporte les VLAN internes et rien d'autre (configurer un trunk) :
SW-COEUR(config)# interface TenGigabitEthernet1/1/1
SW-COEUR(config-if)# description Trunk vers pve1 eno1 (pfSense)
SW-COEUR(config-if)# switchport mode trunk
SW-COEUR(config-if)# switchport trunk native vlan 999
SW-COEUR(config-if)# switchport trunk allowed vlan 10,20,30,40,50,99
SW-COEUR(config-if)# switchport nonegotiate
Le VLAN natif 999 ne porte aucune machine : aucune trame non étiquetée utile ne circule sur ce lien. Comme le switch ne route plus, ses anciennes interfaces de VLAN routées sont supprimées, sauf celle de son adresse de gestion dans le VLAN 99, et sa passerelle par défaut devient le pare-feu :
SW-COEUR(config)# no ip routing
SW-COEUR(config)# ip default-gateway 192.168.10.222
Les serveurs virtuels de Sorbier sont sur le même hôte : dans Proxmox, leur carte est branchée sur vmbr0 avec l'étiquette 20 (VLAN Tag), et ils reçoivent leurs trames sans étiquette, comme sur un port d'accès de switch.
Un VLAN par carte, ou un trunk ?
Proxmox permet une autre méthode : donner à pf1 une carte par VLAN, chacune avec son étiquette dans Proxmox, et ne créer aucun VLAN dans pfSense.
| Trunk vers pfSense (le choix de Sorbier) | Une carte par VLAN | |
|---|---|---|
| Où sont les VLAN | Créés dans pfSense, sur une seule carte | Étiquetés par Proxmox, pfSense ne voit que des cartes |
| Ajouter un VLAN | Un VLAN dans pfSense ; rien à toucher dans Proxmox | Une carte à ajouter à la machine virtuelle, ce qui renumérote parfois les interfaces |
| Lisibilité | La configuration de pfSense décrit tout le réseau | Il faut lire Proxmox et pfSense |
| Haute disponibilité | Simple : même configuration sur les deux pare-feu | Les cartes doivent être dans le même ordre sur les deux machines |
| Réutilisable sur un boîtier physique | Oui, à l'identique | Non |
Le trunk est plus proche d'un pare-feu physique et plus simple à faire évoluer : c'est la méthode de ce cours.
Regrouper les interfaces
Interfaces > Interface Groups permet de rassembler plusieurs interfaces sous un nom, par exemple INTERNES pour POSTES, ENTREPOT et TELEPHONIE. Le groupe a son propre onglet de règles, qui s'applique à toutes ses interfaces : une règle commune (« tout le monde a le droit d'interroger le DNS de l'annuaire ») s'écrit une fois. Les règles d'un groupe sont lues avant celles de chaque interface (chapitre 4). On s'en sert avec modération : une règle cachée dans un groupe est une règle qu'on oublie en relisant un onglet.
Vérifier
- Status > Interfaces : chaque interface est up, avec la bonne adresse et la bonne adresse MAC.
- Diagnostics > ARP Table : les machines de chaque VLAN qui ont parlé au pare-feu, avec leur adresse MAC et l'interface.
- Diagnostics > Ping, avec Source address réglé sur l'interface : depuis SERVEURS vers
192.168.10.177, pour vérifier que le VLAN 20 arrive bien.
Depuis un poste du VLAN 10, ping 192.168.10.126 échoue à ce stade : c'est normal. Une interface nouvellement créée n'a aucune règle, et pfSense bloque tout ce qui y entre, même un ping vers sa propre adresse. Le chapitre suivant écrit les règles.
Exercices
Exercice 1 sur 4 Ajouter le VLAN des caméras Réussi À revoir
Sorbier sépare les caméras des téléphones : nouveau VLAN 70 CAMERAS, réseau 192.168.10.200/29, le dernier bloc libre du plan.
- Donne la passerelle selon la convention de Sorbier, et le nombre de caméras possibles.
- Liste les manipulations sur pfSense, sur SW-COEUR et dans Proxmox.
Voir la réponseMasquer la réponse de l'exercice 1
- Un /29 laisse 3 bits d'hôte : 2³ − 2 = 6 adresses utilisables, de
.201à.206(diffusion.207). La passerelle est la dernière utilisable,192.168.10.206: il reste 5 adresses pour les caméras. - pfSense : Interfaces > Assignments > VLANs > Add (parent
vtnet1, tag 70, description CAMERAS) ; l'ajouter dans Interface Assignments ; l'activer, la renommer CAMERAS, Static IPv4192.168.10.206/29, pas de passerelle ; écrire ses règles. SW-COEUR :vlan 70,name CAMERAS, ajouter le VLAN au trunk (switchport trunk allowed vlan add 70) et aux trunks vers les switchs d'étage, mettre les ports des caméras en accès dans le VLAN 70. Proxmox : rien,vmbr0accepte déjà toutes les étiquettes (bridge-vids 2-4094).
Tu avais trouvé ?
Exercice 2 sur 4 La passerelle de trop Réussi À revoir
Un technicien a configuré l'interface SERVEURS de pfSense avec une passerelle 192.168.10.177 « pour que les serveurs trouvent le DNS ». Depuis, les postes ouvrent difficilement leurs partages sur srv-fichiers, et le NAT sortant affiche des règles pour le réseau des postes vers l'interface SERVEURS. Explique.
Voir la réponseMasquer la réponse de l'exercice 2
Une interface qui a une passerelle (upstream gateway) est traitée par pfSense comme un WAN : le NAT sortant automatique crée des règles qui traduisent le trafic sortant par cette interface, et les règles de l'interface reçoivent un reply-to qui renvoie les réponses vers 192.168.10.177. Les flux des postes vers srv-fichiers sont donc traduits ou leurs réponses mal acheminées. Le DNS n'a rien à voir avec une passerelle : il se distribue par DHCP ou se règle sur chaque serveur. Correction : IPv4 Upstream gateway à None sur SERVEURS, puis vérifier que le NAT sortant ne contient plus de règles parasites.
Tu avais trouvé ?
Exercice 3 sur 4 Pourquoi le pare-feu ne voit rien Réussi À revoir
Une imprimante 192.168.10.116 et un poste 192.168.10.80 sont dans le VLAN 10. Le responsable veut journaliser sur pfSense toutes les impressions du poste. Il crée une règle journalisée sur POSTES, mais aucune ligne n'apparaît. Pourquoi ? Propose deux solutions.
Voir la réponseMasquer la réponse de l'exercice 3
Le poste et l'imprimante sont dans le même VLAN, le même réseau IP : le poste joint l'imprimante directement, par le switch, sans passer par sa passerelle. Le paquet n'entre jamais dans pfSense. Solutions : (1) déplacer les imprimantes dans un VLAN dédié, dont la passerelle est sur pfSense : chaque impression traverse alors le pare-feu et sa règle ; (2) faire passer les impressions par un serveur d'impression (srv-fichiers) et journaliser l'accès des postes à ce serveur, qui est dans un autre VLAN, ou les journaux du serveur d'impression lui-même.
Tu avais trouvé ?
Exercice 4 sur 4 Diagnostiquer un VLAN muet Réussi À revoir
Le VLAN 30 vient d'être créé sur pfSense (192.168.10.158/27). Un terminal de scan en 192.168.10.140/27 ne joint pas sa passerelle. Le journal du pare-feu ne montre aucun paquet venant de 192.168.10.140. Sur SW-COEUR, show interfaces trunk affiche pour le port vers l'hôte : Vlans allowed on trunk 10,20,40,50,99. Quelle est la panne, et la correction ?
Voir la réponseMasquer la réponse de l'exercice 4
Le VLAN 30 n'est pas autorisé sur le trunk vers l'hôte Proxmox : les trames du terminal n'atteignent jamais pfSense, d'où l'absence totale de ligne dans le journal (un problème de règle aurait laissé une ligne de blocage). Correction sur SW-COEUR : interface TenGigabitEthernet1/1/1, puis switchport trunk allowed vlan add 30. Il faudra ensuite une règle sur l'interface ENTREPOT pour que le terminal puisse joindre quoi que ce soit, même sa passerelle en ICMP.
Tu avais trouvé ?