Installation & Configuration pfSense sous VirtualBox

Le firewall pfSense est un routeur/pare-feu open source basé sur le système d’exploitation FreeBSD. Il a pour but d’assurer la sécurité périmétrique. Il comporte l’équivalent libre des outils et services utilisés habituellement sur des routeurs professionnels propriétaires. Nous allons voir commenter installer et configurer pfSense sous VirtualBox.

En plus du pare-feu, il offre de nombreuses fonctionnalités comme par exemple :

  • Serveur DHCP
  • Serveur DNS
  • Translation d’adresses (NAT)
  • Portail captif
  • VPN IPsec, OpenVPN
  • Authentification RADIUS
  • Et bien plus…

Création de la VM pfSense avec 3 interfaces réseaux :Full Install pfSense Pixelabs

  • Interface WAN
  • Interface LAN 
  • Interface DMZ

Ce qu’il vous faut :

Disponible également sous VMware WorkStation Pro 144 Interfaces LAN-Segments : Cliquez ici

Création de Machine Virtuelle

Lancez Oracle VM VirtualBox et cliquez sur Nouvelle :

  • Nom : pfSense
  • Type : BSD
  • Version : FreeBSD (64-bit)
  • Taille de la mémoire : 1024 Mo
  • Disque dur
    • Cochez : Créer un disque virtuel maintenant
    • Type de fichier : VDI (Image Disque VirtuelBox)
    • Stockage : Dynamiquement alloué
    • Choisir l’emplacement du fichier
    • Choisir la taille de votre disque dur virtuel : 8 Go 
  • Créer 
  • Configuration < Menu : Machine / Configuration…>
    • Réseau
    • Carte 1 : Activer la carte réseau 
      • Mode d’accès réseau : Accès par pont (WAN)
      • Nom : Ethernet (Realtek PCIe….) , ou carte Wifi
      • Avancé :
        • Type de carte : Intel PRO/1000 MT Desktop
        • Mode Promiscuité : Tout autoriser
    • Stockage
      • Sous le contrôleur IDE (vide) : Sélectionner l’ISO pfSense
    • Démarrer 

    Installation de pfSense

    Au démarrage de la VM, l’installation se lance automatiquement après quelques secondes :

    Installation machine virtuelle pfSense

    • La page pfSense Installer s’affiche : appuyez sur Entrée pour accepter la licence
    • Appuyez sur Entrée

    Install pfSense Virtual Machine

    • Avec les flèches clavier, cherchez : French ISO-8859-1
    • Appuyez sur Entrée pour valider le choix
    • Montez d’un cran pour sélectionnez Continue with fr.iso.kbd keymap et Entrée
    • Partitioning : Auto (UFS) : Entrée
    • Manual Configuration, laissez sur No : Entrée
    • Complete, Reboot : Entrée
    • Dans la foulée, menu Périphériques > Lecteurs optiques > Ejecter le disque du lecteur virtuel
    • Menu : Machine > Redémarrage

    Une fois la machine redémarrée :

    Should VLANs be set up now [y|n]? n <Entrée>

    Enter the WAN interface name or ‘a’ for auto-detection (em0 or a) : em0 <Entrée>

    Remarque : le clavier est en QWERTY, la lettre “m” c’est la touche “,?”

    Enter the LAN interface name or ‘a’ for auto-detection (a or nothing if finished) : <Entrée>

    pfSense Interfaces Settings

    Do you want to proceed [y|n]: y <Entrée>

    Le menu pfSense s’affiche. Arrêtez la VM en appuyant sur : 6 <Entrée et confirmer>

    Halt pfSense System

    Assignation des Interfaces

    Allez dans les paramètres de la VM sous Virtualbox : Configuration > Réseau :

    • Carte 2 : Activer la carte réseau
      • Mode d’accès réseau : Réseau interne (LAN)
      • Nom : tapez  LAN 
      • Avancé :
        • Type de carte : Intel PRO/1000 MT Desktop
        • Mode Promiscuité : Tout autoriser
    • Carte 3 : Activer la carte réseau
      • Mode d’accès réseau : Réseau interne (DMZ)
      • Nom : tapez DMZ
      • Avancé :
        • Type de carte : Intel PRO/1000 MT Desktop
        • Mode Promiscuité : Tout autoriser
    • Valider et démarrez la VM

    Affectez les interfaces en appuyant sur la touche 1 : Assign Interfaces

    Assign Interfaces on pfSense

    Should VLANs be set up now [y|n]? n <Entrée>

    WAN :

    Enter the WAN interface name or ‘a’ for auto-detection (em0 or a) : em0 <Entrée>

    LAN :

    Enter the LAN interface name or ‘a’ for auto-detection (em1 em2 a or nothing if finished) : em1 <Entrée>

    DMZ :

    Enter the Optional 1 interface name or ‘a’ for auto-detection (em2 a or nothing if finished) : em2 <Entrée>

    WAN LAN DMZ Interfaces pfSense

    Do you want to proceed [y|n]: y <Entrée>

    Nous allons maintenant configurer le réseau.

    Configuration IP WAN

    Et pour finir, il faut configurer le réseau pour chaque interface. WAN est en DHCP, mettez une adresse IP fixe.

    • Appuyez sur 2 pour Set Interface(s) IP address
    • Choisir WAN : 1 <Entrée>

    Enter the number of the interface you wish to configure: 1
    Configure IPv4 address WAN interface via DHCP? (y/n) n
    Enter the new WAN IPv4 address. Press <ENTER> for none:
    > 192.168.1.60
    Subnet masks are entered as bit counts (as in CIDR notation) in pfSense.
       e.g. 255.255.255.0 = 24
       255.255.0.0   = 16
       255.0.0.0     = 8
    Enter the new WAN IPv4 subnet bit count (1 to 31):
    > 24
    For a WAN, enter the new WAN IPv4 upstream gateway address.
    For a LAN, press <ENTER> for none:
    > 192.168.1.254
    Configure IPv6 address WAN interface via DHCP6? (y/n) n
    Enter the new WAN IPv6 address. Press <ENTER> for none:
    > <ENTRÉE>
    Do you want to revert to HTTP as the webConfigurator protocol? (y/n) y
       Please wait while the changes are saved to WAN…
       Reloading filter…
       Reloading routing configuration…
       DHCPD…
       Restarting webConfigurator…
    The IPv4 address has been set to 192.168.1.60/24
    Press <Enter> to continue. <ENTRÉE>

    Configuration IP LAN

    Configuration réseau pour l’interface LAN

    • Appuyez sur 2 pour Set Interface(s) IP address
    • Choisir LAN : 2 <Entrée>

    Enter the number of the interface you wish to configure: 2
    Enter the new LAN IPv4 address. Press <ENTER> for none:
    > 172.16.1.1
    Subnet masks are entered as bit counts (as in CIDR notation) in pfSense.
       e.g. 255.255.255.0 = 24
       255.255.0.0 = 16
       255.0.0.0 = 8
    Enter the new LAN IPv4 subnet bit count (1 to 31):
    > 16
    For a WAN, enter the new LAN IPv4 upstream gateway address.
    For a LAN, press <ENTER> for none:
    > <ENTRÉE>
    Enter the new LAN IPv6 address. Press <ENTER> for none:
    > <ENTRÉE>
    Do you want to enable DHCP server on LAN? (y/n) n
       Please wait while the changes are saved to LAN…
       Reloading filter…
       Reloading routing configuration…
       DHCPD…
       The IPv4 LAN address has been set to 172.16.1.1/16
    You can now access the webConfigurator by opening the following URL in your web
    browser:
                   http://172.16.1.1/
    Press <ENTER> to Continue. <ENTRÉE>

    L’interface web de pfSense est accessible à l’adresse http://172.16.1.1/ avec les ID par défaut suivant : user : admin – password : pfsense 

    Configuration IP OPT1 (DMZ)

    Configuration réseau pour l’interface LAN

    • Appuyez sur 2 pour Set Interface(s) IP address
    • Choisir (OPT1) DMZ : 3 <Entrée>

    Enter the number of the interface you wish to configure: 3
    Enter the new OPT1 IPv4 address. Press <ENTER> for none:
    > 10.0.0.1
    Subnet masks are entered as bit counts (as in CIDR notation) in pfSense.
       e.g. 255.255.255.0 = 24
       255.255.0.0 = 16
       255.0.0.0 = 8
    Enter the new OPT1 IPv4 subnet bit count (1 to 31):
    > 8
    For a WAN, enter the new OPT1 IPv4 upstream gateway address.
    For a LAN, press <ENTER> for none:
    > <ENTRÉE>
    Enter the new OPT1 IPv6 address. Press <ENTER> for none:
    > <ENTRÉE>
    Do you want to enable DHCP server on OPT1? (y/n) n
       Please wait while the changes are saved to OPT1…
       Reloading filter…
       Reloading routing configuration…
       DHCPD…
    The IPv4 OPT1 address has been set to 10.0.0.1/8
    Press <ENTER> to Continue.<ENTRÉE>

    Nous avons les 3 interfaces :

    Test PING WAN interface pfSense

    Si vous souhaitez rajouter une nouvelle interface, il suffit d’activer/rajouter une carte réseau dans VirtualBox ou VMware WorkStation puis de redémarrer pfSense. Assigner ensuite la nouvelle interface et configurer son réseau comme ci-dessus.

    Mise à jour pfSense

    Vous pouvez mettre à jour pfSense directement depuis la console.

    Remarque : n'oubliez pas de faire une sauvegarde avant la mise à jour. Soit en exportant la VM soit, un faire un SnapShot)

    • Choisir l’option 13 : Update from console

    C’est terminé. Bonne journée et à bientôt.

     
    Besoin d’aide ? des questions ?

    Venez sur le forum
    logo Forum Pixelabs
    ***********
    La rédaction de cette documentation demande beaucoup de temps, de motivation, mais surtout beaucoup de café 🙂

    Vous aimez pixelabs ?

    Offrez moi un petit café en cliquant sur la tasse ci-dessous.
    pixelans_donation
    Merci !

    26 réponses

    1. altr dit :

      Bonjour,
      Tout d’abord merci pour ce tutoriel très bien réalisé et détaillé.
      Je suis sur VirtualBox en suivant votre tuto je bute sans arrêt sur les mêmes problèmes, à savoir :
      “route : writing to routing socket : Network is unreachable
      route : route has not been found” après l’ajout des deux cartes réseaux supplémentaires.
      Quand je ping google.fr j’ai le message “ping : cannot resolve google.fr : Host name lookup failure”

      Merci d’avance,
      Bien cordialement

      • sysadmin dit :

        Salut,
        Beaucoup de personnes ont eu ce problème récemment et je ne comprends pas pourquoi.
        Je peux y jeter un coup d’oeil à distance ?
        Si c’est possible envoie moi un mail : sysadmin[at]pixelabs.fr
        -sysadmin.

    2. Nilsson dit :

      Bonjour,
      Tout d’abord merci pour ce tutoriel très bien réalisé et détaillé, et ce pour les deux solutions, VirtualBox et VMWare.
      J’aurais cependant une question à poser, adepte de VirtualBox en suivant votre tuto je bute sans arrêt sur les mêmes problèmes, à savoir :
      “route : writing to routing socket : Network is unreachable
      route : route has not been found” après l’ajout des deux cartes réseaux supplémentaires.
      Ensuite, impossible d’ouvrir le webConfigurator depuis mon hôte Windows ou une autre VM, de toutes façons quand je ping google.fr j’ai le message “ping : cannot resolve google.fr : Host name lookup failure”
      J’ai même installé VMWare Workstation puis suivi votre tuto en prenant bien en compte la config réseau de l’hôte mais j’ai exactement les deux mêmes problèmes.
      Auriez-vous une idée du souci?
      Merci d’avance,
      Bien cordialement

      • sysadmin dit :

        Salut Nilsson,
        Il s’agit surement d’un problème de configuration de ton réseau.
        Je peux essayer à distance, si c’est possible, envoie moi un mail : sysadmin[at]pixelabs.fr
        Bonne journée.

        Edit :
        Problème résolu à distance.
        -sysadmin.

        • Nilsson dit :

          Bonjour Sysadmin,

          Je vous remercie pour votre intervention très claire, assortie d’une prise de notes que je vais conserver !

          Bonne journée et merci encore, tout fonctionne !

    3. Jikko12 dit :

      Bonjour,

      Voila très bon tutoriel il en faudrait beaucoup plus comme ceux que vous faites.
      dans le but de créer un captive portal sous windows 2016 server (arrêté au point 2.4.4 lors de la config pfsense) (votre tutoriel que j’ai suivi d’ailleurs) je configure un pfsense du coup me voici ici.
      Les configurations réseaux sont semblables aux votre mais lors du ping vers google.fr ou .com peut importe, les trames se perdent et ne me repondent pas, “cannot resolve google.com: Host name lookup failure” donc je me dis que j’ai un problème de dns… (j’ai bel et bien accès à internet sur ma machine physique)
      lors d’un ping 8.8.8.8 les packets sont perdus donc pas une histoire que de dns tout ca … :/

      avez vous une idee?

      Edit :

      Il me semble que vu que l’adresse wan n’influencera en rien les manips suivantes je me suis permis de la configurer en dhcp pour l’ipv4 ce qui me permets d’avoir une adresse de type 10.0.2.15/24 . si cela a une quelconque influence pour la suite de la manip (captive portal windows 2016 server, ou puis changer la range dans laquelle je peux set l’adresse donnée ? pour pouvoir set une adresse de type 192.168.1.60/24 à mon wan)

      • sysadmin dit :

        Salut Jikko12,
        Si tu as activé le DHCP sur l’interface WAN et que celle-ci obtient l’adresse 10.0.2.15/24, tu ne peux pas mettre 192.168.1.60 à l’interface WAN.
        Il faut que ce soit 10.0.2.XX/24
        Pour l’interface LAN, tu peux choisir n’importe quelle classe.

        Voici un exemple, admettons que le réseau de ta machine physique est le suivant :

        IP : 10.0.2.5
        Mask : 255.255.255.0
        Passerelle : 10.0.2.240
        DNS : 10.0.2.240, 8.8.8.8

        Voici la configuration de l’interface WAN pfSense :

        IP : 10.0.2.15 (cette adresse ne doit pas être utilisée par une autre machine, sinon choisir une autre : 10.0.2.XX)
        Mask : 255.255.255.0  (le même que ta machine physique)
        Passerelle : 10.0.2.240 (la même que ta machine physique)
        DNS : 10.0.2.240 (le même que ta machine physique)

        Voici la configuration de l’interface LAN pfSense : tu peux choisir n’importe quelle classe réseau. Exemple :

        192.168.1.1
        255.255.255.0

        J’espère que j’ai répondu à ta question.
        bonne journée,
        -sysadmin.

        • jikko12 dit :

          ok nickel merci , c’est bien ce qu’il me semblais .. par contre je ne sais pas si cela relève de ce tutoriel ou de l’autre (captive portal w2016 server) mais lorsque mon LAN-2 (Wifi qui s’appelle toujours opt1 chez moi j’ai pas trop compris pourquoi d’ailleurs) est crée et la manip faite lors de l’ipconfig /release sur le client w7 la commande ne veut pas relacher mon ip et me dit qu’aucune ip n’est set alors que le client a son interface reseau interne LAN-2 config en dhcp. lors du ipconfig renew cela mets une plombe pour qu’au final rien ne se passe j’ai comme l’impression que mon serveur dhcp sous pfsense ne réagit pas comme il le devrait alors que le tutoriel à été suivit à
          la lettre il me semble 🙂

          je penses egalement que le fait que mon client ne soit pas sur le meme domaine soit un problème, mais comment faire ? je l’ai deja fait a l’époque mais plus aucun souvenir de cela…. il me semble que le client doit avoir un nom particulier mais lequel ? car quand j’essayes de changer de domaine celui-ci me donne un message d’erreur …

          • sysadmin dit :

            Il faut s’assurer que la carte réseau de ton client w7 est bien connectée sur LAN-2 (sous Virtualbox)
            et que le service DHCP est bien activé pour l’interface LAN-2.
            Il n’y a pas besoin de domaine ni de nom particulier.

    4. diouf dit :

      Salut je suis novice j ai installer pfsense comme vous l avez expliquer sur ce tuto le seul problème est que je n arrive pas a me connecter dans linterface 172.16.1.1
      j utilise un flybox pfsense a bloquer tous les connexions il a fallut que j eteint la machine virtuelle pour que linternet reviens

    5. lolo dit :

      bonjour,
      Pour le test j’utilise opensense, j’ai configurer les interface wan et lan comme sur votre tutaux, en revanche j’ai changé les ip, et n’utilise pas de DMZ pour le moment, je fais au plus simple car je suis plus que novice.
      WAN 10.40.2.3/24
      LAN 192.168.1.1/24
      Mais je ne comprend pas 2 choses:
      1 lorsque l’on parametre les interfaces (mode acces reseau) dans Virtual box, en mode interne pour le LAN, que cela veut il dire?
      2 J’ai 2 cartes reseau une nommer WAN avec IP 10.40.0.1 en dhcp et l’autre non connecter.Vous n’avez pas parlez de la config ip de la carte reseau physique, doit t’elle etre en DHCP ou static, et quel adresse doit elle avoir?
      Ce que moi je pensais faire,avant de voir votre tutaux, c’etait une carte physique pour le WAN et une carte physique pour le LAN, et une autre carte physique pour mon win non virtualisé, dans ce cas il y a un cable entre le LAN et l’entrée physique du pc.

      • sysadmin dit :

        Salut lolo,

        1 : Le mode réseau interne permet de créer un réseau totalement isolé (comme un VLAN). Les machines virtuelles connectées sur cette interface peuvent communiquer entre elles uniquement (pas de communication avec la machine physique ni avec l’extérieur).
        Le service DHCP peut être activé sur cette interface pour que le firewall puisse distribuer une adresse IP automatiquement à chaque VM. Sinon, il faut configurer le réseau manuellement (La passerelle est l’adresse de l’interface elle même (Exemple dans ton cas : 192.168.1.1 = c’est la passerelle de ton LAN)

        2 : Je n’ai pas très bien compris cette question ? je vais tenter une réponse. le WAN de ton firewall, ne te préoccupe pas trop, ta BOX (ta machine physique) va lui fournir une adresse IP, il faut juste que le WAN soit configuré sur ta carte réseau physique de ton PC.

        Tu n’as pas besoin d’avoir autant de carte physique, juste celle de ton PC. Ensuite, avec le mode “Réseau Interne” tu peux créer autant de réseau local isolé que tu veux(LAN1, LAN2, LAN3, DMZ1, DMZ2…etc). Et si tu veux ensuite que ces LAN communiquent entre eux, c’est la qu’il faut mettre en place les règles firewall.

        J’espère que j’ai répondu à tes questions. n’hésites pas si besoin.
        bonne soirée.
        -sysadmin.

        • lolo dit :

          Merci pour ta reponse, en fait je fais des tests, pour voir les differentes config entre un firewall et une machine virtuel, et un firewall et un win physique.
          Mais pour la reponse 2, je pensais réinjecter l’ip LAN sur ma machine physique.
          Bonne soiree

    6. freetux dit :

      Bonjour,

      Merci pour le tuto.
      Je suis totalement novice sur Pfsense et suis un peu perdu au niveau des interfaces.

      Vous serait-il possible d’ajouter un schéma réseau ?
      Pouvez-vous m’indiquer à quoi correspond l’ip 172.16.1.1 (comment est géré ce subnet) ?

      Merci
      Cordialement,

      • sysadmin dit :

        Bonjour,
        Vous avez le schéma global ici : https://pixelabs.fr/my-endless-it-project/
        Le réseau 172.16.1.1 est le réseau LAN géré par pfSense. Ce réseau est sécurisé et tu ne peux pas y accéder depuis le WAN (machine hôte).
        Il est également isolé des autres interfaces.
        J’ai choisi la classe B (172.16.0.0) pour mon LAN, mais tu peux très bien choisir la classe B (192.168.0.0) ou la classe A (10.0.0.0).
        Je ferais un schéma détaillé des interfaces dés que possible.

        Bonne journée.
        -sysadmin

        • freetux dit :

          Merci pour la réactivité !
          J’y vois déjà un peu plus clair 😉

          Bonne journée.

          • freetux dit :

            Bonjour,

            Comment te connectes tu sur l’interface web du pfSense ?
            J’ai tenté de monter une VM en configurant la carte réseau sur le réseau LAN mais l’interface n’arrive pas à monter.
            Ais-je manqué quelque chose ?

            Cordialement,

            • sysadmin dit :

              Salut,
              Via l’adresse IP du LAN (dans le tuto c’est : 172.16.1.1 – Carte 2). Ta VM Windows doit être en mode Réseau Interne et connecté sur la Carte 2 qui correspond au LAN de pfSense.
              Tu dois ensuite configurer manuellement le réseau de ta VM Windows manuellement OU activer le DHCP sous pfSense pour l’interface LAN (Carte 2) pour qu’il puisse distribuer une adresse IP automatiquement à ta VM.

              N’hésite pas si tu as besoin d’aide.
              -sysadmin.

    7. Kouakou Innocent dit :

      Salut,

      Je dispose d’une livebox et d’un pc.
      Et j’aimerais pouvoir partager la connexion à plusieurs personnes et donc
      je voudrais mettre en place un portail captif avec pfsense afin pouvoir gérer les utilisateurs connectés…

      Cordialement et merci encore pour ce tutoriel.

      • pixelabs dit :

        Salut,

        Il est assez simple de mettre en place un portail captif sous pfSense. La partie un peu difficile à mettre en place, c’est le type d’authentification afin de gérer les utilisateurs. J’opterai pour un serveur Radius LDAP.

        Je ne veux pas te dire de connerie, je n’ai jamais mis en place ce genre d’infrastructure. (mais ça m’intéresse également). Peut être un jour.

        Pour te mettre sur la piste, à ta place je ferais les choses de la manière suivante :
        – Un serveur Radius sous Windows Server 2012 (c’est simplement des rôles à installer sur le serveur et à configurer)
        – Ensuite Portail Captif via pfSense.

        Bon courage
        -Pixel.

        • tutox dit :

          Merci pour le tuto simple et efficace. J’espère que tu feras la suite notamment pour la partie authentification ldap/radius, ca mintéresse fortement !!!

          • pixelabs dit :

            Le tuto Portail Captif avec authentification Radius est disponible 🙂

    8. K Jules dit :

      Salut!
      Intéressant ce tutoriel! Il serait encore plus intéressant de pouvoir gérer le trafique hôte avec ce mécanisme mis en place sous
      Windows. Comment s’y prendre ?
      Merci.
      Cordialement vôtre!
      K Jules

      • pixelabs dit :

        Bonjour,

        Je n’ai pas bien compris votre question.

        Si vous souhaitez surveiller le trafic des interfaces pfSense, il est possible de le faire via l’outil NTOP (ntopng) qu’il faut installer sous pfSense (Système > Gestionnaire de paquets > Paquets disponibles)
        Une fois installé, on peut gérer le trafic via une interface web depuis le WAN (s’il est autorisé) ou le LAN.

        Pour limiter la bande passante, pfSense permet déjà de réaliser cette action : Pare-feu > Régulateur de flux > Limiteurs

        Cordialement,
        -Pixel.