Configuration initiale de pfSense en CLI

Dans ce tutoriel, je vais vous montrer comment configurer pfSense directement depuis l’écran en mode texte.
Cette méthode est utilisée lorsqu’un écran et un clavier sont branchés à la machine pfSense, juste après l’installation, avant même d’accéder à l’interface graphique.

En réalité, comme on y accède avec un écran et un clavier, il s’agit du menu TUI (Text User Interface) proposé par pfSense.

C’est une étape essentielle à connaître : même si l’interface web n’est pas encore disponible, la console permet de réaliser toute la configuration de base.
Nous allons également voir comment ajouter et assigner une nouvelle carte réseau, une opération courante lors de la mise en place d’un firewall physique.
En bref, nous allons regarder comment :
– assigner correctement les interfaces WAN et LAN,
– définir une adresse IP pour le LAN,
– activer le serveur DHCP afin que les postes du réseau reçoivent automatiquement une adresse,
– et configurer le DNS pour avoir accès à Internet (Cette dernière étape se fait plus facilement via le GUI.)

Étape 1 : Démarrage de pfSense

Quand pfSense démarre, on arrive sur ce menu en mode texte :
0) Logout / Disconnect SSH
Quitte simplement la session console ou SSH. Utile quand on a terminé une configuration locale et qu’on veut fermer proprement la session.
1) Assign Interfaces
Permet d’attribuer les cartes réseau aux rôles WAN, LAN (et éventuellement d’autres interfaces). C’est souvent la première étape après installation : par exemple, si une nouvelle carte réseau a été ajoutée, on revient ici pour indiquer quel port servira pour le LAN.
2) Set interface(s) IP address
Configure l’adresse IP d’une interface (souvent le LAN), avec le masque, la passerelle et éventuellement le DHCP. C’est ici qu’on définit par exemple l’adresse 192.168.1.1 pour que pfSense devienne la passerelle du réseau interne.
3) Reset admin account and password
Réinitialise le mot de passe du compte administrateur utilisé pour accéder à l’interface web. Très pratique si les identifiants ont été oubliés.
4) Reset to factory defaults
Restaure pfSense à son état initial, comme après une installation neuve.
    Attention : toutes les configurations seront perdues, ce qui peut être utile quand une mauvaise manipulation a tout bloqué.

5) Reboot system
Redémarre pfSense, exactement comme un redémarrage classique d’un ordinateur, souvent nécessaire après certaines modifications.
6) Halt system
Éteint complètement la machine pfSense de manière propre, ce qu’on fait avant de couper l’alimentation ou de déplacer le matériel.
7) Ping host
Outil de diagnostic pour tester la connectivité vers une autre machine ou un site, comme 8.8.8.8 pour vérifier si l’accès Internet fonctionne.
8) Shell
Ouvre un shell FreeBSD avec accès root complet au système. Cela sert pour les manipulations avancées, comme éditer un fichier de configuration à la main.
9) pfTop
Affiche en temps réel les connexions réseau actives, un peu comme la commande top mais pour le trafic. On peut ainsi observer qui communique avec qui à travers le firewall.
10) Filter Logs
Affiche les journaux du pare-feu, permettant de voir ce qui est bloqué ou autorisé. Très utile pour comprendre pourquoi une connexion échoue.
11) Restart GUI
Relance le service web qui fournit l’interface graphique. Pratique quand la WebGUI ne répond plus sans avoir à redémarrer toute la machine.
12) PHP shell + pfSense tools
Ouvre une console PHP interne avec des fonctions spéciales pfSense, destinée au débogage ou à des commandes spécifiques.
13) Update from console
Lance une mise à jour de pfSense directement depuis la console, pratique quand l’interface web n’est pas disponible.
14) Enable Secure Shell (sshd)
Active le service SSH pour se connecter à pfSense à distance, ce qui évite d’avoir à brancher un écran et un clavier à la machine.
15) Restore recent configuration
Charge une configuration sauvegardée récemment. Cela permet de revenir rapidement en arrière après une mauvaise modification.
16) Restart PHP-FPM
Relance le service PHP-FPM utilisé par l’interface web, ce qui répare souvent une WebGUI bloquée sans perturber le reste du système.

 

Étape 2 : Assigner les interfaces

Choix du menu
Dans le menu principal, on sélectionne l’option 1) Assign Interfaces pour commencer l’attribution des cartes réseau.

 

Liste des interfaces disponibles

pfSense affiche les interfaces détectées (ici vtnet0 et vtnet1). On demande aussi si l’on souhaite configurer des VLAN. Dans mon cas, je réponds non pour une configuration de base.

 

Définir l’interface WAN

Il faut indiquer quelle carte réseau sera utilisée comme WAN. Je choisis vtnet0.

 

Définir l’interface LAN

Ensuite, pfSense demande quelle interface doit être utilisée comme LAN.Je choisis vtnet1.

 

Confirmation de l’attribution

Un récapitulatif s’affiche :

WAN → vtnet0
LAN → vtnet1

Il suffit de confirmer avec y pour valider

 

Étape 3 : Configurer l’adresse IP du LAN

Choix de l’option

Dans le menu principal, sélectionner 2) Set interface(s) IP address pour commencer la configuration d’une adresse IP.

 

Sélection de l’interface

La liste des interfaces apparaît. Ici, c’est 2 – LAN (vtnet1) qui doit être configurée. On répond 2.
pfSense propose de configurer l’adresse IPv4 du LAN par DHCP, mais pour une configuration fixe il faut répondre n.

 

Définir l’adresse IPv4

Entrer l’adresse IPv4 qui sera utilisée comme passerelle du LAN, par exemple 172.16.0.1/24.
Ensuite, pfSense demande une passerelle pour le LAN : il n’en faut pas, on valide avec Entrée.

Options IPv6
pfSense propose de configurer une adresse IPv6. On peut ignorer (répondre n) ou activer le DHCPv6 si nécessaire

Activer le serveur DHCP
Il est ensuite possible d’activer le serveur DHCP sur le LAN.
– Je réponds y pour l’activer.
– Définir une plage d’adresses qui seront distribuées automatiquement aux machines du réseau, par exemple de 172.16.0.20 à 172.16.0.200.

Enfin, pfSense demande si l’on veut utiliser HTTP au lieu de HTTPS pour accéder à l’interface web. On recommande de répondre y (HTTP) uniquement dans un environnement de test, sinon garder HTTPS pour plus de sécurité.

 

Résultat final

Le résumé affiche maintenant l’adresse LAN définie :
LAN (lan) -> vtnet1 -> v4: 172.16.0.1/24
Ce qui confirme que pfSense est prêt à distribuer des adresses sur ce réseau via DHCP.

 

⚠️ Attention : pfSense a parfois un petit bug après cette configuration initiale.
Il peut créer automatiquement une gateway LAN (LANGW) avec l’adresse 172.16.0.1 (l’adresse IP du LAN).
Ce n’est pas correct, car la passerelle par défaut doit être sur l’interface WAN.

👉 Après l’installation, il faudra vérifier dans le webGUI :
System > Routing > Gateways et supprimer ou désactiver la gateway LAN.
La seule Default IPv4 Gateway doit être WAN_DHCP.

Étape 4 : Vérification de la configuration

Un ordinateur équipé de Debian a été branché directement sur l’interface LAN de pfSense.
Après connexion, la commande ip a montre que l’interface réseau eth0 a reçu automatiquement l’adresse 172.16.0.20/24.
Cette adresse fait partie de la plage configurée dans le serveur DHCP (172.16.0.20 – 172.16.0.200), ce qui confirme que la liaison LAN fonctionne correctement et que pfSense attribue bien des adresses IP aux machines du réseau.

 

Étape 5 : Configurer le DNS

Pour avoir accès à Internet, il est parfois nécessaire de configurer manuellement le serveur DNS. Il est plus simple de faire cette opération via l’interface graphique (GUI).
Dans cet exemple, j’utilise un poste Windows 10 connecté au réseau LAN de pfSense (dans mon cas : 172.16.0.0/24).

Connexion à l’interface web

On ouvre un navigateur et on se connecte à pfSense en entrant l’adresse du LAN, par exemple :

http://172.16.0.1

Une page de connexion apparaît (voir capture). Connectez-vous avec l’utilisateur admin et le mot de passe par défaut pfsense (à modifier immédiatement après la première connexion).

Par défaut, pfSense peut utiliser les DNS fournis par le serveur DHCP du WAN. Cela peut poser des problèmes de résolution, surtout si vous souhaitez garder le contrôle total.
1. Allez dans System > General Setup.
2. Dans la section DNS Server Settings, décochez l’option :
3. Allow DNS server list to be overridden by DHCP/PPP on WAN.
4. Cliquez sur Add DNS Server et ajoutez par exemple :
– 1.1.1.1 (Cloudflare)
– 8.8.8.8 (Google)
4. Laissez le champ Gateway sur none.
5. Dans DNS Resolution Behavior, laissez l’option par défaut :
Use local DNS (127.0.0.1), fall back to remote DNS Servers.
6. Cliquez sur Save, puis sur Apply Changes.

 

Vérification

Allez dans Diagnostics > Ping :
– ping 1.1.1.1 → vérifier l’accès Internet.
– ping oleks.ca (ou google.com) → confirmer que le DNS fonctionne correctement.
⚠️ Attention :
Si vous ne configurez pas les DNS, pfSense pourra répondre à ping 1.1.1.1, mais pas à ping google.com, car il ne saura pas résoudre les noms de domaine.

Voilà, nous avons configuré pfSense directement depuis la console en mode texte et finalisé avec l’interface web.
Les interfaces WAN et LAN sont attribuées, l’adresse IP du LAN est définie, et le serveur DHCP distribue désormais des adresses aux machines connectées.
Il est maintenant possible d’accéder à l’interface web pour poursuivre la configuration et ajouter des services supplémentaires.

Bonne chance !