Dans cet article nous allons mettre en place des règles Firewall sous pfSense pour que les différents LAN (sous-réseaux) communiquent ensemble. Le firewall pfSense est déjà installé et configuré avec 3 interfaces LAN (4 NICS avec le WAN).
Machine virtuelle nécessaire :
- pfSense (Virtualbox) : installation-configuration-pfsense-virtualbox
- pfSense (WorkStation) : installation-configuration-pfsense-workstation
- Voir également le projet Exchange Server 2016 pour d’autres règles : Rules pfSense Server Edge Transport
- WAN <—> DMZ
- LAN —-> DMZ
- DMZ —-> LAN
- LAN <—> WAN
Schéma réseau
Passons donc à la mise en place des règles pour chaque réseau. Je reprends le schéma des cartes réseau de mon environnement pfSense :
em0 = WAN = 192.168.1.0/24 = Le réseau de ma machine hôte
em1 = LAN-Serveurs = 172.16.1.1/18 = Le réseau LAN pour les serveurs
em2 = LAN-Users = 172.16.64.1/18 = Le réseau LAN pour les Utilisateurs
em3 = LAN-DMZ = 172.16.128.1/18 = Le réseau pour la DMZ
J’ai donc 3 sous-réseaux LAN isolés. Le but est donc de faire en sorte que les 3 LAN puissent communiquer ensemble. Depuis le réseau LAN (LAN-Serveurs), vous pouvez normalement joindre les autres LAN sans problème, grâce à la règle par défaut créée par pfSense sinon, on n’aurait pas accès à l’interface Web.
Il suffit donc de créer les mêmes règles sur les autres LAN.
Attention, ici on ouvre la porte entièrement, pour plus de sécurité, il faut bien sûr cibler par port/protocole… Je suis dans un environnement de test.
Sans rien configurer, voilà ce que ça donne :
LAN-Serveurs ➡ LAN-Users : ping ✅Ok
LAN-Serveurs ➡ LAN-DMZ : ping ✅Ok
LAN-Users ➡ LAN-Serveurs : ping ⛔Nok
LAN-Users ➡ LAN-DMZ : ping ⛔Nok
LAN-DMZ ➡ LAN-Users : ping ⛔Nok
LAN-DMZ ➡ LAN-Serveurs : ping ⛔Nok
Test Echo Request (Avant)
Faisons un ping entre les interfaces pour vérifier.
LAN-Serveurs vers LAN-Users : ping 172.16.64.1
Envoi d’une requête ‘Ping’ 172.16.64.1 avec 32 octets de données :
Réponse de 172.16.64.1 : octets=32 temps<1ms TTL=64
Réponse de 172.16.64.1 : octets=32 temps<1ms TTL=64
Réponse de 172.16.64.1 : octets=32 temps<1ms TTL=64
Réponse de 172.16.64.1 : octets=32 temps<1ms TTL=64
LAN-Serveurs vers LAN-DMZ : ping 172.16.128.1
Envoi d’une requête ‘Ping’ 172.16.128.1 avec 32 octets de données :
Réponse de 172.16.128.1 : octets=32 temps<1ms TTL=64
Réponse de 172.16.128.1 : octets=32 temps<1ms TTL=64
Réponse de 172.16.128.1 : octets=32 temps<1ms TTL=64
Réponse de 172.16.128.1 : octets=32 temps<1ms TTL=64
LAN-Users vers LAN-Serveurs : ping 172.16.1.1
Envoi d’une requête ‘Ping’ 172.16.1.1 avec 32 octets de données :
Délai d’attente de la demande dépassé.
Délai d’attente de la demande dépassé.
Délai d’attente de la demande dépassé.
Délai d’attente de la demande dépassé.
LAN-Users vers LAN-DMZ : ping 172.16.128.1
Envoi d’une requête ‘Ping’ 172.16.128.1 avec 32 octets de données :
Délai d’attente de la demande dépassé.
Délai d’attente de la demande dépassé.
Délai d’attente de la demande dépassé.
Délai d’attente de la demande dépassé.
LAN-DMZ vers LAN-Serveurs : ping 172.16.1.1
Envoi d’une requête ‘Ping’ 172.16.1.1 avec 32 octets de données :
Délai d’attente de la demande dépassé.
Délai d’attente de la demande dépassé.
Délai d’attente de la demande dépassé.
Délai d’attente de la demande dépassé.
LAN-DMZ vers LAN-Users : ping 172.16.64.1
Envoi d’une requête ‘Ping’ 172.16.64.1 avec 32 octets de données :
Délai d’attente de la demande dépassé.
Délai d’attente de la demande dépassé.
Délai d’attente de la demande dépassé.
Délai d’attente de la demande dépassé.
Ajout des règles
Connectez-vous à l’interface pfSense. l’utilisateur et le mot de passe par défaut : admin – pfsense.
- Allez dans le menu Pare-feu puis Règles.
- Sélectionnez l’inteface LAN.
- On peut voir les règles déjà en place, il faut créer ces mêmes règles pour l’interface USERS et DMZ :
Cliquez sur USERS et cliquez sur le premier bouton Ajouter :
- Règle
- Action : Autoriser (Pass)
- Interface : USERS
- Famille d’adresse : IPv4
- Protocole : TCP
- Sous-types ICMP : Tout (any)
- Source
- Source : USERS net
- Plage de port source : Tout / Tout
- Destination
- Destination : Tout
- Plage de port source : Tout / Tout
- Options additionnelles
- Description : Allow LAN-Users to any
- Enregistrer
Cliquez sur le deuxième bouton Ajouter :
- Règle
- Action : Autoriser (Pass)
- Interface : USERS
- Famille d’adresse : IPv6
- Protocole : TCP
- Sous-types ICMP : Tout (any)
- Source
- Source : USERS net
- Plage de port source : Tout / Tout
- Destination
- Destination : Tout
- Plage de port source : Tout / Tout
- Options additionnelles
- Description : Allow LAN-Users to any
- Enregistrer
Cliquez sur le bouton : Appliquer les modifications
Cliquez sur DMZ, cliquez sur le premier bouton Ajouter :
- Règle
- Action : Autoriser (Pass)
- Interface : DMZ
- Famille d’adresse : IPv4
- Protocole : TCP
- Sous-types ICMP : Tout (any)
- Source
- Source : DMZ net
- Plage de port source : Tout / Tout
- Destination
- Destination : Tout
- Plage de port source : Tout / Tout
- Options additionnelles
- Description : Allow LAN-DMZ to any
- Enregistrer
Cliquez sur le deuxième bouton Ajouter :
- Règle
- Action : Autoriser (Pass)
- Interface : DMZ
- Famille d’adresse : IPv6
- Protocole : TCP
- Sous-types ICMP : Tout (any)
- Source
- Source : DMZ net
- Plage de port source : Tout / Tout
- Destination
- Destination : Tout
- Plage de port source : Tout / Tout
- Options additionnelles
- Description : Allow LAN-DMZ to any
- Enregistrer
Cliquez sur le bouton : Appliquer les modifications
Test Echo Request (Après)
Mes sous-réseaux LAN communiquent ensemble. Pensez à désactiver le pare-feu Windows ou rajouter des règles pour autoriser la communication, dans mon cas, il est désactivé.
LAN-Users –> LAN-DMZ : ping 172.16.128.1
Vous pouvez également faire la même chose pour le réseau WAN afin d’autoriser votre machine hôte si nécessaire. Les postes utilisateurs peuvent désormais contacter le réseau LAN-Serveurs et la DMZ.
Bonne journée et à bientôt.
bonjour, j’ai pfsense avec 8 Vlan et je souhaiterai que 1 Vlan ne puisse communiquer qu’avec l’interface wan et pas avec les autres. j’ai fait un essai avec » VlanNet8 TCP 443 vers WanNet » mais ca ne marche pas j’ai même essayé » VlanNet8 TCP 443 vers WanAdress » même résultat. pouvez vous m’aider? merci cordialement
Bonjour,
Les VLANs sont isolés par défaut et ne devrait pas communiquer entre eux à moins de mettre des règles firewall pour les autoriser.
Ce n’est pas le cas de ton côté ?
bonjour, oui ils sont isolés, mon problème est que le Vlan8 doit aller sur internet et que sur internet la seule solution que j’ai trouvé pour que ca marche est « VlanNet8 TCP 443 vers * » donc vers tout, le Vlan8 me ser pour les appareils connectés (aspirateur, lave linge, player 4k) pour mes 7 autre Vlan ils passent par le proxy donc la cible de destination est bien identifié port 3128 et ip passerelle du Vlan.
D’accord, je comprends.
Tu peux essayer les alias comme expliqué ici : https://forum.netgate.com/topic/57483/permit-from-vlan-subnet-to-wan-only
Tu crées un alias qui pointe sur les autres VLANs
Sur ton VLAN qui doit accéder à Internet seul :
Tu lui rajoutes 2 régles firewall:
– Une règle qui bloque tout le traffic vers les autres vlans, donc l’alias.
– Une règle qui autorise le traffic WAN.
Tiens moi au courant.
Désolé, je ne suis pas chez moi pour tester de mon côté.
ok mais la y a un truc que je comprends pas.. (je précise que le proxy n ‘est pas actif sur ce Vlan)
-autorisé vers la passerelle:
NTP et DNS
-puis interdit:
ip* IPV4/IPV6 ******** (ma règle interdit) que j’historise
ça donne dans les logs:
ip aspirateur VlanNet8 TCP 443 vers (un serveur sur internet) block……normal (Vlan étanche)
-puis je rajoute, après ma règle NTP et DNS:
test 1
ip aspirateur VlanNet8 TCP 443 vers WanNet (marche pas)
test 2
ip aspirateur VlanNet8 TCP 443 vers WanAderss (marche pas)
je teste avec l’alias ce soir mais si j’interdis le trafic en 443 de mon Vlan8 vers le reste (alias), et après je fais « VlanNet8 TCP 443 vers * » je pense que ma 2 emme règle court-circuite ma première.
Tu autorise ce qu’il te faut ensuite vers les autres VLAN.
Mais tu laisses la règle qui bloque tous le trafic vers l’alias.
Si ça ne marche pas, il faut essayer avec le NAT pour autoriser le VLAN vers le WAN.
Tiens moi au courant.
bonjour,
bon après test cela fonctionne…
donc en premier:
-ma règle interdiction vers tous les Vlan. (alias)
-en 2 ma règle 443 vers ***
-en 3 la règle ip* IPV4/IPV6 ******** (ma règle interdit)
merci pour votre aide
cordialement
Merci pour le feedback.
J’ai perdu un peu la main sur pfSense.
Faut que je refasse mon labs.
Bonjours, moi j’ai créé mon server Radius et j’ai suivis le même processus. J’arrive à me connecter avec ma machine, mais lorsque je veux m’authentifier sur le portail captif, un message d’erreur : coule not connecte to authentification server. J’ai besoin d’aide parce que j’ai tout essayé à mon niveau.
Salut,
Vérifies que le firewall (pare-feu Windows) n’est pas activé sur ton serveur Radius.
Bonne journée.
-sysadmin