NAT et Firewall



  • Bonjour a tous,

    Contexte:
    Dans un cadre privé/d'apprentissage, j'ai virtualisé un pfsense sur un ESXi et je l'utilise comme passerelle pour faire communiquer deux lan de lab eux aussi virtuels.

    Besoin:
    Faire communiquer (routage) mes LAN entre eux dans un premier temps, puis ensuite, ajouter certains filtrages (firewall):

    Descriptif de l'infra:
    LAN_BUREAUTIQUE
    WAN
    (em0)
    192.168.1.253

    LAN_LAB1_SRV
    LAN
    (em1)
    10.10.1.254

    LAN_LAB1_PDT
    OPT1
    (em2)
    10.10.10.254

    Réglages NAT:
    Port Forward : vide
    1:1 : vide
    Outbound : voir pièce jointe

    Réglage Firewall:
    voir les pièces jointes

    Bon comme vous pouvez vous en rendre compte, j'ai pas mal bricolé les règles jusqu’à plus rien ni comprendre. Donc un peu d'aide serait la bienvenue, sinon je n'utilise aucune autre fonction du pfsense et recherchant des tuto sur le net, je n'en ai pas croisé pour réaliser la même chose.

    Si il manque des informations pour comprendre n'hésitez pas a demander

    ![liste interfaces pfsense.png](/public/imported_attachments/1/liste interfaces pfsense.png)
    ![liste interfaces pfsense.png_thumb](/public/imported_attachments/1/liste interfaces pfsense.png_thumb)
    ![NAT pfsense.png](/public/imported_attachments/1/NAT pfsense.png)
    ![NAT pfsense.png_thumb](/public/imported_attachments/1/NAT pfsense.png_thumb)
    ![Firewall-Rules-LAN BUREAUTIQUE pfsense.png](/public/imported_attachments/1/Firewall-Rules-LAN BUREAUTIQUE pfsense.png)
    ![Firewall-Rules-LAN BUREAUTIQUE pfsense.png_thumb](/public/imported_attachments/1/Firewall-Rules-LAN BUREAUTIQUE pfsense.png_thumb)
    ![Firewall-Rules-LAN LAB1 SRV pfsense.png](/public/imported_attachments/1/Firewall-Rules-LAN LAB1 SRV pfsense.png)
    ![Firewall-Rules-LAN LAB1 SRV pfsense.png_thumb](/public/imported_attachments/1/Firewall-Rules-LAN LAB1 SRV pfsense.png_thumb)
    ![Firewall-Rules-LAN LAB1 PDT pfsense.png](/public/imported_attachments/1/Firewall-Rules-LAN LAB1 PDT pfsense.png)
    ![Firewall-Rules-LAN LAB1 PDT pfsense.png_thumb](/public/imported_attachments/1/Firewall-Rules-LAN LAB1 PDT pfsense.png_thumb)



  • @casimir:

    Bon comme vous pouvez vous en rendre compte, j'ai pas mal bricolé les règles jusqu’à plus rien ni comprendre. Donc un peu d'aide serait la bienvenue, sinon je n'utilise aucune autre fonction du pfsense et recherchant des tuto sur le net, je n'en ai pas croisé pour réaliser la même chose.

    Si il manque des informations pour comprendre n'hésitez pas a demander

    Il manque au moins la description de ton problème. J'ai beau relire ton post, je ne vois nulle part un truc qui dit "il y a ça qui ne fonctionne pas"

    Une chose est certaine, c'est qu'au delà d'une description qui à l'air de décrire un environnement simplissime (2 LAN séparés par un FW et qu'il faut faire communiquer), ton environnement est beaucoup plus compliqué (potentiellement) car il y a beaucoup d'interfaces (que tu as pris soin de flouter) et tu as besoin, je ne sais pas pourquoi d'ailleurs, d'activer des règle de NAT manuelles.

    Difficle donc de ce faire une idée de quel pourrait être le problème, quel est le symptôme et quelle pourrait être la cause.

    Ou alors c'est moi qui n'y comprends rien  ;)



  • Je ne comprend pas non plus le problème Et encore moins l'objectif. Sans compter les règles inutiles.



  • J'ai effectivement flouté un certain nombre de chose pour éviter d'embrouiller la présentation. Les autres cartes sont potentiellement le même type de LAN, si j'arrive a comprendre la configuration a appliquer sur les deux présentées, je pourrais appliquer les même config sur les autres cartes (floutés). A la base j'ai d'un coté une interface WAN relié a mon lan bureautique (Box) et de l'autre coté j'ai 8 interfaces (4 lan serveur et 4 lan pdt).

    Le problème que je rencontre est qu'aucun flux (ex ping) ne passe entre les 3 cartes à partir du moment où le firewall est actif (System/Advanced/Firewall & NAT/Disable Firewall/décoché). Si je le réactive (le firewall) l'icmp/flux kerberos/… ne passent plus.
    Est-ce a cause des règles du firewall qui seraient mal renseignées.



  • Je peux me tromper mais je pense que tu te compliques beaucoup la vie pour pas grand chose et tu fais des raccourcis un peu rapides.

    Avec 2 LAN connectés à un FW installé "from scratch" (je veux dire pas là avec les options par défaut, sans aller passer en mode manuel par exemple des options de NAT que tu ne maitrises peut-être pas complètement), la communication entre les 2 LAN, pour autant que chaque interface du FW est la passerelle par défaut de ces 2 LAN, se fait presque toute seule, uniquement en décrivant au niveau du FW les règles permettant d'autoriser les flux que tu veux laisser passer.
    Bien sûr il faut lister ces flux et comprendre ce qui est du TCP, de l'UDP… ou de l'ICMP si tu veux faire du ping.

    Un petit point de "détail" supplémentaire: par défaut, si tu coches la case qui bloque les flux RFC 1918, ceux-ci sont effectivement bloqués  8)
    Il faut donc:

    • comprendre ce que ça signifie (à quoi correspondent ces flux)
    • quel est ton plan d'adressage
    • ... et comment tout ça cohabite

    Je soupçonne quand même, à la lecture de ton dernier message, que c'est malgré tout encore un peu plus compliqué:

    • tu dis que l'interface WAN de pfSense, c'est ton LAN "principal"
    • tu évoques ensuite Kerberos...
    • est-ce que ton serveur Kerberos ne serais pas coté LAN bureautique ?

    Bref, fais simple:

    • part d'une installation "basique" à 2 LAN
    • fait attention à la règle de blocage des flux RFC1918
    • identifie les flux entre les LAN et écrit les règles de FW qui y correspondent
    • idem entres les LAN et le WAN

    sans rien changer d'autre, ça marche  ;) ;)



  • OK, je viens de faire un rapide schéma pour que vous puissiez mieux comprendre mon infra




  • @chris4916:

    Je peux me tromper mais je pense que tu te compliques beaucoup la vie pour pas grand chose et tu fais des raccourcis un peu rapides.

    Avec 2 LAN connectés à un FW installé "from scratch" (je veux dire pas là avec les options par défaut, sans aller passer en mode manuel par exemple des options de NAT que tu ne maitrises peut-être pas complètement), la communication entre les 2 LAN, pour autant que chaque interface du FW est la passerelle par défaut de ces 2 LAN, se fait presque toute seule, uniquement en décrivant au niveau du FW les règles permettant d'autoriser les flux que tu veux laisser passer.
    Bien sûr il faut lister ces flux et comprendre ce qui est du TCP, de l'UDP… ou de l'ICMP si tu veux faire du ping.

    On est d'accord, mais justement je suis certainement pas très "clean" au niveau de l’écriture de ces règles.

    @chris4916:

    Un petit point de "détail" supplémentaire: par défaut, si tu coches la case qui bloque les flux RFC 1918, ceux-ci sont effectivement bloqués  8)
    Il faut donc:

    • comprendre ce que ça signifie (à quoi correspondent ces flux)
    • quel est ton plan d'adressage
    • … et comment tout ça cohabite

    Je n'ai pas touché aux règles concernant la RFC1918 c'est built'in a l'installation, d'ailleurs vu que mon WAN n'est pas vraiment un vrai WAN (public Internet) est-ce que ces règles sont utiles dans mon cas ?

    @chris4916:

    Je soupçonne quand même, à la lecture de ton dernier message, que c'est malgré tout encore un peu plus compliqué:

    • tu dis que l'interface WAN de pfSense, c'est ton LAN "principal"
    • tu évoques ensuite Kerberos…
    • est-ce que ton serveur Kerberos ne serais pas coté LAN bureautique ?

    Non mes DCs sont seulement dans mes LAN_LABx_xxx, justement pfSense est la pour séparer mon infra LAB de mon LAN BUREAUTIQUE/Perso

    @chris4916:

    Bref, fais simple:

    • part d'une installation "basique" à 2 LAN
    • fait attention à la règle de blocage des flux RFC1918
    • identifie les flux entre les LAN et écrit les règles de FW qui y correspondent
    • idem entres les LAN et le WAN

    sans rien changer d'autre, ça marche  ;) ;)



  • 1 - Comment sont configurés tes clients dans chaque LAN ?
    2 - Est-ce que la passerelle par défaut est bien l'interface pfSense du LAN auquel est connecté le client ?
    3 - tu peux, au niveau du paramétrage du log, forcer l'enregistrement dans le log de toutes les règles de FW
    4 - en regardant dans le log du FW, tu auras très rapidement une vision de quelle est la règle qui bloque ton flux.



  • @chris4916:

    1 - Comment sont configurés tes clients dans chaque LAN ?

    En ip fixe pour les serveurs et fixe aussi pour le moment pour les postes de travail

    2 - Est-ce que la passerelle par défaut est bien l'interface pfSense du LAN auquel est connecté le client ?

    Oui, et pour chaque LAN_LAB

    3 - tu peux, au niveau du paramétrage du log, forcer l'enregistrement dans le log de toutes les règles de FW

    Je regarde ça

    4 - en regardant dans le log du FW, tu auras très rapidement une vision de quelle est la règle qui bloque ton flux.

    ok



  • Bon au final, j'ai réussi a rétablir certaines communications entre les LAN_LABx_SRV (ping, réplication AD, SMB, … fonctionnel).

    Par contre, je n'arrive toujours pas a rétablir les communications vers le LAN_BUREAUTIQUE et Internet, j'ai quelques chose a faire d'autre ?



  • Si ça ne fonctionne toujours pas comme prévu, oui il y a certainement quelque chose à faire 😉
    Quoi ? Je ne sais pas mais à la lecture de ton dernier message, on ne sait même pas ce que tu a fait pour corriger le problème précédent. Difficile dans ces conditions de commenter plus en détail



  • Disons que j'ai fais simple, j'ai créé des règles très permissives "peut-être trop" mais c'est surtout pour comprendre le fonctionnement du couple NAT-Firewall. Et même avec ces règles, certains flux restent bloqués !

    Pour expliquer mes problèmes voici les règles que j'ai créé ainsi qu'un extrait des dernières logs

    Si cela peut vous aider.

    ex: Le firewall laisse passé tous les ports "any" du LAN_LAB1_SRV vers LAN_LAB2_SRV malgré cela il me bloque certain flux

    ![Firewall-Rules-LAN BUREAUTIQUE pfsense.png](/public/imported_attachments/1/Firewall-Rules-LAN BUREAUTIQUE pfsense.png)
    ![Firewall-Rules-LAN BUREAUTIQUE pfsense.png_thumb](/public/imported_attachments/1/Firewall-Rules-LAN BUREAUTIQUE pfsense.png_thumb)
    ![Firewall-Rules-LAN LAB1 PDT pfsense.png](/public/imported_attachments/1/Firewall-Rules-LAN LAB1 PDT pfsense.png)
    ![Firewall-Rules-LAN LAB1 PDT pfsense.png_thumb](/public/imported_attachments/1/Firewall-Rules-LAN LAB1 PDT pfsense.png_thumb)
    ![Firewall-Rules-LAN LAB1 SRV pfsense.png](/public/imported_attachments/1/Firewall-Rules-LAN LAB1 SRV pfsense.png)
    ![Firewall-Rules-LAN LAB1 SRV pfsense.png_thumb](/public/imported_attachments/1/Firewall-Rules-LAN LAB1 SRV pfsense.png_thumb)
    ![Firewall-Rules-LAN LAB2 SRV pfsense.png](/public/imported_attachments/1/Firewall-Rules-LAN LAB2 SRV pfsense.png)
    ![Firewall-Rules-LAN LAB2 SRV pfsense.png_thumb](/public/imported_attachments/1/Firewall-Rules-LAN LAB2 SRV pfsense.png_thumb)



  • 1 - Entre les segments réseau coté LAN, il n'y a pas de problématique de NAT (normalement)
    2 - tu es bien en IP V4 partout ?
    3 - il y a des règles que je ne comprends pas: à quoi sert une règle sur l'interface LAN_BUREAUTIQUE qui décrit LAN_LABx_SRV_xxx en source ? dans ton schéma réseau, si je le comprends bien, ça ne peut pas s'appliquer.
    4 - ce qui est bloqué, ce que montre bien le log, c'est du trafic TCP:PA  Je te suggère donc de lire ça.
    Asymmetric Routing
    If reply traffic such as TCP:A, TCP:SA, or TCP:RA is shown as blocked in the logs, the problem could be asymmetric routing. See Asymmetric Routing and Firewall Rules for more info

    5 - il y a du ICMP bloqué entre LAN_LAB3_SRV_xxx et bureatique mais… pas de chance, tu ne montres pas ce que tu as configuré comme règle sur l'interface de LAB3  ;)

    A mon avis, compte tenu de ce que le log montre, il y a des soucis autres que des simples règles de FW. AMHA bien sûr.



  • Alors reprenons

    1. bon ok
    2. J'ai de l'IPv4 partout et j'ai laissé l'IPv6 sur mes DC (10.10.1.1 - 10.10.2.1 - 10.10.3.1) mais je peux le désactiver
    3. J’étais parti sur le principe que pour les flux puissent passer dans les deux sens (bi-directionnel) il fallait par conséquent créer deux règles (depuis et vers) mais bon apparemment inutile d'après ta remarque.
    4. Je suis en train de faire des tests avec les "TCP flags" et "State type"
    5. voir la pièce jointe

    –-------
    Sinon voici de nouvelles log (pièce jointe)
    1] A quoi correspond les petites flèches devant l'interface et
    2] Pourquoi dans cette log il s'agit de l'interface LAN_LAB1_SRV donc sous-reseau 10.10.1.0/24 alors que l'IP source est 10.10.3.1, dans les autres logs l'IP source est sur le sous-réseau de l'interface. Vous comprenez ?
    3] J'ai un blocage des flux ICMP donc ping alors qu'il y a une règle depuis le LAN_LAB3_SRV vers LAN_LAB1_SRV en "any" pour les ports donc ?

    Bon voila encore des interrogations, merci pour votre aide

    ![Firewall-Rules-LAN LAB3 SRV pfsense.png](/public/imported_attachments/1/Firewall-Rules-LAN LAB3 SRV pfsense.png)
    ![Firewall-Rules-LAN LAB3 SRV pfsense.png_thumb](/public/imported_attachments/1/Firewall-Rules-LAN LAB3 SRV pfsense.png_thumb)


    ![Firewall-Rules-LAN LAB3 SRV pfsense.png](/public/imported_attachments/1/Firewall-Rules-LAN LAB3 SRV pfsense.png)
    ![Firewall-Rules-LAN LAB3 SRV pfsense.png_thumb](/public/imported_attachments/1/Firewall-Rules-LAN LAB3 SRV pfsense.png_thumb)



  • pfSense est un firewall SPI, c'est à dire Statefull Packet Inspection, ce qui signifie, pour faire court, que pfSense va maintenir une table des connexions en cours.
    Si une règle à autorisé un flux de, par exemple, LAN vers internet, les packets qui vont revenir via l'interface WAN vont être automatiquement acceptés.

    La flèche devant l'interface indique le sens du flux (in/out). tu peux lire le log en mode "raw" pour avoir plus de détail
    https://doc.pfsense.org/index.php/Filter_Log_Format_for_pfSense_2.2

    Je ne sais pas comment tu imagines l'approche du debug mais à ta place, je regarderai en priorité cette histoire de TCP:SA qui dénote un problème autre que des règles de FW.
    Pourquoi aurais-tu, sur l'interface LAN_LAB1_SRV un flux entrant en provenant de 10.10.3.0/24 ?

    C'est, à mon avis, mais tu donnes peu d’information sur comment est construit ton réseau (à grand coup de VM, ça n'aide pas, je suis d'accord  :)) la source de la plupart de tes problèmes.
    C'est ton point 2 (de ta deuxième série de question) et le souci n'est pas, à mon avis, coté pfSense mais coté VM. ou alors il y a un typo quelque part.


Log in to reply