pfSense est une distribution de FreeBSD, système d'exploitation Unix libre, reconnu pour sa stabilité, sa sécurité et sa performance. Cette base solide confère à pfSense une robustesse et une fiabilité idéales pour les tâches de réseau et de sécurité.
pfSense est éditée par l'entreprise Netgate et existe en deux versions distinctes :
pfSense assure fondamentalement deux rôles :
Il propose de nombreuses autres fonctionnalités, directement intégrées, ou disponibles au travers d'un gestionnaire de packages :
pfSense peut être installé sur une large variété de matériels, allant des ordinateurs standard aux appareils spécialisés conçus pour le réseau. On veillera cependant à ces spécifications :
Bien entendu, et c'est ce qui nous intéresse ici, on peut également installer pfSense dans un environnement virtuel (Hyper-V, VMWare, Proxmox VE, VirtualBox), en respectant ces spécifications.
Nous allons donc nous intéresser ici à l'installation de pfSense dans un environnement virtuel basé sur VirtualBox, devenant un élément essentiel à la mise en place d'un laboratoire virtuel personnel.
Netgate propose désormais de télécharger un installateur universel pfSense. Même si ce téléchargement est gratuit, il nécessite la création d'un compte et un processus d'achat qui laisse perplexe... :
Nous allons pour le moment récupérer l’image ISO d’installation de pfSense CE (Community Edition) pour architecture x64 (AMD64) sur le miroir encore disponible pour récupérer les installateurs classiques (offline) :
Il ne faut pas choisir l’image pour clé USB dont le fonctionnement est différent ; on pourra en revanche utiliser ce format .img pour un déploiement sur une machine physique, grâce à l'utilitaire rufus.
Voici le lien direct de l'image à récupérer : pfSense-CE-2.7.2-RELEASE-amd64.iso.gz
Ce n'est obligatoire, mais c'est une bonne pratique que de vérifier la signature SHA256 de l’image, à l’aide d’un outil comme Hash Checker disponible sur Microsoft store :
La signature SHA-256 de l'image pfSense 2.7.2 indiquée plus haut est : 883fb7bc64fe548442ed007911341dd34e178449f8156ad65f7381a02b7cd9e4
Le fichier obtenu est compressé selon le format gzip (.gz), il faut un outil tel que 7zip pour en extraire l'image ISO finale :
Depuis VirtualBox, taper CTRL N (ou menu Machine / Nouvelle), nommer la VM pfSense et choisir le type FreeBSD x64 (pfSense est en effet une distribution de FreeBSD) :
On lui octroie ensuite dans les sections hardware et Hard Disk ce qui doit correspondre aux propositions par défaut :
Un petit clic sur Finish et notre machine est maintenant créée, nous allons finalier la configuration, puis lancer l’installation.
Cliquer sur le bouton Configuration pour faire apparaître les paramètres de la VM. On désactive les ressources audios parfaitement inutiles :
Les ports série et USB doivent être désactivés, car ils ne sont pas plus utiles pour notre cas :
Dans la rubrique réseau, nous allons configurer deux interfaces. Une première correspond à la partie WAN de pfSense, l’accès à Internet, que l’on obtient soit par pontage (bridge) d’une interface existante sur la machine hôte, soit par le mode NAT proposé par VirtualBox, qui permet d’ajouter une isolation supplémentaire par rapport au réseau réel.
Comme évoqué dans le tutoriel VirtualBox, il est préférable de choisir le mode bridge sur une interface physique filaire, si possible dédiée. Cette solution permet également si besoin d'exposer l'interface WAN sur Internet.
Le mode NAT permet quant à lui d’accéder à Internet sur des machines hôtes qui sont sur un réseau assez sécurisé : en effet, dans ce mode, le pare-feu en amont ne voit que la machine hôte, qui "partage sa connexion" avec la VM.
On peut donc choisir l'un ou l'autre mode (NAT ou Bridge), ici nous prendrons un bridge sur une interface dédiée :
La seconde interface réseau correspond au côté LAN de pfSense ; on l’associe à un réseau virtuel interne (qu’on appellera donc "LAN") sur lequel nous pourrons connecter nos autres équipements virtuels. Notons qu’il est possible ici de visualiser (et même modifier) l’adresse MAC de l’interface virtuelle ; ceci peut être très utile au moment de configurer le système qui sera installé sur la VM :
La machine est prête, on clique sur OK, et on la démarre. Après la phase de démarrage, la VM boote sur l’image ISO d’installation, l’écran d’accueil s’affiche :
Pour notre installation plutôt standard, il suffit d’accepter les options proposées par défaut.
NB : Il n’est pas utile de configurer un clavier français lors de l’installation, car au démarrage suivant, le clavier est de nouveau en mode QWERTY (à moins que ce bug ne soit corrigé dans le futur)
Attention à bien sélectionner le disque de destination avec la barre d’espacement :
On sélectionne l’emplacement de stockage. pfSense utilise ZFS qui permet notamment d’utiliser plusieurs disques et de gérer nativement la redondance (RAID).
Et on confirme sans hésiter :
L’installation va supprimer tout le contenu du disque. On est prévenu !
Attention pour la phase finale : afin d’éteindre la machine, plutôt que la redémarrer, on va utiliser le Shell pour lancer la commande init 0
(attention, la disposition du clavier est QWERTY) :
La VM s’éteint.
On supprime le lecteur optique devenu inutile :
On relance la VM pfSense, la console affiche toute la séquence de démarrage, jusqu’à cet écran qui affiche le menu de la console :
Si la connexion WAN est en mode NAT, l'IP donnée par VirtualBox par DHCP sera plutôt
10.0.2.15/24
Normalement, pfSense aura détecté automatiquement et affecté chaque interface à son rôle : WAN (sur l’interface NAT) & LAN (sur l’interface en réseau interne). Si ce n'est pas le cas, ou en cas de problème ou de doute, il est possible de relancer cette affectation, avec l’option 1 de la console :
Les interfaces disponibles sont identifiées par leur adresse physique MAC, et leur nom dans le système FreeBSD (em0 et em1 dans notre cas). Comme évoqué plus haut, c’est avec les adresses MAC que nous pouvons identifier chaque interface dans VirtualBox.
On ne souhaite pas mettre en place des VLAN ici, on répond : N ; puis on affecte les interfaces à leur rôle, WAN ou LAN :
Attention, le clavier est toujours en QWERTY !.. et le verrouillage numérique n’est probablement pas activé par défaut.
La console permet d’effectuer des opérations de base pour pfSense, notamment :
Dans la pratique, il est recommandé de protéger l’accès à ce menu console par un mot de passe (ceci se configure depuis l’interface WEB d'administration de pfSense.)
Afin que pfSense tourne en tâche de fond dans notre environnement, il peut être démarré sans affichage depuis VirtualBox :
Dès lors, la console n’est visible que depuis la prévisualisation de VirtualBox, mais il est possible de réactiver la console en cliquant sur afficher :
Et de la refermer depuis le menu fichier de la fenêtre console :
Notre VM pfSense est maintenant opérationnelle. Sa configuration initiale n’est pas réalisée, car il faut pour cela disposer d’un navigateur WEB pour accéder, depuis le réseau LAN, à la console WEBAdmin. Nous verrons cette étape dans le tutoriel dédié à la finalisation du labo virtuel.