Passer au contenu principal

Guide de configuration du Captive Portal UniFi

Comment ajouter un Captive Portal Purple à Ubiquiti UniFi : un serveur de portail externe, l'autorisation du contrôleur et un walled garden, avec un lien vers le guide de configuration étape par étape de Purple pour la configuration exacte.

Publié le Mis à jour le
📖 2 min de lecture533 mots5 définitions clés

Video overview

Écouter ce guide

Voir la transcription du podcast
Captive Portal pour Ubiquiti UniFi - Une présentation technique par Purple [INTRODUCTION & CONTEXTE - environ 1 minute] Bienvenue dans la série des présentations techniques Purple. Je suis votre hôte et aujourd'hui nous allons aborder les spécificités du déploiement d'un Captive Portal externe sur l'infrastructure Ubiquiti UniFi - l'une des plateformes réseau les plus déployées à l'échelle mondiale dans les secteurs de l'hôtellerie, de la vente au détail et des entreprises. Si vous êtes responsable informatique, architecte réseau ou intégrateur système travaillant avec les UniFi Cloud Gateways, les Dream Machines ou l'application UniFi Network, cet épisode s'adresse à vous. Nous allons examiner en détail le fonctionnement du mécanisme de portail externe sous le capot, comment le configurer correctement, quels sont les pièges courants à éviter, et pourquoi l'intégration de Purple au-dessus d'un déploiement UniFi est la décision d'architecture idéale pour les sites qui exigent plus qu'une simple page de connexion basique. C'est parti. [ANALYSE TECHNIQUE APPROFONDIE - environ 5 minutes] Tout d'abord, comprenons ce qui se passe réellement lorsqu'un appareil invité se connecte à un SSID UniFi sur lequel un Captive Portal est activé. Lorsqu'un appareil invité s'associe à votre SSID invité, l'Access Point UniFi lui attribue une adresse IP via DHCP comme d'habitude. Mais l'appareil est immédiatement placé dans un état que UniFi qualifie de "en attente". Dans cet état, le processus DNSmasq intégré à l'AP intercepte chaque requête DNS formulée par l'appareil, quel que soit le serveur DNS que l'appareil pense utiliser. L'AP redirige tout le trafic DNS vers lui-même. Simultanément, l'AP exécute un redirecteur HTTP léger sur le port 80. Dès que le navigateur de l'invité effectue une requête HTTP - et c'est le mot clé, HTTP, pas HTTPS - le redirecteur renvoie une redirection 302, envoyant le navigateur vers la page d'accueil du Captive Portal. C'est ce mécanisme qui déclenche la notification "Se connecter au WiFi" sur les appareils iOS et Android. C'est ici que la distinction entre portail intégré et portail externe devient essentielle. Avec le portail Hotspot UniFi intégré, la page de connexion est servie directement par l'application UniFi Network. C'est fonctionnel, rapide à configurer, mais extrêmement limité. Vous disposez d'une authentification de base par mot de passe, de coupons et de paiements Stripe. Il n'y a pas de collecte d'e-mails, pas de connexion via les réseaux sociaux, pas de gestion du consentement GDPR, pas d'intégration CRM, et aucune analyse de données significative au-delà du décompte des sessions. Lorsque vous configurez un serveur de portail externe - qui est le paramètre sur lequel nous nous concentrons aujourd'hui - vous indiquez au contrôleur UniFi de rediriger les invités vers une application web totalement distincte. Dans notre cas, il s'agit de Purple. L'URL que vous saisissez dans le champ du serveur de portail externe devient la destination de toutes ces redirections 302.Voici le détail technique important concernant cette URL de redirection. Lorsque UniFi redirige un invité vers votre portail externe, il ajoute plusieurs paramètres de requête à l'URL. Ceux-ci incluent : l'adresse MAC de l'AP, l'adresse MAC de l'appareil client, un horodatage Unix, l'URL d'origine que le client tentait d'atteindre, et le nom du SSID. Votre portail externe - Purple dans ce contexte - capture ces paramètres, les utilise pour identifier l'appareil qui se connecte, présente la splash page appropriée, gère l'authentification, puis effectue un appel API vers l'application UniFi Network pour autoriser cette adresse MAC. Cet appel API constitue la liaison cruciale. Depuis la version 9.1 et les suivantes de l'application UniFi Network, il existe une API REST officielle avec une authentification appropriée basée sur des clés. Le point de terminaison d'autorisation est une requête POST vers la version un de l'API des sites, ciblant l'ID client spécifique, avec un corps JSON qui peut spécifier des limites de temps en minutes, des limites d'utilisation de données en mégaoctets et des limites de débit en kilobits par seconde. Une fois que le contrôleur reçoit cette autorisation, il transmet l'instruction à l'AP, et l'invité passe du statut en attente à autorisé. L'accès Internet est alors accordé. Parlons maintenant du Walled Garden, que UniFi appelle Pre-Authorization Access. Il s'agit de la liste blanche des domaines et des adresses IP que les invités peuvent atteindre avant de s'être authentifiés. Elle est essentielle, et c'est l'une des sources de mauvaise configuration les plus courantes. Au minimum, votre walled garden doit inclure le nom de domaine complet de votre portail Purple, ainsi que les adresses IP ou les plages CIDR vers lesquelles l'infrastructure de Purple se résout. Si vous utilisez la connexion via les réseaux sociaux - Facebook, Google, Microsoft - vous devez également ajouter les domaines de point de terminaison OAuth de ces fournisseurs. Les points de terminaison de connexion de Google couvrent plusieurs plages IP et plusieurs domaines, notamment accounts.google.com et oauth2.googleapis.com. L'infrastructure de connexion de Facebook nécessite également plusieurs entrées. La documentation de Purple fournit une liste mise à jour des entrées exactes requises, et cette liste est maintenue à jour au fur et à mesure que ces fournisseurs actualisent leur infrastructure. Il existe une particularité critique propre à UniFi qui piège de nombreux déploiements. Le redirecteur HTTP de l'AP intercepte uniquement le trafic HTTP simple sur le port 80. Les appareils modernes - iOS, Android, Windows, macOS - effectuent tous une détection de Captive Portal basée sur le protocole HTTPS. Les appareils Apple interrogent captive.apple.com en HTTPS. Les appareils Android interrogent connectivitycheck.gstatic.com. Si ces requêtes HTTPS ne reçoivent pas de réponse spécifique, l'appareil peut considérer qu'il n'y a pas de Captive Portal et tout simplement ne pas afficher l'invite de connexion. La solution consiste à s'assurer que votre walled garden inclut les domaines de détection de Captive Portal pour les principaux systèmes d'exploitation, et que votre portail Purple est accessible en HTTPS avec un certificat SSL valide et approuvé. Les certificats auto-signés provoqueront des avertissements de sécurité sur les navigateurs qui empêcheront le chargement du portail. C'est un point non négociable pour les déploiements en production. L'autre considération spécifique à UniFi concerne l'accessibilité du contrôleur. L'UniFi Network Application - qu'elle s'exécute sur une Cloud Gateway, une Cloud Key ou un serveur auto-hébergé - doit être accessible depuis l'infrastructure de Purple pour que les appels d'autorisation API réussissent. Si votre contrôleur se trouve sur un réseau privé derrière un NAT, vous devrez vous assurer que les ports API concernés sont accessibles. Pour les contrôleurs auto-hébergés, il s'agit généralement du port 8443 pour l'API héritée, ou du port HTTPS standard 443 pour la nouvelle API introduite dans la version 9.1. La documentation d'assistance de Purple spécifie les plages d'adresses IP exactes qui nécessitent un accès entrant à votre contrôleur. Pour l'authentification basée sur RADIUS - qui est pertinente lorsque vous déployez Purple aux côtés de SSIDs WPA2-Enterprise ou WPA3-Enterprise plutôt que du modèle de SSID invité ouvert - le serveur RADIUS intégré d'UniFi prend en charge les méthodes EAP 802.1X standard. Vous configurez le profil RADIUS sous Paramètres, Réseaux, Serveurs RADIUS, puis vous référencez ce profil dans la configuration de votre SSID. UniFi prend également en charge le RADIUS sur TLS, connu sous le nom de RADSEC, à partir de la version 8.4, qui chiffre le trafic RADIUS entre l'AP et le serveur d'authentification. Pour les déploiements multi-sites où le trafic RADIUS traverse l'internet public, RADSEC est fortement recommandé. [RECOMMANDATIONS DE MISE EN ŒUVRE ET PIÈGES À ÉVITER - environ 2 minutes] Permettez-moi de vous présenter la liste de contrôle pratique pour la mise en œuvre, que je passerais en revue avec tout client déployant Purple sur UniFi. Premièrement, la segmentation du réseau. Votre SSID invité doit se trouver sur un VLAN dédié, isolé de vos réseaux d'entreprise et IoT. UniFi rend cela très simple - créez un réseau dédié dans Paramètres, Réseaux, attribuez-lui un ID de VLAN et associez votre SSID invité à ce réseau. Activez l'isolation des clients sur le réseau invité pour empêcher le trafic d'invité à invité. Deuxièmement, le contrôleur doit disposer d'un FQDN valide et d'un certificat SSL de confiance. Ne vous fiez pas à l'adresse IP. Utilisez un nom de domaine approprié, obtenez un certificat Let's Encrypt ou un certificat commercial, et configurez UniFi pour utiliser ce certificat. Cela résout la majorité des problèmes de redirection HTTPS. Troisièmement, construisez soigneusement votre walled garden et testez-le. Les entrées minimales sont : le domaine de votre Captive Portal Purple et ses plages d'adresses IP, les domaines de détection de Captive Portal pour iOS, Android et Windows, ainsi que tous les domaines de fournisseurs OAuth que vous utilisez. Testez avec un appareil qui ne s'est jamais connecté au réseau auparavant - le cache DNS et l'état du réseau peuvent masquer des lacunes du walled garden lors des tests. Quatrièmement, pour l'intégration de l'API, utilisez un compte administrateur local dédié dans l'UniFi Network Application avec les autorisations minimales requises. N'utilisez pas vos identifiants d'administrateur principaux. Si vous utilisez Network Application 9.1 ou une version ultérieure, utilisez le nouveau mécanisme de clé API sous Control Plane, Integrations - il est plus sécurisé et ne nécessite pas d'authentification basée sur des identifiants. Cinquièmement, examinez attentivement la durée des sessions. L'expiration par défaut de la session invité d'UniFi peut être de seulement huit heures. Pour les déploiements dans le secteur de l'hôtellerie où les clients peuvent séjourner plusieurs nuits, configurez des durées de session appropriées dans les paramètres du portail Purple, et assurez-vous que ces durées sont correctement transmises dans l'appel d'autorisation de l'API. Le piège le plus courant que je constate est le déploiement sur un contrôleur auto-hébergé qui n'est pas accessible publiquement. Si Purple ne peut pas joindre votre contrôleur pour autoriser les invités, le portail se chargera mais l'authentification échouera silencieusement. Vérifiez toujours la connectivité de l'API depuis l'infrastructure de Purple avant la mise en service. [QUESTIONS - RÉPONSES RAPIDES - environ 1 minute] Cela fonctionne-t-il sur UniFi Dream Machine Pro ? Oui. Toutes les consoles UniFi OS - UDM, UDM Pro, UDM SE, UCG Ultra, UCG-Max - prennent en charge la configuration de l'External Portal Server. L'application réseau s'exécute sur l'appareil. Puis-je utiliser Purple sur plusieurs sites UniFi à partir d'un seul compte Purple ? Oui. L'architecture multi-site de Purple est conçue exactement pour cela. Chaque site est configuré comme un site distinct dans Purple, mappé au site UniFi correspondant. Dois-je ouvrir des ports de pare-feu sur la passerelle UniFi ? Vous devez vous assurer que le trafic du VLAN invité peut atteindre le domaine du portail Purple sur le port 443. Le port de l'API du contrôleur doit également être accessible depuis les serveurs de Purple. La documentation de Purple fournit les plages d'adresses IP spécifiques. Qu'en est-il du WPA3 ? UniFi prend en charge WPA3 Personal et WPA3 Enterprise. Le mécanisme de Captive Portal fonctionne avec WPA3 Personal sur les réseaux invités. WPA3 Enterprise utilise le protocole 802.1X et RADIUS, ce qui correspond à un flux d'authentification différent. [RÉSUMÉ & PROCHAINES ÉTAPES - environ 1 minute] En résumé : le déploiement de Purple en tant que Captive Portal externe sur UniFi est une intégration bien prise en charge et robuste sur le plan de l'architecture. Les étapes clés sont : configurez votre SSID invité avec l'option External Portal Server pointant vers l'URL de votre portail Purple, créez un walled garden complet qui couvre l'infrastructure de Purple et tous les fournisseurs OAuth que vous utilisez, assurez-vous que votre contrôleur UniFi possède un certificat SSL valide et est accessible depuis les serveurs API de Purple, et configurez des durées de session adaptées à votre type d'établissement. L'intérêt commercial est évident. Le portail UniFi intégré vous offre une simple page d'accueil. Purple vous offre une plateforme d'expérience client axée sur l'analyse et conforme aux réglementations qui s'intègre à votre CRM, capture des données de première partie sous consentement GDPR, et fournit les analyses de fréquentation et de temps de séjour dont les exploitants de sites et les équipes marketing ont réellement besoin. Si vous êtes un MSP ou un intégrateur système qui déploie UniFi à grande échelle, la gestion multi-site et les capacités de marque blanche de Purple en font la solution idéale pour vos clients. Pour obtenir une documentation de configuration détaillée, des listes d'adresses IP pour le walled garden et des guides d'intégration API, visitez purple.ai. Merci pour votre attention.

Fait partie de notre série principale : Guide du Captive Portal →

UniFi Network Hotspot ArchitectUbiquiti UniFi OS & Network Application 8.x

Ubiquiti UniFi captive portal and guest WiFi configurator

Generate UniFi Network Hotspot Manager settings, configure pre-authorization walled gardens, calculate guest VLAN subnet sizing, and validate cloud RADIUS accounting for seamless Purple deployment.

Target controller
UniFi Dream Machine Pro / SE
UniFi OS 3.x / Network 8.x
Native Hotspot Manager (External Portal Server)
Walled garden domains
9 FQDN rules
OS captive probe safe
Recommended subnet
/23 (509 IPs)
73% peak pool load
AAA interim accounting
300s
RFC 2866 accounting sync

Internal routing engine handles guest captive redirection with native gateway isolation.

Local IP or internal hostname used for controller API communication.

Redirection security parameters
UniFi Network Hotspot Manager Configuration Payload
{
  "hotspot_portal": {
    "authentication": "external_portal_server",
    "server_ip_or_hostname": "auth.purplewifi.net",
    "port": 443,
    "use_secure_portal": true,
    "redirect_mode": "original_url"
  },
  "controller_authorisation_profile": {
    "target_model": "UDM-Pro / UDM-SE / UDM-Enterprise",
    "controller_management_host": "192.168.1.1",
    "controller_api_port": 8843,
    "enable_https": true
  },
  "pre_authorization_allowed_hostnames": [
    "auth.purplewifi.net",
    "securelogin.purplewifi.net",
    "api.purplewifi.net",
    "cdn.purplewifi.net",
    "fonts.googleapis.com",
    "fonts.gstatic.com",
    "accounts.google.com",
    "graph.facebook.com",
    "linkedin.com"
  ],
  "radius_profile": {
    "profile_name": "Purple-Guest-RADIUS",
    "auth_server": "10.0.10.15",
    "auth_port": 1812,
    "acct_server": "10.0.10.15",
    "acct_port": 1813,
    "interim_update_interval_sec": 300,
    "dynamic_vlan_rfc3580": true,
    "default_guest_vlan": 20
  },
  "wireless_guest_profile": {
    "ssid": "Guest-WiFi",
    "client_isolation": true,
    "dhcp_recommended_lease_seconds": 7200,
    "recommended_cidr_scope": "/23",
    "per_client_bandwidth_limit_down_kbps": 10240,
    "per_client_bandwidth_limit_up_kbps": 3072
  }
}
Looking to deploy guest WiFi across enterprise UniFi hardware?
Review our architecture framework or talk directly to our wireless solutions engineering team.
Explore Captive Portal Guide
Useful? Link to this tool

Un Captive Portal est la page de connexion que les invités voient avant de se connecter. Sur Ubiquiti UniFi, les points d'accès et le contrôleur UniFi Network gèrent le WiFi ; Purple gère ce portail et les données de première partie associées, sans remplacer vos équipements UniFi.

Comment Ubiquiti UniFi fonctionne avec le WiFi invité Purple

Purple est une surcouche cloud. Votre contrôleur UniFi Network continue de gérer le WiFi ; Purple gère l'expérience invité grâce à des fonctionnalités déjà présentes dans UniFi.

  • Serveur de portail externe. Dans le Hotspot Manager d'UniFi, vous pointez la page de destination vers Purple plutôt que vers la page intégrée d'UniFi. Un nouvel appareil est redirigé vers votre page de connexion Purple, le visiteur se connecte, et le contrôle revient à UniFi.
  • Autorisation du contrôleur. Purple autorise chaque invité en communiquant directement avec votre contrôleur UniFi Network, en utilisant son adresse publique et un identifiant de connexion dédié au contrôleur que vous créez à cet effet. Si le contrôleur n'est pas accessible publiquement, une redirection de port rend cette connexion possible.
  • Walled garden. Les règles de pré-autorisation d'UniFi permettent de charger la page de connexion, ainsi que toutes les étapes de paiement ou de connexion via les réseaux sociaux, avant qu'un visiteur ne se soit connecté.

Pour les visiteurs fréquents, l'option SecurePass (Passpoint) d'UniFi ajoute une connexion sécurisée et chiffrée reposant sur RADIUS, de sorte que les utilisateurs connus se reconnectent sans avoir à se connecter à nouveau.

C'est tout le modèle : UniFi déplace les paquets et gère les ondes, Purple possède la connexion et les données. Comme il fonctionne sur une authentification web externe standard et RADIUS, il fonctionne de la même manière sur Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, Ubiquiti UniFi, Cambium, Extreme Networks et Fortinet. Purple est conçu pour être indépendant du matériel.

Ce dont vous avez besoin

  • Un contrôleur UniFi Network (sur une Dream Machine, CloudKey ou votre propre serveur) avec un accès administrateur.
  • Un site Purple avec votre page de connexion et votre parcours de connexion configurés.
  • Un identifiant de connexion dédié au contrôleur UniFi et l'adresse publique de votre contrôleur, afin que Purple puisse autoriser les invités.

Configurez-le avec Purple

Les paramètres exacts, l'adresse du serveur de portail externe, les options de la page de destination du Hotspot Manager, les domaines de pré-autorisation, les paramètres du site qui lient Purple à votre contrôleur et la configuration facultative de SecurePass sont documentés étape par étape dans le guide d'assistance de Purple, avec les valeurs précises à saisir.

Guide de configuration Ubiquiti UniFi Network

Suivez ce guide pour la configuration. Cette page explique comment les éléments s'assemblent, afin que vous sachiez ce que fait chaque étape.

Ce que vous obtenez

Une fois que les invités se connectent via Purple, chaque visite se transforme en données de première partie vérifiées, avec un consentement explicite et conscient : qui a visité, à quelle fréquence et comment les contacter avec leur autorisation. C'est la différence entre un WiFi qui connecte les gens et un WiFi qui construit une audience marketing qui vous appartient. Purple est conforme au GDPR et certifié ISO 27001, avec un taux de disponibilité de 99,999 % sur plus de 80 000 sites actifs.

Définitions clés

Captive Portal

La page de connexion qu'un visiteur voit avant de se connecter. Purple l'héberge et la gère ; UniFi y redirige les appareils.

La couche d'expérience invité que Purple ajoute au-dessus de votre WiFi UniFi.

Serveur de portail externe

Un paramètre UniFi qui envoie un appareil non authentifié vers une page de connexion hébergée en externe plutôt que vers la page intégrée d'UniFi.

Comment le Hotspot Manager d'UniFi redirige l'invité vers la page de connexion Purple.

Autorisation du contrôleur

Purple communique avec votre contrôleur UniFi Network via son adresse publique, en utilisant une connexion dédiée, pour autoriser chaque session invité.

Comment Purple permet à un invité connecté d'accéder à internet sur UniFi.

Walled garden

Une liste restreinte d'adresses qu'un appareil peut atteindre avant de s'être connecté.

Permet de charger la page de connexion, les paiements et la connexion sociale avant l'authentification.

SecurePass (Passpoint)

Une connexion WiFi chiffrée reposant sur un serveur RADIUS qui permet aux utilisateurs connus de se reconnecter sans avoir à s'identifier à nouveau.

Un niveau sécurisé facultatif pour les visiteurs réguliers.

Questions fréquentes

Comment Ubiquiti UniFi s'intègre-t-il avec un captive portal externe ?

Le Hotspot Manager de UniFi Network permet aux administrateurs de déléguer l'authentification des invités à un serveur de portail externe. Lorsqu'un visiteur non authentifié se connecte au SSID invité, la passerelle UniFi intercepte le trafic HTTP initial et redirige le navigateur du client vers Purple à l'adresse auth.purplewifi.net. Une fois que le visiteur a terminé l'authentification, Purple appelle l'API du contrôleur UniFi pour autoriser l'adresse MAC du client à accéder à Internet.

Quels ports doivent être ouverts entre le contrôleur UniFi et le captive portal ?

Pour l'intégration d'un captive portal cloud ou externe, le contrôleur UniFi Network doit être joignable pour les appels API d'autorisation sur le port TCP 8843 (ou le port TCP 8443 sur les anciennes installations). Pour une redirection sécurisée du navigateur invité, assurez-vous que le flux HTTPS sortant sur le port TCP 443 et le flux DNS sur le port UDP 53 sont autorisés dans le profil de pare-feu de pré-autorisation invité.

Pourquoi les hôtes de test captifs des systèmes d'exploitation ne doivent-ils jamais être inscrits sur liste blanche ?

Les systèmes d'exploitation tels que iOS, Android, macOS et Windows testent des points de terminaison spécifiques comme captive.apple.com et connectivitycheck.gstatic.com pour détecter les réseaux captifs. Si ces noms d'hôtes de test sont placés dans l'accès de pré-autorisation UniFi, les appareils reçoivent une réponse HTTP 200 non interceptée, déterminent que la connectivité Internet est active et bloquent l'affichage automatique de la fenêtre du navigateur de connexion.

Quelles règles d'accès de pré-autorisation sont requises pour Purple sur UniFi ?

Le Hotspot Manager de UniFi nécessite l'inscription sur liste blanche des domaines d'authentification et de ressources de Purple dans l'accès de pré-autorisation avant la connexion des invités. Cela inclut auth.purplewifi.net, securelogin.purplewifi.net, api.purplewifi.net et cdn.purplewifi.net. Si la connexion via les réseaux sociaux ou des options payantes sont activées, les points de terminaison OAuth et de passerelle de paiement correspondants doivent également être inscrits sur liste blanche.

Comment la comptabilité RADIUS améliore-t-elle la gestion du WiFi invité sur UniFi ?

La configuration d'un profil RADIUS pointant vers Purple sur les ports UDP 1812 (authentification) et 1813 (comptabilité) permet un suivi des sessions en temps réel. Définir l'intervalle de mise à jour intermédiaire de la comptabilité à 300 secondes permet aux points d'accès UniFi de signaler périodiquement le temps de connexion des invités, les octets transmis et la durée de présence à la plateforme d'analyse Purple sans surcharger les ressources du contrôleur.

Quels taille de sous-réseau et durée de bail DHCP sont recommandés pour les réseaux invités ?

Les réseaux invités connaissent un taux de rotation élevé et un renouvellement rapide des baux. Les sites à fort trafic doivent configurer au moins un sous-réseau /22 (1 021 adresses IP utilisables) et réduire la durée du bail DHCP à 2 heures (7 200 secondes). Cela évite l'épuisement de la plage d'adresses pendant les pics de fréquentation des visiteurs, tandis que l'isolation des appareils clients empêche toute communication latérale non autorisée entre les appareils.

Vous avez des questions sur votre configuration spécifique ?

Notre équipe collabore avec des exploitants de sites, des responsables informatiques et des ingénieurs réseau au sein de 80 000 sites. Réservez un appel de 20 minutes et nous vous montrerons comment d'autres professionnels comme vous ont résolu ce problème.