Provya

Expertise pfSense

Sommaire des articles  -  Liens & Actualités  -  Firewall pour pfSense

[pfSense] Bien choisir et dimensionner son firewall

icon 16/10/2019 - 4 commentaires

Le choix du bon matériel pour accueillir pfSense est toujours délicat. Il n'est pas évident de dimensionner correctement son firewall par rapport à son besoin, ni de choisir les bons composants lorsque l'on souhaite assembler son matériel soi-même.

Nous présentons dans cet article les éléments à prendre en considération pour le dimensionnement de son firewall, ainsi que les points de vigilance à avoir dans le choix des composants.



[Intro] Dimensionner son firewall, qu'est-ce que cela signifie ?


Avant de rentrer dans le vif du sujet, il est important de donner la définition du terme "dimensionner". Dans le choix d'un firewall, il va être important de définir les paramètres suivants :

  • Débit attendu : élément essentiel du choix du matériel. Quel débit maximal souhaitons-nous que le firewall puisse supporter ?
  • Mémoire-vive : de quelle quantité de mémoire-vive le firewall a-t-il besoin et quel est l'impact des services ou packages que j'active sur la consommation de mémoire ?
  • Processeur : comment choisir correctement son processeur pour être sûr qu'il ne soit pas le goulet d'étranglement de mon firewall ?
  • Disque-dur : quelle taille de disque-dur prévoir ? Faut-il opter pour un disque-dur SSD ?

Ces éléments sont les principales caractéristiques de dimensionnement à prendre en compte dans le choix de son firewall.



1. Quel débit ?


Le premier élément à prendre en considération est le débit souhaité. Est-ce 100 Mbps ? 1 Gbps ? 10 Gbps ? Ou davantage ?
Il faut également se poser la question de la connectique attendue : Ethernet (RJ45), Fibre Optique, WiFi, ... ?

Le débit standard actuel des réseaux modernes pour des entreprises de type TPE/PME est de 1 Gbps.
C'est un débit suffisant pour offrir de bonnes conditions de travail tout en répondant aux besoins d'évolutivité des débits des prochaines années. C'est donc le débit qu'il conviendra de retenir dans l'immense majorité des usages.
Ainsi, il nous paraît indispensable que votre firewall soit équipé de ports RJ45 Gigabits.
De plus, si votre firewall dispose de plusieurs ports réseaux 1 Gbps, il vous sera possible de faire de l'agrégation de liens afin d'accroître le débit offert (par exemple : 2x1 Gbps, 4x1 Gbps, ...).

Il est important de préciser ici que si votre firewall dispose de ports Gigabits, mais que vos switch disposent uniquement de ports Fast Ethernet (c'est-à-dire fonctionnant au maximum à 100 Mbps), alors le débit maximum que pourra offrir votre firewall sur chacune de ses interfaces connectée au switch sera de 100 Mbps.

Pour un usage intensif, de type très grande entreprise ou Centre de données (data center), il conviendra de prévoir une connectique fibre optique offrant des débits de 10 Gbps ou davantage.

Dans tous les cas, il est parfaitement inutile de voir trop large et de choisir des débits largement surdimensionnés ; cela augmentera sensiblement vos coûts d'acquisition sans aucun bénéfice à l'appui.

Dans l'article [pfSense] Comment bien choisir sa carte Wi-Fi, nous détaillons comment choisir sa carte WiFi pour pfSense afin d'être certain de faire le bon choix.

Enfin, et pour conclure sur le débit, il est important d'avoir conscience que ce n'est pas parce que votre firewall dispose de ports Gigabits que le débit maximum délivré sera d'1 Gbps sur chaque port !
En effet, si les autres composants matériels ne sont pas correctement dimensionnés (CPU trop faible, par exemple), si vous utilisez un VPN à haut niveau de chiffrement sans disposer d'accélération cryptographique ou si vous faites de l'inspection de trafic par exemple, alors le débit risque très fortement d'être ralenti.

D'une façon générale, les modules faisant de l'inspection de trafic (comme squidGuard, Snort, Suricata, ...) vont forcément légèrement ralentir le débit.
La plupart des autres modules disponibles sur pfSense ne vont pas ralentir le débit, mais vont principalement augmenter le besoin en ressource processeur ou en mémoire-vive.



2. L'impact des fonctionnalités sur le dimensionnement


Fonctionnement de base de pfSense


Pour fonctionner correctement, pfSense nécessite dans son installation par défaut de disposer de 256 à 512 Mo de mémoire-vive.

Ensuite, dans le fonctionnement de pfSense (et dans le fonctionnement de n'importe quel autre matériel de type stateful), chaque connexion est suivie dans la table d'état.
Pour chaque connexion, il y a 2 états de stockés dans la table : une pour la connexion entrante sur le firewall, l'autre pour la connexion sortante.

Un exemple simple d'une connexion est un ordinateur connecté sur le réseau local (sur le LAN) qui consulte le site web google.fr.
Attention : si l"utilisateur consulte en parallèle le site wikipedia.fr, alors il consomme une deuxième connexion, etc. Il ne faut donc pas penser qu'un ordinateur = une connexion qui sera stockée dans la table d'état. C'est potentiellement beaucoup plus.

La table d'état est stockée en mémoire-vive. Sa taille a donc un impact sur la mémoire-vive nécessaire. Il faut considérer que la consommation en mémoire-vive est la suivante :

  • 50 000 connexions = 100 000 états = ~ 100 Mo de RAM
  • 500 000 connexions = 1 000 000 états = ~ 1 Go de RAM


VPN


D'une façon générale, les VPN IPsec offrent un meilleur débit que les VPN OpenVPN.

L'impact du VPN sur le débit maximal possible va dépendre du choix du chiffrement. Si le matériel ne dispose pas d'accélération cryptographique, les débits vont très rapidement s'effondrer. En revanche, si le matériel supporte le jeu d'instruction AES (également appelé AES-NI), alors l'impact sur le débit sera extrêmement minime.

Ainsi, notre recommandation est clairement d'opter pour un processeur supportant l'AES-NI que vous utilisiez ou non la fonctionnalité VPN.


Snort/Suricata


Les modules Snort et Suricata vont avoir une consommation de mémoire-vive de l'ordre de 1 à 2 Go.
Leur impact sur le débit est très dur à quantifier et va dépendre principalement du processeur et du nombre d'instructions d'inspection de trafic qui sera configuré.


Squid


Squid utilise beaucoup le disque-dur (contrairement à pfSense qui, dans son usage par défaut, est très peu consommateur d'espace disque).
La quantité d'espace disque nécessaire va dépendre de la quantité de données que l'on souhaite conserver en cache et se paramètre dans la configuration de squid.

Pour le choix du type de disque-dur, on considère que jusqu'à environ une centaine d'utilisateurs, n'importe quel disque-dur (disposant d'une vitesse de rotation de 7 200 tour/min, qui est le standard) fera l'affaire.

Au-delà, le choix d'un disque SSD est clairement à privilégier. Si vous faites le choix d'un disque-dur SSD, il est indispensable de choisir un disque-dur SSD de qualité, autrement le nombre élevé de lecture-écriture produit par le proxy va provoquer une fin de vie rapide de votre SSD...

Concernant la mémoire-vive consommée par squid, il faut compter environ 15 Mo de mémoire-vive pour 1 Go de cache sur le disque-dur.
Soit, pour un cache de 100 Go, il faut compter 1,5 Go de mémoire-vive.



3. Bien choisir son matériel


Une fois le dimensionnement de son firewall défini, il est important de bien choisir son matériel afin qu'il soit pleinement compatible avec pfSense et pleinement évolutif.

Nos principales recommandations sont :

  • Architecture 64 bits : les architectures 32 bits ne sont officiellement plus supportées à la fin du mois d'octobre 2018. Il est indispensable de choisir une architecture 64 bits ;
  • Support de l'AES-NI : AES-NI permet une amélioration conséquente des débits offerts sur les connexions VPN. Il est indispensable de choisir un firewall équipé d'un processeur supportant la technologie AES-NI.

Si vous achetez un firewall déjà assemblé pour pfSense :

  • Acheter son matériel en France et bénéficiant d'un remplacement/échange sous 24-48h : en cas de panne de votre firewall vous vous retrouvez bloqués (plus d'accès à Internet, plus d'accès distants, plus de VPN, etc.) ; pour les installation critiques, la mise en place de pfSense en haute-disponibilité est très fortement conseillée ; pour les autres installations, il est indispensable de pouvoir obtenir un matériel de remplacement rapidement ;
  • Disposer d'une garantie matérielle d'au moins 3 ans : c'est la garantie que les composants sont tous de qualité ;
  • Éviter les plateformes type Ebay, alibaba, etc. : les délais de livraisons sont très longs, vous risquez d'avoir à régler des droits de douane et des frais de dédouanement et la garantie sera compliquée à mettre en œuvre si votre matériel tombe en panne après plusieurs mois de fonctionnement ;
  • Choisir un revendeur de confiance : il vous proposera du matériel de qualité et un service après-vente performant en cas de besoin.



Où acheter son firewall pour pfSense ?


De notre expérience, nous estimons qu'il existe aujourd'hui 2 solutions :

1/ Acquérir du matériel officiel vendu par la société Netgate (éditeur du logiciel pfSense). L'avantage est que vous bénéficiez du matériel officiel avec la garantie absolue qu'il est totalement supporté par l'éditeur. Les inconvénients principaux à nos yeux sont : les durées de garantie extrêmement courtes, le temps nécessaire pour un échange, le prix.
Boutique en ligne Netgate : https://store.netgate.com

2/ Acquérir du matériel vendu par Provya : face au besoin de disposer de matériel fiable et économique et au manque de solutions qui étaient disponibles sur le marché, nous avons décidé de façonner notre propre matériel, avec des composants de qualité et au meilleur coût. L'assemblage, le support et la garantie sont effectués par nos soins depuis la France ; tous nos matériels sont garantis 3 ans avec remplacement/échange en 24-48h, et les composants sont choisis avec soin pour fonctionner au mieux et durablement avec pfSense (support AES-NI, disque SSD de qualité, ...).
Boutique en ligne Provya : https://store.provya.fr


Vous avez maintenant toutes les cartes en main pour dimensionner correctement votre firewall pour pfSense !



Pour aller plus loin


[pfSense] Comment bien choisir sa carte Wi-Fi
Best practices / Recommandations pour la configuration de votre firewall
Tous nos articles classés par thème
Voir un article au hasard


Vous avez aimé cet article ? Vous cherchez un support professionnel ? Alors contactez-nous.

Retrouvez nos services et firewall pour pfSense


Formation pfSense     Formation OPNsense     Liste de filtrage des IP malveillantes     Firewall pro-Large pour pfSense et OPNsense     Firewall pro-Xtend pour pfSense et OPNsense     Firewall pro-Xtra-SFP+ pour pfSense et OPNsense    

store.provya.fr

icon Tags de l'article :

[pfSense] Gardez son firewall toujours à l'heure avec une puce GPS

icon 15/10/2019 - Aucun commentaire

En informatique, il est important d'avoir ses équipements (ordinateurs, serveurs, routeurs, switch, etc.) qui soient toujours à l'heure. Pour cela, il est possible d'utiliser le protocole NTP et envoyer ses requêtes vers un serveur NTP public ou bien alors d'utiliser une puce GPS !

Dans cet article, nous présenterons comment installer et utiliser une clé GPS avec pfSense afin qu'il soit toujours à l'heure et l'intérêt de cette méthode par rapport à d'autres.



Être à l'heure : pourquoi ?


Tout équipement informatique dispose d'un horloge matérielle ou logicielle à laquelle il fait référence pour horodater des fichiers, des transactions, des courriers électroniques, des baux DHCP, des autorisations d'accès, etc.
Cette horloge, aussi précise soit-elle va dériver dans le temps comme toute montre ordinaire. Ceci va poser des problèmes de sécurité, notamment en terme de traçabilité et d'auditabilité. Ainsi que des problèmes de contrôles des accès.

Pour pallier ce problème, il est possible d'utiliser des serveurs de temps de référence qui seront interrogés via le protocole NTP. De nombreux serveurs NTP sont accessibles en libre accès sur Internet et il est également possible d'implémenter son propre serveur NTP.

pfSense peut parfaitement servir de serveur NTP interne pour vos équipements. Pour garder notre serveur pfSense à l'heure, il est nécessaire soit de le synchroniser avec un autre serveur NTP de référence (accessible via Internet), soit de lui ajouter une clé GPS afin qu'il se synchronise par satellite. Cette seconde solution offre généralement une meilleure précision sur le temps fourni et permet surtout d'être indépendant de tous serveurs NTP externes.

La solution GPS, généralement peu connue du grand public et des PME, est celle majoritairement adoptée par les Grands comptes et par les Datacenters.



Activer le service NTP et la clé GPS sur pfSense


La première étape consiste à activer le service NTP pour que pfSense joue le rôle de serveur NTP pour les équipements du réseau. Pour cela, nous nous rendons dans le menu Services > NTP :

Service > NTP - pfSense - Provya


Nous sommes redirigés par défaut sur l'onglet Settings. Les paramètres à configurer sont les suivants :

  • Interface : précise la ou les interfaces sur laquelle pfSense va agir en tant que serveur NTP. Dans notre exemple, nous choisissons les interfaces LAN et WIFI. Il est à noter que pour des raisons de sécurité, il ne faut pas rendre accessible par Internet le service NTP de pfSense.

  • Time Servers : la liste de serveurs NTP avec lesquels pfSense pourra se synchroniser. Après avoir installé la clé GPS, ces serveurs serviront de serveurs de secours en cas de panne ou de défaillance de la clé GPS. Dans notre cas, nous utilisons le pool de serveurs par défaut 0.pfsense.pool.ntp.org. Si vous choisissez d'autres serveurs NTP, veillez à ajouter un pool ou une liste d'au moins 4 ou 5 serveurs.

Il reste à cliquer sur le bouton "Save" en bas de page.

Exemple de résultat obtenu :

Configuration service NTP pfSense - Provya


Nous basculons sur l'onglet "Serial GPS". Les paramètres à configurer sont les suivants :

  • GPS Type : sélectionnez votre modèle de GPS s'il figure dans la liste. Dans notre cas, il n'apparaît pas, nous choisissons donc Default.

  • Serial Port : le port sur lequel le GPS est connecté. S'il s'agit d'un port série, le nom du port aura pour forme cuau (cuau0, cuau1, ...). S'il s'agit d'un port USB, le nom aura pour forme cuaU (cuaU0, cuaU1, ...). Dans notre cas, notre clé GPS étant connectée sur un port USB, nous choisissons cuaU0.

  • Fudge Time 2 : ce champ permet de préciser un offset pour notre clé GPS. Si votre GPS est branché sur un port série, il faut laisser ce champ vide. En revanche, si vous utilisez un GPS connecté sur un port USB, alors il est nécessaire de préciser un offset de 0,5 seconde afin de compenser la latence introduite par le port USB. Dans notre cas, notre clé GPS étant connectée sur un port USB, nous indiquons la valeur 0.5.

  • Flags : s'assurer que la case "Prefer this clock" soit bien cochée (par défaut).

Il reste à cliquer sur le bouton "Save" pour valider sa configuration et c'est tout ! Notre clé GPS est prête à fonctionner.

Exemple de résultat obtenu :

Configuration GPS service NTP pfSense - Provya




Vérifier le bon fonctionnement


Pour vérifier le bon fonctionnement du service NTP, se rendre dans le menu Status > NTP.

Exemple dans notre cas :

Status GPS service NTP pfSense - Provya


On peut voir que la clé GPS est le peer actif pour servir de référence de temps à pfSense.
On peut voir que le pool 0.pfsense.pool.ntp.org comporte bien plusieurs serveurs de temps joignables (4 sur la capture d'écran) prêts à prendre le relais en cas de problème avec la puce GPS.
On peut également voir la localisation (latitude et longitude) de sa clé GPS, avec un lien vers Google Maps.

Sur la capture d'écran suivante, on peut constater un problème avec la clé GPS (statut False Ticker) et qu'un serveur NTP tiers à pris le relais :

Status GPS - False Ticker service NTP pfSense - Provya


Cela arrive si votre clé GPS n'arrive pas à capter correctement le signal satellitaire ou si vous avez oublié de saisir un offset de 0,5 seconde pour un GPS connecté en USB.



Comment choisir sa clé GPS compatible pfSense


Pour le choix de sa clé GPS, il est indispensable de s'assurer que celle-ci soit compatible avec le logiciel pfSense et qu'elle dispose d'un câble suffisamment long. Ce qui n'est pas le cas de toutes les puces GPS...

Nous proposons sur notre boutique en ligne une clé GPS connectable en USB et 100% compatible avec les systèmes pfSense, FreeBSD et Linux. D'autres choix sont bien-sûr possibles. Il faut simplement s'assurer que la clé GPS choisie soit bien compatible.



Pour aller plus loin


[pfSense] Bien choisir et dimensionner son firewall
Tous nos articles classés par thème
Voir un article au hasard


Vous avez aimé cet article ? Vous cherchez un support professionnel ? Alors contactez-nous.

Retrouvez nos services et firewall pour pfSense


Formation pfSense     Formation OPNsense     Liste de filtrage des IP malveillantes     Firewall pro-Large pour pfSense et OPNsense     Firewall pro-Xtend pour pfSense et OPNsense     Firewall pro-Xtra-SFP+ pour pfSense et OPNsense    

store.provya.fr

icon Tags de l'article :

[pfSense] Configurer un cluster de 2 pfSense redondants (failover)

icon 02/10/2019 - 64 commentaires

English version: [pfSense] Configuring High Availability.

Dans cet article, nous allons voir comment configurer deux serveurs pfSense en mode cluster afin d'assurer un service en haute-disponibilité.

Il est à noter que pfSense est l'une des rares solutions open-source offrant des techniques de haute-disponibilité permettant de garantir que le firewall ne puisse pas être un point individuel de défaillance (SPOF).

Dans cet article, nous nous baserons sur l'architecture suivante pour réaliser nos configurations :

Schéma réseau pfSense redondants

pfSenseA - WAN : 172.25.46.101
pfSenseB - WAN : 172.25.46.102
@IP virtuelle - WAN : 172.25.46.100

pfSenseA - LAN : 192.168.0.11
pfSenseB - LAN : 192.168.0.12
@IP virtuelle LAN : 192.168.0.10



Principe de fonctionnement


pfSense communique sur les réseaux LAN & WAN avec ses adresses IP virtuelles ; il n'utilise jamais l'adresse IP assignée à son interface.
En cas de défaillance de pfSenseA (pfSense primaire), pfSenseB (pfSense secondaire) prend le relais sans aucune interruption de service. La bascule de pfSenseA vers pfSenseB est totalement transparente.

Afin d'assurer la réplication du serveur pfSenseA vers le serveur pfSenseB, 3 éléments doivent être configurés : CARP, pfsync et XML-RPC.


CARP


CARP (Common Address Redundancy Protocol) est un protocole permettant à plusieurs hôtes présents sur un même réseau de partager une adresse IP.

Ici, nous utilisons CARP afin de partager une adresse IP WAN et une adresse IP LAN sur nos serveurs pfSense.
C'est cette adresse IP virtuelle que pfSense va utiliser pour sa communication sur le réseau. Ainsi, en cas de défaillance du pfSense primaire (pfSenseA), le pfSense secondaire (pfSenseB) prendra le relais de manière transparente au niveau réseau (reprise de l'adresse IP virtuelle).


pfsync


pfsync est un protocole permettant de synchroniser entre deux serveurs pfSense l'état des connexions en cours (et de manière plus large entre deux serveurs exécutant le firewall Packet Filter). Ainsi, en cas de défaillance du serveur primaire, l'état des connexions en cours est maintenu sur le serveur secondaire. Il n'y a donc pas de coupure liée à la bascule des services du pfSenseA vers le pfSenseB.

Il est recommandé d'effectuer cette synchronisation sur un lien dédié entre les deux serveurs pfSense. À défaut, le lien LAN peut être utilisé.
La réplication peut se faire d'un serveur primaire vers un ou plusieurs autres serveur(s).


XML-RPC


XML-RPC est un protocole permettant la réplication de données d'un serveur vers un autre. Il est utilisé dans pfSense afin de répliquer la configuration du serveur primaire vers le serveur secondaire.
Pour garantir son bon fonctionnement, il est important qu'il utilise la même interface que celle utilisée par le protocole pfsync.



1. Configurer les adresses IP virtuelles


Afin de fonctionner, chaque serveur pfSense doit disposer d'une adresse IP sur son interface, ainsi qu'une adresse IP virtuelle qui sera partagée entre les deux serveurs pfSense. De ce fait, nous utilisons 3 adresses IP par réseau.

Pour configurer l'adresse IP virtuelle, se rendre dans "Firewall" > "Virtual IPs" :

menu Firewall Virtual IPs sous pfSense - Provya


Cliquer sur l'icône "+ Add" pour ajouter une adresse IP virtuelle.
Les éléments à configurer sont les suivants :
  • Type : ici, nous avons quatre possibilités :
  1. IP Alias
  2. CARP
  3. Proxy ARP
  4. Other
Nous choisissons "CARP". Nous ne rentrons pas ici dans le détail de l'usage de chaque option. Pour plus d'informations, nous vous invitons à lire l'article What are Virtual IP Addresses - EN.
  • Interface : l'interface sur laquelle la VIP doit être configurée. Nous configurons la première sur l'interface WAN, puis la seconde sur l'interface LAN.
  • Address(es) : l'adresse VIP et le masque du subnet de l'interface. Dans notre exemple : 172.25.46.100 et /24
  • Virtual IP Password : mot de passe permettant de sécuriser les échanges au sein du groupe d'hôtes se partageant la VIP. Ce mot de passe devra être re-saisi sur le pfSense secondaire.
  • VHID Group : Virtual Host Identifier. Un serveur peut faire parti de plusieurs groupes de VIP. Afin d'identifier chaque groupe, un ID unique lui est assigné. Nous laissons la valeur par défaut.
  • Advertising Frequency : la valeur du champ "Skew" à 0 désigne le master (pfSense primaire). Une valeur plus élevée désignera l'esclave (pfSense de secours). La valeur de "Base" correspond au timeout en seconde au bout duquel l'hôte sera considéré comme inaccessible. Nous recommandons de laisser la valeur par défaut : 1.

Exemple de résultat obtenu :

Configuration adresse IP virtuelle CARP pfSense


Nous procédons à la même configuration sur l'interface LAN.
Enfin, nous réalisons les mêmes configurations sur les interfaces WAN et LAN du serveur de secours (pfSenseB), en pensant bien à passer la valeur du champ "Skew" à 1.

Nous pouvons vérifier l'état de nos adresses IP virtuelles depuis le menu "Status"> "CARP (failover)" :

menu Status > CARP (failover) - pfSense



Dans le cas présent, les deux adresses VIP créées ont bien le statut "master" sur le pfSenseA :

Statut des adresses VIP pfSense




2. Forcer l'utilisation des adresses IP virtuelles


Les adresses VIP sont déclarées, mais non-utilisées. Il reste à configurer pfSense pour qu'il utilise les adresses VIP plutôt que les adresses IP attribuées à ses interfaces logiques.
Pour cela, nous devons configurer pfSense pour qu'il utilise l'adresse VIP WAN sur le trafic sortant, l'adresse VIP LAN pour le trafic entrant et configurer les différents services pour qu'ils travaillent avec l'adresse VIP LAN comme adresse par défaut (pour les configuration OpenVPN ou DHCP, par exemple).


Configuration du NAT


Nous allons dans le menu Firewall > NAT. Dans l'onglet Outbound, nous cochons la case "Hybrid Outbound NAT rule generation. (Automatic Outbound NAT + rules below)".
Nous modifions les règles ou en ajoutons une afin que le trafic sortant utilise l'adresse VIP. Les champs à configurer sont les suivants :
  1. Disabled : cocher cette case pour désactiver la règle sans devoir la supprimer.
  2. Do not NAT : cocher cette case permet de désactiver le NAT pour le trafic correspondant à cette règle. Il est très rare de devoir cocher cette case.
  3. Interface : l'interface logique sur laquelle nous souhaitons définir notre règle de NAT. Dans notre cas, nous choisissons "WAN".
  4. Protocol : les protocoles concernés par cette règle de NAT. Nous choisissons "any"
  5. Source : le réseau source. Dans notre cas, il s'agit du réseau local, nous saisissons donc "192.168.0.0" et "/24" pour le masque.
  6. Destination : le réseau de destination. Dans notre cas, nous choisissons "any".
  7. Address : l'adresse à utiliser lors du NAT. Nous choisissons l'adresse VIP créée précédemment, soit "172.25.46.100 (VIP WAN)".
  8. Port : nous laissons ce champ vide.
  9. No XMLRPC Sync : cocher cette case pour ne pas copier la règle sur le pfSense secondaire. Nous laissons cette case non-cochée.
  10. Description : un champ informatif

Exemple de résultat obtenu :

Configuration règle de NAT sortant


Cette configuration n'est à faire que sur le pfSense primaire. La configuration sera dupliquée automatiquement sur le pfSense secondaire.


Configuration du service DHCP


Si pfSense fait office de serveur DHCP, nous allons dans le menu "Services" > "DHCP Server". Nous modifions le champ "Gateway" pour y préciser l'adresse VIP (192.168.0.10). Autrement, le serveur DHCP de pfSense va continuer à indiquer aux clients du service DHCP l'adresse IP de l'interface LAN du pfSense.
Nous pouvons également compléter le champ "Failover peer IP" en renseignant l'adresse IP de l'interface LAN du pfSense secondaire (192.168.0.12). Cette configuration optionnelle permet de partager les leases DHCP entre le pfSense primaire et le pfSense secondaire.
Attention, si ce champ est renseigner, il est nécessaire de modifier la valeur du "skew" du pfSense secondaire pour le passer à un nombre supérieur à 20.

Davantage d'informations sur la configuration du service DHCP : [pfSense] Configurer son serveur DHCP.


Configuration du service OpenVPN server


Si un serveur OpenVPN est configuré sur le pfSense, il est nécessaire de modifier l'interface d'écoute du service (normalement "WAN") pour la remplacer par l'adresse VIP (172.25.46.100).
Cette modification s'opère dans "VPN" > "Servers".

Davantage d'informations sur la configuration du service OpenVPN : [pfSense] Monter un accès OpenVPN site-à-site.


Configuration du service VPN IPsec


Si un tunnel IPsec est configuré sur le pfSense, il est nécessaire de modifier l'interface d'écoute du VPN IPsec (normalement "WAN") pour la remplacer par l'adresse VIP (172.25.46.100).
Cette modification s'opère dans "VPN" > "IPsec". La modification s'effectue sur la phase 1.

Davantage d'informations sur la configuration du service VPN IPsec : [pfSense] Configurer un VPN IPsec site à site.



3. Configurer la haute-disponibilité


Il nous reste à configurer la haute-disponibilité. Pour cela, se rendre dans "System" > "High Avail. Sync" :

menu System > High Avail. Sync - pfSense


Depuis cette page, il y a 2 éléments à configurer : la partie pfsync (pour la synchronisation d'état) et XMLRPC Sync (pour la synchronisation de la configuration).


State Synchronization Settings (pfsync)


Les éléments à configurer sont les suivants :
  • Synchronize States : cocher cette case pour activer pfsync (cette configuration est à faire sur le pfSense primaire et sur le pfSense secondaire)
  • Synchronize Interface : l'interface de synchronisation. Si nous disposons d'une interface dédiée à la synchronisation, nous la choisissons ; autrement, nous choisissons "LAN".
  • pfsync Synchronize Peer IP : sur le pfSense primaire, saisir l'adresse IP du serveur pfSense de secours (192.168.0.12). Si pour le choix de l'interface (ci-dessus) nous avons choisi "LAN", nous indiquons l'adresse IP de l'interface LAN du pfSense secondaire (192.168.0.12) ; si nous avons choisi une interface dédiée alors nous indiquons l'adresse IP de l'interface dédiée du pfSense secondaire. Par défaut, si aucune adresse IP n'est saisie, pfSense diffusera en multicast sur l'interface choisie préalablement. Sur le pfSense secondaire, on indique l'adresse IP du pfSense primaire (192.168.0.11)


Configuration Synchronization Settings (XMLRPC Sync)


  • Synchronize Config to IP : sur le serveur pfSense primaire, saisir l'adresse IP du serveur pfSense secondaire (comme précédemment, il faut saisir l'adresse IP de l'interface choisie). Ce doit être la même adresse IP que celle renseignée dans le champ "pfsync Synchronize Peer IP". Ce champ doit être laissé vide sur le serveur pfSense secondaire.
  • Remote System Username : sur le serveur pfSense primaire, saisir le nom d'utilisateur utilisé pour se connecter sur le WebGUI du pfSense de secours ("admin" par défaut). Ce champ doit être laissé vide sur le serveur pfSense de secours.
  • Remote System Password : sur le serveur pfSense primaire, saisir le mot de passe du compte utilisateur saisi ci-dessus. Ce champ doit être laissé vide sur le serveur pfSense de secours.

Puis, nous choisissons les services que nous souhaitons synchroniser en cochant les cases appropriées. Par défaut, nous recommandons de tout cocher (Toggle All).

Exemple de résultat obtenu :

Configuration de la haute-disponibilité sous pfSense



Autoriser les flux de réplication au niveau des règles du firewall


Il nous reste à autoriser les flux de réplications sur les firewall. La configuration se passe dans "Firewall" > "Rules".
Si la réplication se fait via l'interface LAN, les règles de firewall sont à appliquer sur cette interface ; si nous utilisons une interface dédiée, les règles seront à appliquer sur celle-ci.

Il y a deux flux réseau à autoriser :
  • le flux pour la synchronisation XML-RPC qui s'effectue via le port 443
  • le flux pour la synchronisation du protocole pfsync

Sur le firewall primaire, nous créons donc une première règle de firewall (en cliquant sur le bouton "Add") avec les paramètres suivants :
  • Action : nous choisissons "Pass"
  • Interface : nous choisissons l'interface dédiée à la réplication si le pfSense en possède une. Autrement, nous choisissons "LAN"
  • Address Family : nous laissons "IPv4"
  • Protocol : nous choisissons "TCP"
  • Source : nous indiquons un alias qui contiendra les adresses IP des interfaces de synchronisation de chaque pfSense (dans notre cas, cet alias contiendra les adresses IP "192.168.0.11" et "192.168.0.12"). Si cette notion d'alias n'est pas claire pour vous, vous pouvez consulter notre article dédié [pfSense] Tout comprendre aux alias, ou vous pouvez choisir l'ensemble du réseau rattaché à l'interface de synchronisation (dans notre cas, ce serait "LAN net")
  • Destination : nous choisissons "This firewall (self)"
  • Destination port range : choisir "HTTPS (443)"

Exemple de résultat obtenu :

Règle de firewall autorisant la réplication


Sur le firewall primaire toujours, nous créons une seconde règle de firewall avec les paramètres suivants :
  • Action : nous choisissons "Pass"
  • Interface : nous choisissons l'interface dédiée à la réplication si le pfSense en possède une. Autrement, nous choisissons "LAN"
  • Address Family : nous laissons "IPv4"
  • Protocol : nous choisissons "PFSYNC"
  • Source : nous indiquons un alias qui contiendra les adresses IP des interfaces de synchronisation de chaque pfSense (dans notre cas, cet alias contiendra les adresses IP "192.168.0.11" et "192.168.0.12"). Si cette notion d'alias n'est pas claire pour vous, vous pouvez choisir l'ensemble du réseau rattaché à l'interface de synchronisation (dans notre cas, ce serait "LAN net")
  • Destination : nous choisissons "This firewall (self)"

Exemple de résultat obtenu :

Règle de firewall autorisant le protocole pfsync


Ces deux règles de firewall ont été répliquées automatiquement sur le pfSense secondaire.



4. Vérifier le bon fonctionnement de la haute-disponibilité


L'ensemble doit, à ce stade, être opérationnel. Vérifions !


Vérifier le statut du CARP (adresse VIP)


Nous pouvons vérifier l'état de nos adresses IP virtuelles depuis le menu "Status"> "CARP (failover)" :

menu Status > CARP (failover)


Les adresses VIP doivent avoir le statut "MASTER" sur le pfSense primaire et "BACKUP" sur le pfSense secondaire.


Vérifier la réplication


Nous pouvons naviguer dans le menu "Firewall" > "Rules" et "Firewall" > "NAT" et vérifier que les règles créées sur le pfSense primaire sont bien présentes également sur le pfSense secondaire.


Faire des tests !


Avant toute chose, à ce stade, il est important de faire une sauvegarde de vos serveurs pfSense ("Diagnostics" > "Backup & Restore").

Ensuite, pour tester le bon fonctionnement de la haute-disponibilité, plusieurs tests peuvent être réalisés. En voici quelques exemples :
  • arrêter le pfSense primaire
  • débrancher le câble réseau de l'interface LAN ou WAN du pfSense primaire
  • désactiver le service CARP sur le pfSense primaire ("Status" > "CARP (failover)")
  • télécharger un fichier ou lancer des requêtes ping lors de la bascule du primaire vers le secondaire



Pour aller plus loin


[pfSense] Comprendre la gestion des interfaces réseaux
[pfSense] Configurer son serveur DHCP
[pfSense] Tout comprendre aux alias
[pfSense] Mettre à jour son serveur pfSense
[pfSense] Monter un accès OpenVPN site-à-site
[pfSense] Configurer un dual-WAN (plusieurs connexions Internet)
Tous nos articles classés par thème
Voir un article au hasard


Vous avez aimé cet article ? Vous cherchez un support professionnel ? Alors contactez-nous.

Retrouvez nos services et firewall pour pfSense


Formation pfSense     Formation OPNsense     Liste de filtrage des IP malveillantes     Firewall pro-Large pour pfSense et OPNsense     Firewall pro-Xtend pour pfSense et OPNsense     Firewall pro-Xtra-SFP+ pour pfSense et OPNsense    

store.provya.fr

icon Tags de l'article :

[pfSense] Faire un pont réseau (bridging) entre deux interfaces

icon 01/10/2019 - Aucun commentaire

English version: [pfSense] Bridging interfaces

Dans son mode de fonctionnement par défaut, chaque interface de pfSense dispose de son propre plan d'adressage qui doit être unique.

Il est parfois nécessaire de disposer du même plan d'adressage sur plusieurs interfaces. C'est pratique pour disposer d'un seul sous-réseau pour son LAN et son Wi-fi, pour disposer du même réseau multicast ou encore pour mettre en place un firewall transparent sur un réseau sans avoir à modifier le plan d'adressage existant (en faisant un pont entre l'interface LAN et WAN, par exemple).

Il est très facile de mettre en œuvre un pont réseau entre plusieurs interfaces sur pfSense et de continuer à disposer, si on le souhaite, de règles de filtrage entre ces interfaces.

Dans cet article nous configurerons un pont réseau entre notre interface LAN et notre interface Wi-fi. Ainsi, ces deux interfaces disposeront du même plan d'adressage IP et du même domaine de broadcast.



1. Préparation des interfaces membres du pont-réseau


Chaque interface que nous souhaitons ajouter à notre pont réseau doit être créée et ne pas avoir d'adresse IP. Ce point est important. Ainsi, si nous souhaitons ajouter notre interface LAN à un pont réseau, il est indispensable de faire les configurations depuis une autre interface (depuis l'interface WAN, par exemple, sur laquelle nous aurons temporairement autorisé l'accès à l'interface d'administration du pfSense).

Exemple de configuration pour les interfaces LAN et WIFI :

Configuration des interfaces LAN et WIFI pour un bridge - pfSense - Provya


Pour rappel : [pfSense] Configurer son point d'accès Wi-Fi



2. Configuration du pont-réseau


Une fois ces deux éléments de configuration réalisés, nous nous rendons dans le menu Interfaces > Assignments, puis onglet Bridges :


Menu Interfaces > Assignments > Bridges - pfSense - Provya


Nous cliquons sur le bouton "+Add". La configuration est la suivante :

  • Member Interfaces : les interfaces membres du pont-réseau. Dans notre cas, LAN et WIFI
  • Description : une description facultative
  • Advanced Options : suivant votre configuration, il peut être pertinent d'activer le protocole Spanning Tree (RSTP/STP). Pour un pont entre un réseau filaire et sans-fil, cela n'est pas forcément nécessaire. Dans notre cas, nous ne modifions pas les options avancées.

Exemple de résultat obtenu :

Création d'une interface bridge - pfSense - Provya


Nous cliquons sur le bouton "Save" pour valider notre configuration. Et notre port réseau BRIDGE0 est créé. Il nous reste à lui associer une interface logique afin de pouvoir le configurer (pour rappel, pour bien comprendre la différence entre ports réseaux, interfaces logiques, interfaces virtuelles, etc. vous pouvez consulter notre article dédié : [pfSense] Comprendre la gestion des interfaces réseaux.

Nous retournons dans l'onglet Interface Assignments, puis nous cliquons sur le bouton "+Add" après avoir pris soin de sélectionner notre interface BRIDGE0 :

Associer une interface à un pont réseau sous pfSense - Provya


Il nous reste à configurer cette interface en lui précisant son adresse IP et en lui donnant un nom.
Exemple de résultat obtenu :

Configurer son interface sous pfSense - Provya


Point d'attention : vous pouvez remarquer que sur la capture d'écran, nous avons configuré le champ "MAC Address". La raison est que si ce champ est laissé vide, l'adresse MAC d'une interface "pont-réseau" est générée aléatoirement à la création de l'interface et lors du redémarrage du firewall. Le problème est que les ordinateurs qui tournent sous un Windows récent (Vista et suivants) utilisent l'adresse MAC de la gateway comme identifiant du réseau. Ainsi, si l'adresse MAC change, les ordinateurs Windows estimeront qu'il s'agit d'un nouveau réseau et demanderont à leurs utilisateurs de le paramétrer en précisant s'il s'agit d'un réseau privé/public/etc. En forçant l'adresse MAC, nous évitons ce problème.

Notre pont-réseau est créé. La configuration des services devra être effectuée pour cette interface (dans notre cas "LANFI") : DHCP, firewall, DNS, NTP, etc.

Il reste une dernière subtilité importante : le filtrage.



3. Configuration du filtrage (subtilité à connaître)


Par défaut, pfSense applique les règles de filtrage uniquement sur les interfaces des membres du pont-réseau et non pas sur l'interface du pont-réseau elle-même.

Cela signifie que, dans notre cas, par défaut, uniquement les règles de filtrage définies sur les interfaces LAN et WIFI sont prises en compte par pfSense. Les règles que nous pourrions créer sur l'interface LANFI seront ignorées !

Ce comportement par défaut permet d'avoir des règles de filtrages différentes pour chaque interface membre du pont.
Il est possible de modifier ce comportement afin que les règles de filtrage définies sur l'interface du pont-réseau soient prises en compte.
Cette modification s'opère depuis le menu System > Advanced, onglet System Tunables :

Menu System > Advanced - onglet System Tunables - pfSense - Provya


  • le paramètre net.link.bridge.pfil_member : active le filtrage sur l'interface de chaque membre du pont-réseau lorsqu'il est positionné à 1
  • le paramètre net.link.bridge.pfil_bridge : active le filtrage sur l'interface du pont-réseau lui-même lorsqu'il est positionné à 1

règles de filtrage pour bridge - pfSense - Provya


Il faut donc positionner la valeur du paramètre net.link.bridge.pfil_bridge à 1 si nous souhaitons appliquer nos règles de filtrage sur l'interface du pont-réseau.

Enfin, il faut garder en tête que seul le pont-réseau dispose d'une adresse IP sur son interface. Ainsi si nous souhaitons appliquer des règles de filtrages directement sur chaque interface membre du pont, nous pouvons travailler avec les valeurs LANFI_net et LANFI_address, mais pas LAN_net, WIFI_net, LAN_address et WIFI_address (car celle-ci ne sont pas définies).



4. Les limites


Il existe quelques limites à l'utilisation d'un pont-réseau sous pfSense. Les principales limites ou contraintes sont les suivantes :

Portail captif


Pour que le portail captif fonctionne correctement, il est important que la passerelle par défaut des clients soit l'adresse IP de l'interface du pont-réseau. Ainsi, il n'est pas possible de mettre en œuvre un portail captif sur un pfSense où le LAN et le WAN seraient liés en un pont-réseau.


Haute-disponibilité


Il est plutôt déconseillé d'utiliser des pont-réseaux dans un environnement en haute-disponibilité. Cela peut créer des dysfonctionnements ou des boucles réseaux. Si vous souhaitez absolument utiliser un environnement pfSense en haute-disponibilité avec des pont-réseaux, il est indispensable que le protocole Spanning Tree soit activé sur vos switch et sur le pont-réseau.


Multi-WAN


Comme pour le portail captif, il faut s'assurer que la passerelle par défaut des clients soit l'adresse IP de l'interface du pont-réseau. Autrement, vous risquez de rencontrer un problème de routage asymétrique.


Proxy transparent


Idem. Il faut s'assurer que la passerelle par défaut des clients soit l'adresse IP de l'interface du pont-réseau. De plus, un package comme Squid ne peut pas fonctionner dans un scénario de firewall transparent où les interfaces LAN et WAN sont liées sur un même pont-réseau.


Voilà ! Notre pont réseau est fonctionnel et vous connaissez les subtilités à connaître pour sa configuration.



Pour aller plus loin


[pfSense] Configurer son point d'accès Wi-Fi
[pfSense] Comprendre la gestion des interfaces réseaux
Tous nos articles classés par thème
Voir un article au hasard


Vous avez aimé cet article ? Vous cherchez un support professionnel ? Alors contactez-nous.

Retrouvez nos services et firewall pour pfSense


Formation pfSense     Formation OPNsense     Liste de filtrage des IP malveillantes     Firewall pro-Large pour pfSense et OPNsense     Firewall pro-Xtend pour pfSense et OPNsense     Firewall pro-Xtra-SFP+ pour pfSense et OPNsense    

store.provya.fr

icon Tags de l'article :