Intégration du firmware personnalisé OpenWrt avec Purple WiFi
Ce guide fournit le guide d'intégration complet pour déployer le firmware personnalisé OpenWrt avec Purple WiFi. Il couvre la configuration du Captive Portal CoovaChilli, la gestion du walled garden via iptables, le WiFi sécurisé pour le personnel en 802.1X avec hostapd, et la segmentation PPSK multi-tenant avec attribution dynamique de VLAN - offrant aux équipes informatiques les étapes de configuration exactes nécessaires pour créer un réseau basé sur l'identité sur n'importe quel matériel compatible OpenWrt.
Écouter ce guide
Voir la transcription du podcast
- Résumé exécutif
- Analyse technique approfondie
- L'architecture du Captive Portal CoovaChilli
- Walled garden : iptables et listes d'autorisation de domaines
- WiFi sécurisé pour le personnel : hostapd et IEEE 802.1X
- Segmentation multi-tenant : PPSK OpenWrt configuration
- Guide d'implémentation
- Étape 1 : Récupérer les identifiants RADIUS Purple
- Étape 2 : Installer et configurer CoovaChilli pour le WiFi invité
- Étape 3 : Configurer l'interface sans fil OpenWrt pour le SSID invité
- Étape 4 : Configurer hostapd pour le WiFi personnel 802.1X
- Étape 5 : Configurer le PPSK pour la segmentation multi-locataire
- Étape 6 : Configurer l'attribution dynamique de VLAN
- Bonnes pratiques
- Dépannage et atténuation des risques
- ROI et impact commercial

Résumé exécutif
OpenWrt est le firmware de choix pour les équipes informatiques qui ont besoin d'une indépendance matérielle sans sacrifier le contrôle de niveau entreprise. Déployé dans les secteurs de l'hôtellerie, de la vente au détail et du secteur public, il fournit une pile réseau basée sur Linux entièrement configurable. Mais par défaut, OpenWrt est une page blanche. Sans couche d'identité structurée, les réseaux invités deviennent ingérables, les réseaux du personnel restent non sécurisés et les environnements multi-tenant s'effondrent en un seul réseau plat.
Ce guide fournit le guide d'intégration définitif pour connecter OpenWrt à la plateforme de Captive Portal et de RADIUS cloud de Purple. Nous couvrons quatre scénarios de déploiement distincts : la redirection vers le Captive Portal invité à l'aide de CoovaChilli, la configuration du walled garden via iptables, le WiFi sécurisé pour le personnel à l'aide de hostapd avec IEEE 802.1X, et la segmentation multi-tenant à l'aide de clés privées pré-partagées (PPSK) avec attribution dynamique de VLAN. À la fin, vous disposerez des paramètres de configuration exacts, des modes de défaillance courants et des cadres de décision nécessaires pour déployer un réseau basé sur l'identité, prêt pour la production et conforme au GDPR, sur n'importe quel matériel compatible OpenWrt.
Purple est présent dans plus de 80 000 sites actifs et a traité 440 millions de connexions en 2024 (données internes de Purple, 2024). L'architecture décrite ici est la même que celle déployée à grande échelle dans les chaînes hôtelières, les parcs de vente au détail et les hubs de transport.
Analyse technique approfondie
L'architecture du Captive Portal CoovaChilli
Lors du déploiement du WiFi invité sur OpenWrt, CoovaChilli est le contrôleur d'accès standard de l'industrie. Il fonctionne comme un démon de Captive Portal qui intercepte le trafic des clients non authentifiés, attribue des adresses IP via son serveur DHCP interne sur l'interface virtuelle tun0, et applique les politiques de walled garden à l'aide de règles iptables qu'il gère directement.
Le flux d'authentification fonctionne comme suit. Un appareil invité s'associe au SSID ouvert. CoovaChilli lui attribue une adresse IP à partir de son pool interne (généralement 10.1.0.0/24). Lorsque l'appareil envoie sa première requête HTTP, CoovaChilli l'intercepte et émet une redirection HTTP 302 vers l'URL de la splash page de Purple. Pendant cette phase de pré-authentification, l'appareil est isolé - il ne peut atteindre que les domaines explicitement répertoriés dans le walled garden.
Une fois que l'invité s'est authentifié sur le portail Purple, le serveur RADIUS cloud de Purple envoie un message Access-Accept à CoovaChilli sur le port UDP 1812. CoovaChilli met ensuite à jour ses règles iptables pour autoriser l'accès à internet pour cette adresse MAC spécifique et commence à transmettre les données de comptabilité (durée de la session, octets transférés) au serveur de comptabilité RADIUS de Purple sur le port UDP 1813. La comptabilité n'est pas facultative - c'est le mécanisme par lequel Purple alimente votre tableau de bord d' Analyses WiFi avec les données de session.

Walled garden : iptables et listes d'autorisation de domaines
Le walled garden est l'élément de configuration le plus critique sur le plan opérationnel dans tout déploiement de Captive Portal. CoovaChilli gère le walled garden via deux mécanismes : le paramètre uamallowed pour les adresses IP individuelles et le paramètre uamdomains pour l'autorisation basée sur les domaines avec inspection DNS.
Pour une intégration Purple, les entrées minimales requises pour le walled garden sont :
| Domaine | Objectif |
|---|---|
*.purple.ai |
Ressources du portail, API et points de terminaison d'authentification |
*.googleapis.com |
Google Fonts et connexion Google |
*.gstatic.com |
Vérification de la connectivité Google et ressources statiques |
*.facebook.com |
API de connexion Facebook |
*.fbcdn.net |
CDN de Facebook pour les ressources de connexion |
captive.apple.com |
Détection CNA d'Apple (voir note ci-dessous) |
connectivitycheck.gstatic.com |
Détection de Captive Portal Android |
Note sur la gestion du CNA d'Apple : Si vous incluez captive.apple.com dans le walled garden, les appareils iOS détecteront la connectivité internet avant l'authentification et supprimeront la fenêtre contextuelle du Captive Network Assistant. La plupart des déploiements dans l'hôtellerie excluent délibérément ce domaine pour déclencher l'invite automatique du portail. Le choix correct dépend de la conception de votre expérience client.
WiFi sécurisé pour le personnel : hostapd et IEEE 802.1X
Les réseaux invités exigent une intégration sans friction. Les réseaux du personnel exigent une sécurité absolue. Pour les utilisateurs internes, OpenWrt utilise hostapd pour faciliter l'authentification IEEE 802.1X. Dans cette architecture, le point d'accès OpenWrt agit comme l'authentificateur, transmettant les messages EAP (Extensible Authentication Protocol) entre l'appareil client (demandeur) et le serveur RADIUS de Purple.
Pour les appareils d'entreprise, l'EAP-TLS est la norme obligatoire. Il repose sur une authentification mutuelle par certificat - le serveur et l'appareil client présentent tous deux des certificats numériques - éliminant complètement les mots de passe et les risques associés de vol d'identifiants ou de phishing. Pour les environnements qui ne sont pas encore prêts pour une infrastructure à clé publique (PKI) complète, PEAP-MSCHAPv2 constitue une option intermédiaire raisonnable, utilisant un tunnel chiffré pour protéger les identifiants de l'utilisateur.
Lorsqu'un membre du personnel s'authentifie avec succès, le serveur RADIUS renvoie des attributs d'autorisation. L'attribut clé pour la segmentation du réseau est Tunnel-Private-Group-ID, qui demande à OpenWrt d'attribuer dynamiquement l'utilisateur au bon VLAN. C'est le mécanisme qui sous-tend les réseaux basés sur l'identité : l'identité de l'utilisateur, et non son emplacement physique, détermine son accès au réseau.
Segmentation multi-tenant : PPSK OpenWrt configuration
Dans les environnements multi-locataires - espaces de coworking, propriétés résidentielles locatives (BTR), centres commerciaux multi-enseignes ou stades avec des zones de sponsors distinctes - la diffusion de plusieurs SSID est coûteuse sur le plan opérationnel et inefficace en termes de radiofréquences (RF). Chaque SSID supplémentaire ajoute une surcharge de trames de gestion, réduisant le temps d'antenne disponible pour le trafic de données.
Les clés pré-partagées privées (PPSK), parfois appelées PSK dynamiques, résolvent ce problème. Vous diffusez un seul SSID. Lorsqu'un appareil tente de se connecter, hostapd envoie l'adresse MAC de l'appareil au serveur RADIUS via une requête Access-Request standard. Le serveur RADIUS valide l'adresse MAC par rapport à sa base de données et renvoie un Access-Accept contenant deux attributs critiques : l'attribut Tunnel-Password (le mot de passe unique pour cet appareil) et l'attribut Tunnel-Private-Group-ID (l'attribution du VLAN). L'appareil se connecte à l'aide de son mot de passe unique et est placé directement sur le VLAN qui lui est attribué.
Cela signifie qu'un responsable de magasin et un participant à un événement peuvent se connecter au même SSID mais être redirigés vers des réseaux entièrement distincts et isolés en fonction de leur identité unique.

Guide d'implémentation
Étape 1 : Récupérer les identifiants RADIUS Purple
Avant de modifier la configuration d'OpenWrt, récupérez les éléments suivants depuis la console d'administration du portail Purple :
- Adresse IP du serveur RADIUS principal
- Adresse IP du serveur RADIUS secondaire (pour le basculement)
- Secret partagé RADIUS
- URL de la page d'accueil (Splash Page) du Captive Portal
- URL de redirection post-authentification
Étape 2 : Installer et configurer CoovaChilli pour le WiFi invité
Installez le paquet coova-chilli via opkg :
opkg update && opkg install coova-chilli
Le fichier de configuration principal est /etc/chilli/defaults. Définissez les paramètres réseau de base :
# Interfaces réseau
HS_WANIF=eth0 # Interface internet amont
HS_LANIF=wlan0 # L'interface WiFi invité (ou une sous-interface VLAN)
# Sous-réseau invité
HS_NETWORK=10.10.20.0
HS_NETMASK=255.255.255.0
HS_UAMLISTEN=10.10.20.1 # IP de CoovaChilli sur le réseau invité
HS_UAMPORT=3990
# Intégration RADIUS Purple
HS_RADIUS=
HS_RADIUS2=
HS_RADSECRET=
HS_NASID=venue-openwrt-01
# Page d'accueil Purple
HS_UAMSERVER=
# Walled garden - liste d'autorisation basée sur le domaine
HS_UAMDOMAINS=".purple.ai,.googleapis.com,.gstatic.com,.facebook.com,.fbcdn.net"
Activez et démarrez le service :
/etc/init.d/chilli enable
/etc/init.d/chilli start
Étape 3 : Configurer l'interface sans fil OpenWrt pour le SSID invité
Dans /etc/config/wireless, définissez le SSID invité comme un réseau ouvert lié à l'interface que CoovaChilli va gérer :
config wifi-iface 'guest_wifi'
option device 'radio0'
option network 'guest'
option mode 'ap'
option ssid 'Venue_Guest'
option encryption 'none'
option isolate '1'
L'isolation des clients (isolate '1') empêche les appareils invités de communiquer entre eux - un contrôle de sécurité obligatoire pour tout réseau partagé.
Étape 4 : Configurer hostapd pour le WiFi personnel 802.1X
Pour le SSID du personnel, configurez WPA2-Enterprise dans /etc/config/wireless :
config wifi-iface 'staff_wifi'
option device 'radio0'
option network 'staff_vlan10'
option mode 'ap'
option ssid 'Venue_Staff'
option encryption 'wpa2'
option server ''
option port '1812'
option key ''
option dynamic_vlan '2'
option vlan_tagged_interface 'eth0'
option vlan_bridge 'br-vlan'
option vlan_naming '0'
Le paramètre dynamic_vlan '2' indique à hostapd d'appliquer l'attribution de VLAN renvoyée par le serveur RADIUS, et de rejeter l'authentification si aucun VLAN n'est renvoyé.
Prérequis du paquet : Le paquet standard wpad-mini ne prend pas en charge WPA2-Enterprise. Vous devez installer wpad ou wpad-openssl :
opkg remove wpad-mini && opkg install wpad-openssl
Étape 5 : Configurer le PPSK pour la segmentation multi-locataire
Le PPSK nécessite que hostapd effectue une authentification par adresse MAC auprès du serveur RADIUS, qui renvoie ensuite le mot de passe par appareil. Dans /etc/config/wireless :
config wifi-iface 'ppsk_ssid'
option device 'radio0'
option mode 'ap'
option ssid 'Venue_Connect'
option encryption 'psk2'
option key 'default_fallback_key'
option macfilter 'radius'
option server ''
option port '1812'
option key ''
option dynamic_vlan '2'
option vlan_tagged_interface 'eth0'
option wpa_psk_radius '2'
Le paramètre wpa_psk_radius '2' indique à hostapd d'exiger l'attribut Tunnel-Password de la réponse RADIUS. Si le serveur RADIUS ne renvoie pas de mot de passe, l'authentification est rejetée.
Du côté de RADIUS Purple, la section authorize de votre configuration FreeRADIUS (ou équivalent) associe les adresses MAC aux mots de passe et aux identifiants de VLAN :
# Exemple d'entrée d'autorisation RADIUS pour PPSK
AA:BB:CC:DD:EE:FF Auth-Type := Accept
Tunnel-Password = "GuestPass2024",
Tunnel-Type = VLAN,
Tunnel-Medium-Type = IEEE-802,
Tunnel-Private-Group-ID = "20"
Étape 6 : Configurer l'attribution dynamique de VLAN
Pour que l'attribution dynamique de VLAN fonctionne, votre commutateur OpenWrt doit être configuré pour acheminer les VLAN concernés en tant que trafic balisé (tagged) sur le port trunk connecté à votre commutateur principal. Dans /etc/config/network :
config interface 'vlan10'
option ifname 'eth0.10'
option proto 'dhcp'
config interface 'vlan20'
option ifname 'eth0.20'
option proto 'dhcp'
config interface 'vlan30'
option ifname 'eth0.30'
option proto 'dhcp'
Assurez-vous que le port de votre commutateur principal est configuré en mode trunk, transmettant les VLAN 10, 20 et 30 balisés (tagged).
Bonnes pratiques
Ségrégation absolue du réseau. Ne pontez jamais gles interfaces invités avec les réseaux internes. Le trafic invité doit être isolé sur un VLAN dédié et routé directement vers le pare-feu Internet. Il s'agit d'une exigence non négociable pour la conformité PCI DSS 4.0, qui impose que les réseaux WiFi invités soient complètement isolés de tout segment de réseau traitant des données de titulaires de cartes.
Précision du walled garden. Un walled garden incomplet est la cause principale des échecs de Captive Portal. Utilisez les outils de développement de votre navigateur sur un appareil de test connecté au SSID invité pour identifier les requêtes bloquées avant l'authentification. Chaque domaine bloqué est un échec potentiel du portail.
Intervalles de comptabilité RADIUS. Configurez l'intervalle intermédiaire de comptabilité CoovaChilli sur 120 secondes. Cela fournit des données de session en temps quasi réel dans le tableau de bord analytique de Purple sans générer de trafic RADIUS excessif.
Serveur RADIUS secondaire. Configurez toujours HS_RADIUS2 dans votre configuration CoovaChilli. Si le serveur RADIUS Purple principal est injoignable, CoovaChilli ne parviendra pas à authentifier les nouvelles sessions. Le serveur secondaire assure un basculement automatique sans qu'aucune modification de configuration ne soit requise au niveau du point d'accès.
Sélection des packages. Le package wpad-mini inclus dans de nombreuses versions d'OpenWrt ne prend pas en charge le WPA2-Enterprise ou l'attribution dynamique de VLAN. Installez toujours wpad-openssl pour tout déploiement nécessitant le 802.1X ou le PPSK.
Pour obtenir plus de conseils sur l'architecture de sécurité WiFi d'entreprise, consultez notre guide Sécurité WiFi d'entreprise : un guide complet pour 2026 .
Dépannage et atténuation des risques
| Symptôme | Cause probable | Résolution |
|---|---|---|
| Le portail ne se charge pas après la redirection | Walled garden incomplet | Ajoutez les domaines CDN/API manquants à HS_UAMDOMAINS |
| L'authentification échoue silencieusement | Incohérence du secret partagé RADIUS | Vérifiez que HS_RADSECRET correspond exactement dans CoovaChilli et dans le portail Purple |
| Aucune donnée dans les analyses Purple | Comptabilité RADIUS bloquée | Vérifiez que le port UDP sortant 1813 est autorisé ; vérifiez la configuration de comptabilité HS_RADIUS2 |
| iOS n'affiche pas la fenêtre contextuelle du portail | captive.apple.com dans le walled garden |
Supprimez les domaines de détection d'Apple de HS_UAMDOMAINS |
| Les clients PPSK se retrouvent sur le mauvais VLAN | vlan_tagged_interface mal configurée |
Vérifiez la configuration du port trunk sur OpenWrt et sur le commutateur principal |
| L'authentification 802.1X échoue avec une erreur wpad | wpad-mini installé |
Supprimez wpad-mini, installez wpad-openssl |
| Le VLAN dynamique échoue sur ath10k | Problème de pilote connu dans les anciennes versions | Mettez à jour vers OpenWrt 21.02 ou version ultérieure ; utilisez le firmware ath10k non-CT |
Note sur la conformité GDPR : CoovaChilli lui-même ne capture ni ne stocke de données personnelles. Tous les mécanismes de capture de consentement, de traitement des données et de conformité GDPR sont gérés par la plateforme Purple au niveau de la couche du portail. Assurez-vous que votre portail Purple est configuré avec les conditions générales de votre établissement et l'avis de traitement des données avant la mise en service.
Pour les schémas d'intégration de matériel associés, consultez nos guides sur l'intégration des points d'accès EnGenius Cloud avec Purple WiFi et l'intégration des routeurs et points d'accès DrayTek Vigor avec Purple WiFi .
ROI et impact commercial
La transition de réseaux PSK de base vers une architecture OpenWrt gérée par Purple produit un impact mesurable sur trois dimensions.
Capture de données et marketing. En imposant l'authentification par Captive Portal, les établissements capturent des données démographiques de première partie conformes — noms, adresses e-mail, profils sociaux — au point de connexion WiFi. Ces données alimentent directement les plateformes de CRM et d'e-mail marketing, stimulant les inscriptions aux programmes de fidélité et permettant des campagnes ciblées. Purple a traité 440 millions de connexions en 2024 (données internes de Purple), démontrant l'ampleur de la capture de données de première partie possible à la périphérie du réseau.
Efficacité opérationnelle. L'implémentation du PPSK réduit la surcharge liée au SSID, améliorant ainsi les performances WiFi dans les environnements denses. Pour une chaîne de vente au détail de 200 points de vente, la gestion centralisée des identités via le RADIUS cloud de Purple — plutôt que la mise à jour des configurations de routeurs locaux sur chaque site — permet d'économiser des centaines d'heures d'ingénierie par an. Une seule modification de politique RADIUS se propage instantanément aux 200 sites.
Sécurité et conformité. L'attribution dynamique de VLAN applique un accès de moindre privilège à la périphérie. Le personnel est isolé des invités. Les appareils IoT sont isolés du personnel. Les terminaux de point de vente (POS) sont isolés de tout autre trafic. Cette segmentation répond aux exigences d'isolation réseau de la norme PCI DSS 4.0 et fournit une topologie réseau claire et auditable pour les examens de conformité GDPR.
Pour des modèles de déploiement spécifiques à chaque secteur, consultez nos guides pour les environnements du Commerce de détail , de l'Hôtellerie , de la Santé et des Transports . Vous pouvez également trouver notre guide sur Qu'est-ce que l'affichage sans fil : protocoles et meilleures pratiques 2026 utile pour comprendre les technologies sans fil complémentaires dans les déploiements sur site.
Définitions clés
CoovaChilli
Un contrôleur d'accès logiciel open-source qui fournit un Captive Portal et un environnement de walled garden pour les réseaux sans fil, utilisant RADIUS pour l'authentification et la comptabilité.
Les équipes informatiques déploient CoovaChilli sur OpenWrt pour intercepter le trafic HTTP des invités et le rediriger vers la splash page de Purple. Il gère les règles iptables qui appliquent le walled garden et accordent l'accès à internet après l'authentification.
Walled garden
Une liste d'autorisation stricte d'adresses IP ou de domaines auxquels un utilisateur non authentifié peut accéder avant de terminer l'authentification sur le Captive Portal.
Essentiel pour permettre aux appareils des invités de charger les graphiques du portail Purple et d'accéder aux API de connexion des réseaux sociaux tout en bloquant l'accès général à internet. Un walled garden incomplet est la cause la plus fréquente d'échec du Captive Portal.
PPSK (Private Pre-Shared Key)
Un mécanisme de sécurité dans lequel des phrases de passe uniques sont attribuées à des utilisateurs ou appareils individuels pour le même SSID WiFi, RADIUS renvoyant la phrase de passe correcte et l'attribution de VLAN par adresse MAC d'appareil.
Utilisé pour segmenter les environnements multi-tenant sans diffuser plusieurs SSIDs. Pris en charge dans OpenWrt via le paramètre wpa_psk_radius=2 dans hostapd.
Dynamic VLAN assignment
Le processus par lequel un serveur RADIUS demande au point d'accès de placer un utilisateur authentifié spécifique sur un réseau local virtuel (VLAN) spécifique, en utilisant les attributs RADIUS Tunnel-Type, Tunnel-Medium-Type et Tunnel-Private-Group-ID.
Le mécanisme central des réseaux basés sur l'identité. L'identité de l'utilisateur, et non son port physique, détermine son segment de réseau et ses droits d'accès.
IEEE 802.1X
La norme IEEE pour le contrôle d'accès réseau basé sur les ports, définissant les rôles d'authentificateur (point d'accès), de demandeur (appareil client) et de serveur d'authentification (RADIUS) dans l'authentification WiFi d'entreprise.
Le protocole sous-jacent pour le WiFi sécurisé du personnel sur OpenWrt. Nécessite le package complet wpad ou wpad-openssl - wpad-mini ne le prend pas en charge.
EAP-TLS (Extensible Authentication Protocol - Transport Layer Security)
Une méthode d'authentification 802.1X qui utilise une authentification mutuelle basée sur des certificats, exigeant que le serveur RADIUS et l'appareil client présentent tous deux des certificats numériques valides.
La référence absolue pour l'authentification des appareils d'entreprise. Élimine complètement les mots de passe, neutralisant le vol d'identifiants et les attaques de phishing. Nécessite une infrastructure PKI pour émettre des certificats clients.
Captive Network Assistant (CNA)
Le pseudo-navigateur que les appareils iOS et Android affichent automatiquement lorsqu'ils détectent qu'ils se trouvent derrière un Captive Portal, sur la base de requêtes vers des URL de détection spécifiques.
Les ingénieurs réseau doivent gérer soigneusement leurs walled gardens pour contrôler si le CNA se déclenche automatiquement. La plupart des déploiements dans le secteur de l'hôtellerie excluent les domaines de détection d'Apple et de Google pour forcer l'apparition de la fenêtre contextuelle du CNA.
RADIUS accounting
Le troisième pilier du framework AAA (Authentification, Autorisation, Comptabilité), suivant la consommation des ressources réseau en enregistrant les événements de début de session, de mises à jour intermédiaires et de fin de session sur le port UDP 1813.
Requis par Purple pour alimenter le tableau de bord analytique avec la durée des sessions et les données de bande passante. Configuré dans CoovaChilli via HS_RADIUS2 et le paramètre radiusacctport.
hostapd
Le démon de point d'accès open-source IEEE 802.11 utilisé par OpenWrt pour gérer les interfaces sans fil, prenant en charge les modes d'authentification WPA2/WPA3-Enterprise, 802.1X et PPSK.
Le démon central pour le WiFi du personnel et PPSK sur OpenWrt. Le package wpad-openssl fournit la version complète de hostapd requise pour l'authentification d'entreprise.
Tunnel-Password attribute
Un attribut RADIUS (attribut 69) utilisé dans les déploiements PPSK pour renvoyer une phrase de passe par appareil depuis le serveur RADIUS vers le point d'accès lors de l'authentification MAC.
Le mécanisme par lequel le serveur RADIUS de Purple fournit des clés PSK uniques au démon hostapd d'OpenWrt pour la segmentation multi-tenant basée sur PPSK.
Exemples concrets
Un hôtel de 200 chambres doit fournir un accès WiFi à plusieurs niveaux : un accès internet de base gratuit pour les clients, un accès haut débit pour les membres du programme de fidélité, et un accès sécurisé pour les terminaux de point de vente du personnel. L'équipe informatique souhaite minimiser la surcharge de SSID et imposer une isolation réseau PCI DSS entre les terminaux de point de vente et le trafic des clients.
Déployez des points d'accès OpenWrt diffusant deux SSIDs : 'Hotel_Guest' (ouvert, géré par CoovaChilli) et 'Hotel_Secure' (géré par PPSK via hostapd). Sur 'Hotel_Guest', CoovaChilli redirige tout le trafic non authentifié vers la splash page de Purple. Les clients s'authentifient via le portail et arrivent sur le VLAN 20 (internet uniquement). Sur 'Hotel_Secure', configurez hostapd avec wpa_psk_radius=2. Lorsqu'un appareil de membre de fidélité se connecte, le serveur RADIUS renvoie sa clé PSK unique et le VLAN 21 (niveau de bande passante supérieur). Lorsqu'un terminal de point de vente se connecte, le serveur RADIUS renvoie la clé PSK de l'appareil de point de vente et le VLAN 10 (accès au réseau interne, internet bloqué). La segmentation VLAN impose l'isolation PCI DSS entre les données des titulaires de carte (VLAN 10) et le trafic des clients (VLANs 20 et 21) au niveau du point d'accès.
Une chaîne de vente au détail déploie des routeurs OpenWrt sur 50 sites. Lors de l'UAT sur le premier site, la splash page de Purple se charge correctement après la redirection, mais un clic sur le bouton de connexion Facebook entraîne une expiration de la connexion. Le bouton de connexion Google fonctionne correctement.
Le problème provient d'un walled garden CoovaChilli incomplet. Le flux d'authentification de Facebook nécessite l'accès à plusieurs domaines : facebook.com, connect.facebook.net et fbcdn.net (le CDN de Facebook pour les éléments de connexion). La connexion Google fonctionne car googleapis.com et gstatic.com sont déjà dans le walled garden. Mettez à jour le paramètre HS_UAMDOMAINS dans /etc/chilli/defaults pour ajouter '.facebook.com,.connect.facebook.net,.fbcdn.net'. Rechargez le démon chilli avec '/etc/init.d/chilli restart' et testez à nouveau. Pour diagnostiquer systématiquement les futurs problèmes de walled garden, connectez un appareil de test au SSID invité et utilisez les outils de développement du navigateur (onglet Réseau) pour identifier les requêtes qui renvoient des erreurs de connexion avant l'authentification.
Questions d'entraînement
Q1. Vous avez déployé OpenWrt avec CoovaChilli dans un établissement Premier Inn. Les clients signalent que leurs iPhones ne les invitent pas automatiquement à se connecter lorsqu'ils se connectent au WiFi invité. Ils doivent ouvrir manuellement Safari et naviguer vers un site HTTP pour déclencher le portail. Quel changement de configuration provoque cela, et comment le résolvez-vous ?
Conseil : Considérez comment iOS détermine si un réseau dispose d'un accès internet complet lors de l'association.
Voir la réponse type
L'ingénieur a inclus le domaine de détection de Captive Portal d'Apple (captive.apple.com) dans le walled garden de CoovaChilli via HS_UAMDOMAINS. Lorsqu'un iPhone se connecte, iOS envoie une requête de test à captive.apple.com. Comme ce domaine se trouve dans le walled garden, le test réussit avant l'authentification, et iOS en conclut qu'il dispose d'un accès internet complet, ce qui supprime l'apparition de la fenêtre contextuelle du Captive Network Assistant. Pour résoudre ce problème, supprimez captive.apple.com de HS_UAMDOMAINS et redémarrez le démon chilli. Les appareils iOS recevront alors une réponse d'échec au test, identifieront correctement le Captive Portal et afficheront automatiquement l'invite de connexion.
Q2. Un opérateur d'espace de coworking souhaite déployer des thermostats intelligents IoT sur l'ensemble de son parc. Il diffuse déjà un SSID 'Cowork_Guest' (CoovaChilli) et un SSID 'Cowork_Staff' (802.1X). Les thermostats ne prennent pas en charge le WPA2-Enterprise. Comment les intégrer de manière sécurisée sans ajouter de troisième SSID ?
Conseil : Les appareils IoT ne prennent généralement en charge que le WPA2-PSK. Considérez quel SSID existant peut être étendu pour prendre en charge des phrases de passe par appareil.
Voir la réponse type
Configurez PPSK sur le SSID 'Cowork_Staff' en activant wpa_psk_radius=2 dans la configuration de hostapd. Enregistrez l'adresse MAC de chaque thermostat dans le serveur RADIUS de Purple avec une phrase de passe unique et le VLAN 40 (VLAN IoT) comme Tunnel-Private-Group-ID. Lorsqu'un thermostat se connecte, hostapd interroge le serveur RADIUS avec le MAC de l'appareil, reçoit la clé PSK unique et l'attribution de VLAN, et place le thermostat sur le VLAN 40 - complètement isolé du trafic du personnel sur le VLAN 10. Cette approche évite un troisième SSID, maintient l'efficacité spectrale (RF) et applique un accès de moindre privilège pour les appareils IoT sans nécessiter d'infrastructure de certificats 802.1X.
Q3. Après avoir déployé OpenWrt avec CoovaChilli sur un site de vente au détail, le tableau de bord analytique de Purple affiche zéro session active et aucune donnée de bande passante, bien que les invités se connectent et naviguent correctement sur internet. Quelle est la cause la plus probable, et quelles sont les deux étapes pour la diagnostiquer ?
Conseil : L'authentification (port 1812) et la comptabilité (port 1813) sont des fonctions RADIUS distinctes.
Voir la réponse type
La configuration de la comptabilité (accounting) RADIUS est manquante ou bloquée. Étape 1 : Vérifiez la configuration de CoovaChilli. Assurez-vous que HS_RADIUS et HS_RADIUS2 sont correctement définis dans /etc/chilli/defaults, et confirmez que le radiusacctport est défini sur 1813. Si HS_RADIUS2 n'est pas configuré, aucun serveur de comptabilité n'est défini. Étape 2 : Vérifiez les règles du pare-feu. Confirmez que le trafic sortant du port UDP 1813 depuis le routeur OpenWrt vers les adresses IP du serveur RADIUS de Purple est autorisé par le pare-feu périphérique du site. Utilisez 'tcpdump -i eth0 udp port 1813' sur l'appareil OpenWrt pour confirmer si des paquets de comptabilité sont envoyés. Si des paquets apparaissent dans tcpdump mais que le tableau de bord reste vide, le problème provient d'un pare-feu qui bloque le trafic entre le routeur et les serveurs RADIUS cloud de Purple.
Q4. Un déploiement OpenWrt dans un stade utilise l'attribution dynamique de VLAN via RADIUS pour segmenter le WiFi des supporters (VLAN 30), des médias (VLAN 40) et des opérations (VLAN 50). Après avoir mis à niveau les points d'accès vers un nouveau matériel exécutant OpenWrt 19.07 avec des pilotes ath10k, l'attribution de VLAN ne fonctionne plus. Les utilisateurs authentifiés se retrouvent tous sur le VLAN par défaut, quels que soient les attributs RADIUS. Quelle est la cause connue ?
Conseil : Considérez la prise en charge au niveau du pilote pour le mode AP/VLAN dans ath10k.
Voir la réponse type
Il s'agit d'une régression connue dans le firmware ath10k-ct (Candela Technologies) inclus dans OpenWrt 19.07. Le pilote ath10k-ct de cette version présente un bug qui casse le mode AP/VLAN, empêchant le fonctionnement de l'attribution dynamique de VLAN. La solution consiste à passer à OpenWrt 21.02 ou version ultérieure, où le pilote ath10k-ct a été mis à jour pour restaurer la fonctionnalité AP/VLAN. Alternativement, remplacez le firmware ath10k-ct par le firmware ath10k standard (variante non-CT) sur la version 19.07. Ce problème n'affecte pas le matériel basé sur ath9k, qui gère correctement le mode AP/VLAN sur toutes les versions d'OpenWrt.
Continuer la lecture de cette série
Intégration de CommScope Ruckus avec Purple WiFi : Guide d'installation et de configuration
Ce guide de référence technique fournit un manuel de configuration faisant autorité pour l'intégration des architectures CommScope Ruckus avec Purple WiFi. Il détaille les déploiements étape par étape pour les Captive Portals de WiFi invité, le WiFi personnel sécurisé via 802.1X et l'isolation réseau multi-locataire à l'aide de Ruckus Dynamic PSK.
Allied Telesis Access Points Integration with Purple WiFi
Ce guide fournit un manuel de configuration complet pour intégrer les points d'accès Allied Telesis de la série TQ avec Purple WiFi. Il couvre la redirection vers un Captive Portal externe, l'authentification RADIUS 802.1X et le routage dynamique des VLAN à l'aide de clés pré-partagées privées (PPSK) pour des déploiements multi-locataires sécurisés.
Grandstream GWN Access Points Integration with Purple WiFi
Ce guide de référence technique faisant autorité détaille comment intégrer les points d'accès Grandstream GWN avec la plateforme de Guest WiFi et d'analyse de Purple. Il couvre la configuration du Captive Portal Grandstream, les paramètres RADIUS AAA, la configuration du walled garden, l'authentification sécurisée du personnel en 802.1X avec routage VLAN dynamique, et la segmentation PPSK multi-tenant - fournissant des instructions pratiques, étape par étape, pour les MSP et les équipes informatiques déployant du WiFi pour les invités et le personnel à grande échelle.