Sommaire
🔐 Déploiement d'un portail captif sur pfSense 2.8.1
Ce tutoriel vous guide pas à pas dans la mise en place d'un portail captif sur pfSense 2.8.1. Le portail captif permet de forcer les utilisateurs à s'authentifier (via un nom d'utilisateur/mot de passe, un code d'accès, ou un simple clic d'acceptation) avant d'accéder à Internet. Cette fonctionnalité est très utilisée pour les réseaux invités, les hôtels, les espaces publics ou les zones Wi-Fi sécurisées.[reference:0][reference:1]
- Un serveur ou une VM avec pfSense 2.8.1 déjà installé et configuré.
- Une interface réseau dédiée pour le réseau invité (ex:
OPT1,GUEST). - Accès à l'interface web de pfSense (
https://IP_PFSENSE).
1 Préparation de l'interface réseau
OPT1) ou
d'une interface VLAN créée pour le réseau invité.Si vous utilisez un VLAN, celui-ci doit être créé et assigné au préalable.[reference:2]
192.168.100.1/24). C'est sur cette IP que les clients seront redirigés vers le portail.
2 Création de la zone Captive Portal
Une zone définit un portail captif indépendant, avec ses propres paramètres d'authentification, sa page de connexion et ses règles.[reference:3]
C'est là que sont gérées toutes les zones du portail captif.[reference:4][reference:5]
Zone name : GUEST_PORTAL Description : Portail captif pour les invités
- Le nom de la zone doit être composé de lettres, chiffres et underscores uniquement.[reference:6]
- La description est facultative mais utile pour identifier la zone.
GUEST_PORTAL
3 Configuration de la zone
Sélectionnez l'interface sur laquelle le portail sera actif (ex:
OPT1 ou le VLAN invité).[reference:7]
| Méthode | Description | Cas d'usage |
|---|---|---|
| None (Click-Through) | L'utilisateur doit simplement cliquer sur un bouton d'acceptation. | Réseaux publics avec conditions d'utilisation. |
| Local User Manager / Vouchers | Authentification avec des comptes locaux ou des codes d'accès (vouchers). | Hôtels, conférences, accès temporaires. |
| RADIUS Authentication | Authentification via un serveur RADIUS externe. | Environnements avec annuaire centralisé. |
| Paramètre | Description | Valeur recommandée |
|---|---|---|
| Idle timeout | Durée d'inactivité avant déconnexion (en minutes). | 30 |
| Hard timeout | Durée maximale de session (en minutes). | 480 (8h) |
| Traffic quota | Volume de données maximum (en Mo). | Laissez vide pour illimité. |
4 Création des utilisateurs locaux
Si vous avez choisi l'authentification locale, vous devez créer des comptes utilisateurs dans le User Manager.[reference:10]
Username : visiteur1 Password : MotDePasseFort Full name : Visiteur 1 Group : Aucun (laissez vide)
- Le nom d'utilisateur et le mot de passe seront utilisés pour se connecter au portail captif.
- Les utilisateurs doivent avoir le privilège Captive Portal Login s'ils appartiennent à un groupe.
visiteur2, visiteur3, etc.).
5 Personnalisation de la page de connexion
pfSense permet de personnaliser la page de connexion du portail captif. Vous pouvez utiliser une page HTML existante ou en créer une avec un logo et des messages personnalisés.[reference:11][reference:12]
- Portal page contents : un éditeur HTML intégré pour modifier la page directement.
- Upload file : importer un fichier HTML existant.
<!DOCTYPE html>
<html>
<head>
<title>Bienvenue - Réseau invité</title>
<style>
body { font-family: Arial, sans-serif; background: #f0f0f0; text-align: center; padding: 50px; }
.container { background: white; padding: 30px; border-radius: 10px; max-width: 400px; margin: auto; }
input { display: block; width: 100%; padding: 10px; margin: 10px 0; border: 1px solid #ccc; border-radius: 5px; }
button { background: #007bff; color: white; padding: 10px 20px; border: none; border-radius: 5px; cursor: pointer; }
</style>
</head>
<body>
<div class="container">
<img src="/logo.png" alt="Logo" style="max-width:150px;">
<h2>Bienvenue sur le réseau invité</h2>
<p>Veuillez vous identifier pour accéder à Internet.</p>
<form method="post" action="$PORTAL_ACTION$">
<input type="text" name="auth_user" placeholder="Nom d'utilisateur">
<input type="password" name="auth_pass" placeholder="Mot de passe">
<input type="hidden" name="redirurl" value="$PORTAL_REDIRURL$">
<button type="submit" name="accept">Se connecter</button>
</form>
</div>
</body>
</html>
$PORTAL_ACTION$: variable automatiquement remplacée par l'URL de traitement.$PORTAL_REDIRURL$: variable qui contient l'URL de redirection après authentification.- Les champs
auth_useretauth_passsont utilisés pour l'authentification.[reference:13]
6 Test du portail captif
https://IP_DU_PORTAIL:8002
ou l'IP de l'interface du portail captif
visiteur1 / MotDePasseFort)
et validez.
💡 Bonnes pratiques et astuces
- Utilisez HTTPS pour la page de connexion afin de protéger les identifiants.
- Activez le hard timeout pour limiter la durée des sessions.
- Configurez des règles de pare-feu pour restreindre l'accès des invités aux ressources internes.
Services > Captive Portal > [Zone] > Vouchers
✅ Test de validation
🎉 Installation réussie si :
- La page de connexion du portail captif s'affiche lorsqu'un client tente d'accéder à Internet.
- Les utilisateurs créés peuvent s'authentifier avec succès.
- Les sessions actives sont visibles dans Status > Captive Portal.
- Les invités n'ont pas accès aux ressources internes (selon les règles de pare-feu configurées).
📚 Ressources complémentaires
- Documentation officielle – Captive Portal (pfSense)
- Scénarios courants de portail captif
- Guide complet de configuration (OpenNix)