Zum Hauptinhalt springen

OpenWrt Custom Firmware Integration mit Purple WiFi

Dieser Leitfaden bietet das vollständige Integrations-Playbook für die Bereitstellung von OpenWrt Custom Firmware mit Purple WiFi. Er deckt die CoovaChilli Captive Portal-Konfiguration, das iptables Walled Garden-Management, sicheres Mitarbeiter-WiFi mit 802.1X über hostapd sowie die mandantenfähige PPSK-Segmentierung mit dynamischer VLAN-Zuweisung ab – und liefert IT-Teams die exakten Konfigurationsschritte, die für den Aufbau eines identitätsbasierten Netzwerks auf jeder OpenWrt-fähigen Hardware erforderlich sind.

📖 9 Min. Lesezeit📝 2,146 Wörter🔧 2 ausgearbeitete Beispiele4 Übungsfragen📚 10 Schlüsseldefinitionen

Diesen Leitfaden anhören

Podcast-Transkript ansehen
[0:00 - 1:00] Einführung & Kontext Willkommen zum Purple Technical Briefing. Ich bin Ihr Moderator, und in den nächsten zehn Minuten werden wir die Integration der benutzerdefinierten OpenWrt-Firmware mit Purple WiFi analysieren. Wenn Sie IT-Manager, Netzwerkarchitekt oder CTO sind und benutzerdefinierte Firmware in der Hotellerie, im Einzelhandel oder im öffentlichen Sektor bereitstellen, ist dieses Briefing genau das Richtige für Sie. Wir verzichten auf akademische Theorie und liefern Ihnen die exakte Anleitung zur Konfiguration von CoovaChilli, zur Absicherung von Mitarbeiternetzwerken mit 802.1X und zur Segmentierung von Multi-Tenant-Umgebungen mithilfe von Private Pre-Shared Keys. Warum ist das wichtig? Weil die Bereitstellung einer benutzerdefinierten Firmware wie OpenWrt Ihnen unglaubliche Flexibilität und Hardware-Unabhängigkeit bietet. Doch ohne eine strukturierte, identitätsbasierte Zugriffskontrollebene wird diese Flexibilität zu einem Sicherheitsrisiko. Sie müssen First-Party-Daten sicher erfassen, die GDPR-Konformität gewährleisten und Ihren Datenverkehr zuverlässig segmentieren. Lassen Sie uns direkt in die technischen Details einsteigen. [1:00 - 6:00] Technische Details Der Kern der OpenWrt-Integration basiert auf CoovaChilli. CoovaChilli ist der Open-Source-Access-Controller, der nicht authentifizierten Client-Datenverkehr abfängt und an das Purple Captive Portal weiterleitet. Wenn sich ein Gast mit Ihrer offenen SSID verbindet, fungiert CoovaChilli als Gatekeeper. Es weist über seinen eigenen internen DHCP-Server, der auf der tun0-Schnittstelle läuft, eine IP-Adresse zu und blockiert den gesamten Datenverkehr mit Ausnahme dessen, was Sie explizit im Walled Garden freigegeben haben. Wenn der Gast versucht zu surfen, fängt CoovaChilli die HTTP-Anfrage ab und leitet sie an die Purple-Splash-Page weiter. Hier ist die Konfiguration des Walled Garden entscheidend. In Ihrer chilli.conf-Datei müssen Sie den Parameter HS_UAMDOMAINS definieren. Dies ist eine kommagetrennte Liste von Domains, die Gäste vor der Authentifizierung erreichen können. Sie müssen splash.purple.ai, api.purple.ai und die verschiedenen CDN-Domains enthalten, die wir zur Bereitstellung der Portal-Assets verwenden. Wenn Sie eine Domain vergessen, wird das Portal nicht geladen oder die Social-Login-Buttons funktionieren nicht. So einfach ist das. Sobald sich der Gast im Purple-Portal authentifiziert, sendet der Cloud-RADIUS-Server von Purple eine Access-Accept-Nachricht über den UDP-Port 1812 an CoovaChilli zurück. CoovaChilli autorisiert dann die MAC-Adresse, öffnet die Firewall-Regeln für diese Sitzung und beginnt mit dem Senden von Accounting-Daten über den UDP-Port 1813. Accounting ist nicht optional. Darüber erfasst Purple die Sitzungsdauer und den Datenverbrauch für Ihr Analytics-Dashboard. Sprechen wir nun über das Mitarbeiter-WiFi. Für Mitarbeiter verwenden Sie CoovaChilli nicht. Für Mitarbeiternetzwerke nutzen Sie hostapd mit WPA2-Enterprise oder WPA3-Enterprise. Dies ist die Standard-802.1X-Authentifizierung. Der Access Point fungiert als Authentifikator und leitet EAP-Nachrichten an Ihren RADIUS-Server weiter. Für Unternehmensgeräte sollten Sie EAP-TLS bereitstellen, das digitale Zertifikate anstelle von Passwörtern verwendet. Dies schließt den Diebstahl von Anmeldedaten vollständig aus. Sie konfigurieren die hostapd.conf so, dass sie auf Ihren RADIUS-Server verweist, und der RADIUS-Server bestimmt die VLAN-Zuweisung für diesen spezifischen Benutzer. Dies bringt uns zu einer der leistungsstärksten Funktionen in modernen OpenWrt-Bereitstellungen: Private Pre-Shared Keys oder PPSK. In einer Multi-Tenant-Umgebung – beispielsweise einer Mietwohnanlage oder einem Coworking-Space – möchten Sie nicht fünfzig verschiedene SSIDs ausstrahlen. Das ruiniert die Effizienz Ihrer Sendezeit. Stattdessen strahlen Sie eine einzige SSID aus. Wenn sich ein Gerät verbindet, sendet hostapd die MAC-Adresse an den RADIUS-Server. Der RADIUS-Server antwortet mit einer spezifischen Passphrase und einer spezifischen VLAN-ID für dieses Gerät unter Verwendung des Attributs Tunnel-Password. Das bedeutet, dass der Einzelhandelsmitarbeiter in Geschäft A im VLAN 10 landet, während der Veranstaltungsteilnehmer in der Haupthalle dem VLAN 30 zugewiesen wird – obwohl sich alle mit exakt derselben SSID verbinden. Das ist elegant, skalierbar und setzt das Prinzip der minimalen Rechtevergabe direkt am Edge um. [6:00 - 8:00] Implementierungsempfehlungen & Fallstricke Lassen Sie uns über die Implementierung sprechen. Bei der Bereitstellung von OpenWrt mit Purple besteht Ihr erster Schritt immer darin, Ihre RADIUS-Anmeldedaten aus dem Purple-Portal abzurufen. Sie benötigen die primären und sekundären RADIUS-IP-Adressen, das Shared Secret und die Portal-URL. In Ihrer OpenWrt-Konfiguration definieren Sie Ihre Gastnetzwerk-Schnittstelle – typischerweise eth1 oder wlan0 – und binden CoovaChilli daran. Stellen Sie sicher, dass das HS_RADSECRET in Ihrer chilli.conf exakt mit dem im Purple-Portal übereinstimmt. Bereits eine Abweichung von einem einzigen Zeichen führt zu unbemerkten Authentifizierungsfehlern. Der größte Fallstrick, den wir sehen, ist die DNS-Auflösung vor der Authentifizierung. CoovaChilli fängt DNS-Anfragen ab. Wenn Ihre vorgeschaltete Firewall den OpenWrt-Router daran hindert, externes DNS aufzulösen, schlägt die Weiterleitung zum Captive Portal fehl. Stellen Sie sicher, dass Ihr OpenWrt-Router uneingeschränkten DNS-Zugriff auf öffentliche Resolver wie Google oder OpenDNS hat. Ein weiteres häufiges Problem sind die in iOS und Android integrierten Mechanismen zur Erkennung von Captive Portals. Apple-Geräte rufen captive.apple.com auf, um die Internetverbindung zu prüfen. Wenn Sie captive.apple.com in Ihrem Walled Garden auf die Whitelist setzen, denkt das Gerät, es hätte Internetzugriff, und der Assistent für Captive-Netzwerke wird nicht eingeblendet. Wenn Sie das automatische Pop-up wünschen, halten Sie die Domains von Apple aus dem Walled Garden heraus. [8:00 - 9:00] Schnelle Fragerunde Lassen Sie uns eine schnelle Fragerunde machen. Frage eins: Kann ich CoovaChilli und hostapd 802.1X auf demselben OpenWrt-Access-Point ausführen? Ja. Sie binden CoovaChilli an Ihre Gast-SSID-Schnittstelle und konfigurieren hostapd mit 802.1X auf Ihrer Mitarbeiter-SSID-Schnittstelle. Sie arbeiten unabhängig voneinander. Frage zweit: Unterstützt Purple die dynamische VLAN-Zuweisung mit OpenWrt? Ja. Die RADIUS-Server von Purple können Standard-RADIUS-Attribute zurückgeben, einschließlich Tunnel-Type, Tunnel-Medium-Type und Tunnel-Private-Group-ID, um OpenWrt anzuweisen, den authentifizierten Benutzer in ein bestimmtes VLAN zu leiten. Frage drei: Was passiert, wenn der OpenWrt-Router die Verbindung zum Purple-RADIUS-Server verliert? CoovaChilli kann neue Sitzungen nicht mehr authentifizieren. Bestehende autorisierte Sitzungen bleiben aktiv, bis ihr Sitzungs-Timeout abläuft. Konfigurieren Sie immer den sekundären Purple-RADIUS-Servero ensure high availability. [9:00 - 10:00] Zusammenfassung & Nächste Schritte Zusammenfassend lässt sich sagen: OpenWrt bietet eine robuste, hardwareunabhängige Plattform für Enterprise-WiFi. Durch die Integration von CoovaChilli für den Gastzugang und hostapd für sicheres Mitarbeiter- und mandantenfähiges PPSK bauen Sie ein identitätsbasiertes Netzwerk auf. Purple abstrahiert die Komplexität der RADIUS-Infrastruktur und bietet ein cloud-verwaltetes Captive Portal, das First-Party-Daten erfasst und die Einhaltung von Vorschriften gewährleistet. Ihr nächster Schritt besteht darin, Ihre aktuellen benutzerdefinierten Firmware-Bereitstellungen zu überprüfen. Stellen Sie sicher, dass Ihre Walled Gardens vollständig konfiguriert sind, verifizieren Sie Ihre RADIUS-Accounting-Intervalle und beginnen Sie mit der Planung Ihrer Migration von gemeinsam genutzten PSKs zu einer dynamischen PPSK-Segmentierung. Vielen Dank, dass Sie sich das Purple Technical Briefing angehört haben. Um mehr darüber zu erfahren, wie Purple Ihr Gast-WiFi sichern und monetarisieren kann, besuchen Sie purple.ai. Bis zum nächsten Mal.

header_image.png

Executive Summary

OpenWrt ist die Firmware der Wahl für IT-Teams, die Hardware-Unabhängigkeit benötigen, ohne auf Kontrolle auf Enterprise-Niveau zu verzichten. Eingesetzt in der Hotellerie, im Einzelhandel und im öffentlichen Sektor, bietet es einen vollständig konfigurierbaren Linux-basierten Netzwerk-Stack. Doch standardmäßig ist OpenWrt ein unbeschriebenes Blatt. Ohne eine strukturierte Identitätsebene werden Gastnetzwerke unüberschaubar, Mitarbeiternetzwerke bleiben unsicher und mandantenfähige Umgebungen kollabieren in ein einziges flaches Netzwerk.

Dieser Leitfaden bietet das definitive Integrations-Playbook für die Verbindung von OpenWrt mit der Cloud-RADIUS- und Captive Portal-Plattform von Purple. Wir behandeln vier verschiedene Bereitstellungsszenarien: die Weiterleitung zum Gast-Captive Portal mittels CoovaChilli, die Konfiguration des Walled Gardens über iptables, sicheres Mitarbeiter-WiFi mittels hostapd mit IEEE 802.1X sowie mandantenfähige Segmentierung mittels Private Pre-Shared Keys (PPSK) mit dynamischer VLAN-Zuweisung. Am Ende verfügen Sie über die exakten Konfigurationsparameter, die typischen Fehlermuster und die Entscheidungsrahmen, die für die Bereitstellung eines produktionsbereiten, GDPR-konformen und identitätsgesteuerten Netzwerks auf jeder OpenWrt-fähigen Hardware erforderlich sind.

Purple ist an über 80.000 Live-Standorten im Einsatz und hat im Jahr 2024 440 Millionen Logins verarbeitet (interne Daten von Purple, 2024). Die hier beschriebene Architektur entspricht genau derjenigen, die in großem Stil in Hotelketten, Einzelhandelsflächen und Verkehrsknotenpunkten eingesetzt wird.

Technischer Deep-Dive

Die CoovaChilli Captive Portal-Architektur

Bei der Bereitstellung von Guest WiFi auf OpenWrt ist CoovaChilli der Industriestandard-Access-Controller. Er fungiert als Captive Portal-Daemon, der nicht authentifizierten Client-Traffic abfängt, IP-Adressen über seinen internen DHCP-Server auf der virtuellen Schnittstelle tun0 bereitstellt und Walled-Garden-Richtlinien über direkt von ihm verwaltete iptables-Regeln durchsetzt.

Der Authentifizierungsfluss läuft wie folgt ab: Ein Gastgerät verbindet sich mit der offenen SSID. CoovaChilli weist dem Gerät eine IP-Adresse aus seinem internen Pool zu (typischerweise 10.1.0.0/24). Wenn das Gerät seine erste HTTP-Anfrage sendet, fängt CoovaChilli diese ab und leitet sie per HTTP 302-Redirect an die URL der Purple-Begrüßungsseite weiter. Während dieser Pre-Authentication-Phase ist das Gerät isoliert – es kann nur die Domains erreichen, die explizit im Walled Garden aufgeführt sind.

Sobald sich der Gast im Purple-Portal authentifiziert, sendet der Cloud-RADIUS-Server von Purple eine Access-Accept-Nachricht an CoovaChilli auf UDP-Port 1812. CoovaChilli aktualisiert daraufhin seine iptables-Regeln, um den Internetzugang für diese spezifische MAC-Adresse freizugeben, und beginnt mit der Übertragung von Accounting-Daten (Sitzungsdauer, übertragene Bytes) an den Purple-RADIUS-Accounting-Server auf UDP-Port 1813. Das Accounting ist nicht optional – es ist der Mechanismus, mit dem Purple Ihr WiFi Analytics -Dashboard mit Sitzungsdaten füllt.

architecture_overview.png

Walled Garden: iptables und Domain-Allowlists

Der Walled Garden ist das betrieblich kritischste Konfigurationselement in jeder Captive Portal-Bereitstellung. CoovaChilli verwaltet den Walled Garden über zwei Mechanismen: den Parameter uamallowed für einzelne IP-Adressen und den Parameter uamdomains für domainbasiertes Allolisting mit DNS-Überprüfung.

Für eine Purple-Integration sind die folgenden Walled-Garden-Einträge mindestens erforderlich:

Domain Zweck
*.purple.ai Portal-Assets, API und Authentifizierungs-Endpunkte
*.googleapis.com Google Fonts und Google Sign-In
*.gstatic.com Google-Konnektivitätsprüfung und statische Assets
*.facebook.com Facebook Login API
*.fbcdn.net Facebook CDN für Login-Assets
captive.apple.com Apple CNA-Erkennung (siehe Hinweis unten)
connectivitycheck.gstatic.com Android Captive Portal-Erkennung

Hinweis zur Apple CNA-Verwaltung: Wenn Sie captive.apple.com in den Walled Garden aufnehmen, erkennen iOS-Geräte die Internetverbindung bereits vor der Authentifizierung und unterdrücken das automatische Pop-up des Captive Network Assistant. In den meisten Hotel- und Gastronomie-Szenarien wird diese Domain bewusst ausgeschlossen, um den automatischen Portal-Aufruf zu erzwingen. Die richtige Wahl hängt von der Gestaltung Ihres Gäste-Erlebnisses ab.

Sicheres Mitarbeiter-WiFi: hostapd und IEEE 802.1X

Gastnetzwerke erfordern einen reibungslosen Onboarding-Prozess. Mitarbeiternetzwerke erfordern absolute Sicherheit. Für interne Benutzer verwendet OpenWrt hostapd, um die IEEE 802.1X-Authentifizierung zu ermöglichen. In dieser Architektur fungiert der OpenWrt Access Point als Authenticator, der Extensible Authentication Protocol (EAP)-Nachrichten zwischen dem Client-Gerät (Supplicant) und dem Purple-RADIUS-Server weiterleitet.

Für Unternehmensgeräte ist EAP-TLS der vorgeschriebene Standard. Er basiert auf einer gegenseitigen Zertifikatsauthentifizierung – sowohl der Server als auch das Client-Gerät weisen digitale Zertifikate vor –, wodurch Passwörter und die damit verbundenen Risiken von Diebstahl von Zugangsdaten oder Phishing vollständig eliminiert werden. Für Umgebungen, die noch nicht für eine vollständige Public-Key-Infrastruktur (PKI) bereit sind, bietet PEAP-MSCHAPv2 eine solide Übergangslösung, bei der ein verschlüsselter Tunnel zum Schutz von Benutzernamen und Passwörtern verwendet wird.

Wenn sich ein Mitarbeiter erfolgreich authentifiziert, gibt der RADIUS-Server Autorisierungsattribute zurück. Das Schlüsselattribut für die Netzwerksegmentierung ist Tunnel-Private-Group-ID, welches OpenWrt anweist, den Benutzer dynamisch dem richtigen VLAN zuzuweisen. Dies ist der Mechanismus hinter identitätsbasierten Netzwerken: Die Identität des Benutzers, nicht sein physischer Standort, bestimmt seinen Netzwerkzugriff.

Mandantenfähige Segmentierung: OpenWrt PPSK-Konfiguration

In Multi-Tenant-Umgebungen – wie Coworking Spaces, Build-to-Rent-Immobilien (BTR), Einkaufszentren mit mehreren Händlern oder Stadien mit separaten Sponsorenzonen – ist das Ausstrahlen mehrerer SSIDs betrieblich teuer und HF-ineffizient. Jede zusätzliche SSID erhöht den Overhead für Management-Frames, was die verfügbare Sendezeit für den Datenverkehr reduziert.

Private Pre-Shared Keys (PPSK), manchmal auch als dynamischer PSK bezeichnet, lösen dieses Problem. Sie strahlen eine einzige SSID aus. Wenn ein Gerät versucht, eine Verbindung herzustellen, sendet hostapd die MAC-Adresse des Geräts über einen Standard-Access-Request an den RADIUS-Server. Der RADIUS-Server gleicht die MAC-Adresse mit seiner Datenbank ab und gibt ein Access-Accept zurück, das zwei kritische Attribute enthält: das Attribut Tunnel-Password (das eindeutige Passwort für dieses Gerät) und das Attribut Tunnel-Private-Group-ID (die VLAN-Zuweisung). Das Gerät verbindet sich mit seinem eindeutigen Passwort und wird direkt in das zugewiesene VLAN geleitet.

Das bedeutet, dass sich ein Filialleiter und ein Event-Besucher mit derselben SSID verbinden können, aber basierend auf ihrer eindeutigen Identität in völlig separate, isolierte Netzwerke geleitet werden.

ppsk_multitenant_diagram.png

Implementierungsleitfaden

Schritt 1: Purple RADIUS-Anmeldedaten abrufen

Bevor Sie die OpenWrt-Konfiguration anpassen, rufen Sie die folgenden Daten aus der Purple-Portal-Administrationskonsole ab:

  • Primäre RADIUS-Server-IP-Adresse
  • Sekundäre RADIUS-Server-IP-Adresse (für Failover)
  • RADIUS Shared Secret
  • Captive Portal Splash Page URL
  • Redirect-URL nach der Authentifizierung

Schritt 2: CoovaChilli für Gäste-WiFi installieren und konfigurieren

Installieren Sie das Paket coova-chilli über opkg:

opkg update && opkg install coova-chilli

Die primäre Konfigurationsdatei ist /etc/chilli/defaults. Definieren Sie die Kernnetzwerkparameter:

# Netzwerkschnittstellen
HS_WANIF=eth0           # Upstream-Internetschnittstelle
HS_LANIF=wlan0          # Die Gäste-WiFi-Schnittstelle (oder eine VLAN-Unter-Schnittstelle)

# Gäste-Subnetz
HS_NETWORK=10.10.20.0
HS_NETMASK=255.255.255.0
HS_UAMLISTEN=10.10.20.1 # IP von CoovaChilli im Gästenetzwerk
HS_UAMPORT=3990

# Purple RADIUS-Integration
HS_RADIUS=
HS_RADIUS2=
HS_RADSECRET=
HS_NASID=venue-openwrt-01

# Purple Splash Page
HS_UAMSERVER=

# Walled Garden - domänenbasierte Freigabeliste
HS_UAMDOMAINS=".purple.ai,.googleapis.com,.gstatic.com,.facebook.com,.fbcdn.net"

Aktivieren und starten Sie den Dienst:

/etc/init.d/chilli enable
/etc/init.d/chilli start

Schritt 3: Die drahtlose OpenWrt-Schnittstelle für die Gäste-SSID konfigurieren

Definieren Sie in /etc/config/wireless die Gäste-SSID als offenes Netzwerk, das an die von CoovaChilli verwaltete Schnittstelle gebunden ist:

config wifi-iface 'guest_wifi'
    option device 'radio0'
    option network 'guest'
    option mode 'ap'
    option ssid 'Venue_Guest'
    option encryption 'none'
    option isolate '1'

Die Client-Isolierung (isolate '1') verhindert, dass Gäste-Geräte untereinander kommunizieren – eine zwingende Sicherheitsmaßnahme für jedes gemeinsam genutzte Netzwerk.

Schritt 4: hostapd für 802.1X Mitarbeiter-WiFi konfigurieren

Konfigurieren Sie für die Mitarbeiter-SSID WPA2-Enterprise in /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'

Die Einstellung dynamic_vlan '2' weist hostapd an, die vom RADIUS-Server zurückgegebene VLAN-Zuweisung zu erzwingen und die Authentifizierung abzulehnen, wenn kein VLAN zurückgegeben wird.

Paketanforderung: Das Standardpaket wpad-mini unterstützt kein WPA2-Enterprise. Sie müssen wpad oder wpad-openssl installieren:

opkg remove wpad-mini && opkg install wpad-openssl

Schritt 5: PPSK für Multi-Tenant-Segmentierung konfigurieren

PPSK erfordert, dass hostapd eine MAC-Adressen-Authentifizierung gegenüber dem RADIUS-Server durchführt, welcher dann das gerätespezifische Passwort zurückgibt. In /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'

Der Parameter wpa_psk_radius '2' weist hostapd an, das Attribut Tunnel-Password aus der RADIUS-Antwort zu verlangen. Wenn der RADIUS-Server kein Passwort zurückgibt, wird die Authentifizierung abgelehnt.

Auf der Seite von Purple RADIUS ordnet der Bereich authorize Ihrer FreeRADIUS-Konfiguration (oder einer Entsprechung) MAC-Adressen Passwörtern und VLAN-IDs zu:

# Beispiel für einen RADIUS-Autorisierungseintrag für 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"

Schritt 6: Dynamische VLAN-Zuweisung konfigurieren

Damit die dynamische VLAN-Zuweisung funktioniert, muss Ihr OpenWrt-Switch so konfiguriert sein, dass er die entsprechenden VLANs als getaggten Datenverkehr auf dem Trunk-Port überträgt, der mit Ihrem Core-Switch verbunden ist. In /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'

Stellen Sie sicher, dass Ihr Core-Switch-Port als Trunk konfiguriert ist und die VLANs 10, 20 und 30 getaggt weiterleitet.

Best Practices

Absolute Netzwerktrennung. Verbinden Sie niemals gGast-Schnittstellen mit internen Netzwerken. Der Gast-Traffic muss auf einem dedizierten VLAN isoliert und direkt zur Internet-Firewall geroutet werden. Dies ist eine unverhandelbare Anforderung für die PCI DSS 4.0-Compliance, die vorschreibt, dass Gast-WiFi-Netzwerke vollständig von allen Netzwerksegmenten isoliert sein müssen, die Karteninhaberdaten verarbeiten.

Präzision beim Walled Garden. Ein unvollständiger Walled Garden ist die Hauptursache für Fehler beim Captive Portal. Nutzen Sie die Entwicklertools Ihres Browsers auf einem Testgerät, das mit der Gast-SSID verbunden ist, um zu identifizieren, welche Anfragen vor der Authentifizierung blockiert werden. Jede blockierte Domain ist ein potenzieller Portal-Fehler.

RADIUS-Accounting-Intervalle. Konfigurieren Sie das CoovaChilli-Accounting-Intervall auf 120 Sekunden. Dies liefert nahezu Echtzeit-Sitzungsdaten im Purple-Analyse-Dashboard, ohne übermäßigen RADIUS-Traffic zu erzeugen.

Sekundärer RADIUS-Server. Konfigurieren Sie immer HS_RADIUS2 in Ihrer CoovaChilli-Konfiguration. Wenn der primäre Purple-RADIUS-Server nicht erreichbar ist, schlägt die Authentifizierung neuer Sitzungen durch CoovaChilli fehl. Der sekundäre Server bietet ein automatisches Failover, ohne dass eine Konfigurationsänderung am Access Point erforderlich ist.

Paketauswahl. Das Paket wpad-mini, das in vielen OpenWrt-Builds enthalten ist, unterstützt kein WPA2-Enterprise oder dynamische VLAN-Zuweisung. Installieren Sie für jede Bereitstellung, die 802.1X oder PPSK erfordert, immer wpad-openssl.

Weitere Informationen zur WiFi-Sicherheitsarchitektur für Unternehmen finden Sie in unserem Leitfaden Enterprise WiFi Security: A Complete Guide for 2026 .

Fehlerbehebung & Risikominderung

Symptom Wahrscheinliche Ursache Lösung
Portal lädt nach Weiterleitung nicht Unvollständiger Walled Garden Fehlende CDN-/API-Domains zu HS_UAMDOMAINS hinzufügen
Authentifizierung schlägt lautlos fehl RADIUS Shared Secret stimmt nicht überein Überprüfen Sie, ob HS_RADSECRET in CoovaChilli und im Purple-Portal exakt übereinstimmt
Keine Daten in Purple-Analytics RADIUS-Accounting blockiert Überprüfen Sie, ob ausgehender UDP-Port 1813 erlaubt ist; prüfen Sie die HS_RADIUS2-Accounting-Konfiguration
iOS zeigt kein Portal-Pop-up an captive.apple.com im Walled Garden Apple-Erkennungsdomains aus HS_UAMDOMAINS entfernen
PPSK-Clients landen im falschen VLAN vlan_tagged_interface falsch konfiguriert Überprüfen Sie die Trunk-Port-Konfiguration sowohl auf OpenWrt als auch auf dem Core-Switch
802.1X-Authentifizierung schlägt mit wpad-Fehler fehl wpad-mini installiert wpad-mini entfernen, wpad-openssl installieren
Dynamisches VLAN schlägt auf ath10k fehl Bekanntes Treiberproblem in älteren Builds Auf OpenWrt 21.02 oder neuer aktualisieren; Nicht-CT-ath10k-Firmware verwenden

Hinweis zur GDPR-Compliance: CoovaChilli selbst erfasst oder speichert keine personenbezogenen Daten. Alle Mechanismen zur Einwilligungserfassung, Datenverarbeitung und GDPR-Compliance werden von der Purple-Plattform auf der Portalebene abgewickelt. Stellen Sie sicher, dass Ihr Purple-Portal vor der Inbetriebnahme mit den Nutzungsbedingungen und dem Datenschutzhinweis Ihres Standorts konfiguriert ist.

Für verwandte Hardware-Integrationsmuster lesen Sie unsere Leitfäden über EnGenius Cloud Access Points Integration mit Purple WiFi und DrayTek Vigor Routers und Access Points Integration mit Purple WiFi .

ROI & geschäftliche Auswirkungen

Der Übergang von einfachen PSK-Netzwerken zu einer von Purple verwalteten OpenWrt-Architektur liefert messbare Ergebnisse in drei Dimensionen.

Datenerfassung und Marketing. Durch die Erzwingung der Captive Portal-Authentifizierung erfassen Standorte datenschutzkonforme First-Party-Demografiedaten – Namen, E-Mail-Adressen, soziale Profile – direkt am Verbindungspunkt des WiFi. Diese Daten fließen direkt in CRM- und E-Mail-Marketing-Plattformen ein, was die Anmeldung zu Treueprogrammen fördert und zielgerichtete Kampagnen ermöglicht. Purple hat im Jahr 2024 440 Millionen Logins verarbeitet (interne Purple-Daten), was die Dimension der First-Party-Datenerfassung zeigt, die am Netzwerkrand möglich ist.

Operative Effizienz. Die Implementierung von PPSK reduziert den SSID-Overhead und verbessert die WiFi-Leistung in dichten Umgebungen. Für eine Einzelhandelskette mit 200 Standorten spart die zentrale Identitätsverwaltung über die Cloud-RADIUS von Purple – anstatt die lokalen Router-Konfigurationen an jedem Standort manuell zu aktualisieren – jährlich Hunderte von Technikerstunden. Eine einzige RADIUS-Richtlinienänderung wird sofort auf alle 200 Standorte übertragen.

Sicherheit und Compliance. Die dynamische VLAN-Zuweisung setzt das Prinzip der geringsten Rechte am Netzwerkrand durch. Mitarbeiter sind von Gästen isoliert. IoT-Geräte sind von Mitarbeitern isoliert. POS-Terminals sind von allen anderen Datenströmen isoliert. Diese Segmentierung erfüllt die Anforderungen an die Netzwerkisolierung gemäß PCI DSS 4.0 und bietet eine klare, prüfbare Netzwerktopologie für GDPR-Compliance-Prüfungen.

Für branchenspezifische Bereitstellungsmuster lesen Sie unsere Leitfäden für die Bereiche Einzelhandel , Hotellerie , Gesundheitswesen und Transportwesen . Möglicherweise finden Sie auch unseren Leitfaden What Is Wireless Display: Protocols & Best Practices 2026 nützlich, um ergänzende drahtlose Technologien bei Standort-Installationen zu verstehen.

Schlüsseldefinitionen

CoovaChilli

Ein Open-Source-Software-Access-Controller, der ein Captive Portal und eine Walled Garden-Umgebung für drahtlose Netzwerke bereitstellt und RADIUS für Authentifizierung und Accounting nutzt.

IT-Teams stellen CoovaChilli auf OpenWrt bereit, um den HTTP-Datenverkehr von Gästen abzufangen und auf die Purple Splash Page umzuleiten. Es verwaltet die iptables-Regeln, die den Walled Garden erzwingen und nach der Authentifizierung den Internetzugang freigeben.

Walled garden

Eine strikte Freigabeliste (Allowlist) von IP-Adressen oder Domains, auf die ein nicht authentifizierter Benutzer zugreifen kann, bevor er die Captive Portal-Authentifizierung abschließt.

Entscheidend dafür, dass Gastgeräte die Grafiken des Purple-Portals laden und Social-Media-Login-APIs erreichen können, während der allgemeine Internetzugang blockiert bleibt. Ein unvollständiger Walled Garden ist die häufigste Ursache für Fehler beim Captive Portal.

PPSK (Private Pre-Shared Key)

Ein Sicherheitsmechanismus, bei dem einzelnen Benutzern oder Geräten eindeutige Passphrasen für dieselbe WiFi-SSID zugewiesen werden, wobei RADIUS die korrekte Passphrase und VLAN-Zuweisung pro Geräte-MAC-Adresse zurückgibt.

Wird verwendet, um mandantenfähige Umgebungen zu segmentieren, ohne mehrere SSIDs auszustrahlen. Unterstützt in OpenWrt über den Parameter wpa_psk_radius in hostapd.

Dynamic VLAN assignment

Der Prozess, bei dem ein RADIUS-Server den Access Point anweist, einen bestimmten authentifizierten Benutzer in ein bestimmtes virtuelles LAN zu platzieren, unter Verwendung der RADIUS-Attribute Tunnel-Type, Tunnel-Medium-Type und Tunnel-Private-Group-ID.

Der Kernmechanismus für identitätsbasierte Netzwerke. Die Identität des Benutzers, nicht sein physischer Port, bestimmt sein Netzwerksegment und seine Zugriffsrechte.

IEEE 802.1X

Der IEEE-Standard für portbasierte Netzwerksicherheitskontrolle, der die Rollen Authenticator (Access Point), Supplicant (Client-Gerät) und Authentication Server (RADIUS) bei der Enterprise-WiFi-Authentifizierung definiert.

Das zugrunde liegende Protokoll für sicheres Mitarbeiter-WiFi auf OpenWrt. Erfordert das vollständige Paket wpad oder wpad-openssl – wpad-mini unterstützt dies nicht.

EAP-TLS (Extensible Authentication Protocol - Transport Layer Security)

Eine 802.1X-Authentifizierungsmethode, die auf gegenseitiger zertifikatsbasierter Authentifizierung basiert und erfordert, dass sowohl der RADIUS-Server als auch das Client-Gerät gültige digitale Zertifikate vorlegen.

Der Goldstandard für die Authentifizierung von Unternehmensgeräten. Eliminiert Passwörter vollständig und neutralisiert so Vorfälle von Anmeldedaten-Diebstahl und Phishing-Angriffe. Erfordert eine PKI-Infrastruktur zur Ausstellung von Client-Zertifikaten.

Captive Network Assistant (CNA)

Der Pseudo-Browser, den iOS- und Android-Geräte automatisch anzeigen, wenn sie erkennen, dass sie sich hinter einem Captive Portal befinden, basierend auf der Abfrage bestimmter Erkennungs-URLs.

Netzwerktechniker müssen ihre Walled Gardens sorgfältig verwalten, um zu steuern, ob der CNA automatisch ausgelöst wird. Die meisten Bereitstellungen im Gastgewerbe schließen Apple- und Google-Erkennungsdomains aus, um das CNA-Pop-up zu erzwingen.

RADIUS accounting

Die dritte Säule des AAA-Frameworks (Authentication, Authorization, Accounting), die den Verbrauch von Netzwerkressourcen durch Aufzeichnung von Sitzungsstart-, Zwischenaktualisierungs- und Sitzungsstopp-Ereignissen auf UDP-Port 1813 verfolgt.

Erforderlich für Purple, um das Analytics-Dashboard mit Sitzungsdauer und Bandbreitendaten zu füllen. Konfiguriert in CoovaChilli über HS_RADIUS2 und den Parameter radiusacctport.

hostapd

Der Open-Source-IEEE-802.11-Access-Point-Daemon, der von OpenWrt zur Verwaltung von Funkschnittstellen verwendet wird und die Authentifizierungsmodi WPA2/WPA3-Enterprise, 802.1X und PPSK unterstützt.

Der Kern-Daemon für Mitarbeiter- und PPSK-WiFi auf OpenWrt. Das Paket wpad-openssl bietet den voll ausgestatteten hostapd-Build, der für die Enterprise-Authentifizierung erforderlich ist.

Tunnel-Password attribute

Ein RADIUS-Attribut (Attribut 69), das in PPSK-Bereitstellungen verwendet wird, um während der MAC-Authentifizierung eine gerätespezifische Passphrase vom RADIUS-Server an den Access Point zurückzugeben.

Der Mechanismus, über den der RADIUS-Server von Purple eindeutige PSKs an den hostapd-Daemon von OpenWrt für die PPSK-basierte mandantenfähige Segmentierung liefert.

Ausgearbeitete Beispiele

Ein Hotel mit 200 Zimmern muss einen gestuften WiFi-Zugang bereitstellen: kostenloses Basis-Internet für Gäste, Highspeed-Zugang für Loyalty-Mitglieder und sicheren Zugang für Point-of-Sale-Geräte des Personals. Das IT-Team möchte den SSID-Overhead minimieren und eine PCI DSS-Netzwerkisolation zwischen den POS-Terminals und dem Gästedatenverkehr erzwingen.

Stellen Sie OpenWrt Access Points bereit, die zwei SSIDs ausstrahlen: 'Hotel_Guest' (offen, CoovaChilli-verwaltet) und 'Hotel_Secure' (PPSK-verwaltet über hostapd). Auf 'Hotel_Guest' leitet CoovaChilli den gesamten nicht authentifizierten Datenverkehr auf die Purple Splash Page um. Gäste authentifizieren sich über das Portal und landen im VLAN 20 (nur Internet). Auf 'Hotel_Secure' konfigurieren Sie hostapd mit wpa_psk_radius=2. Wenn sich das Gerät eines Loyalty-Mitglieds verbindet, gibt der RADIUS-Server dessen eindeutigen PSK und VLAN 21 (höhere Bandbreitenstufe) zurück. Wenn sich ein POS-Terminal verbindet, gibt der RADIUS-Server den POS-Geräte-PSK und VLAN 10 zurück (interner Netzwerkzugriff, Internet blockiert). Die VLAN-Segmentierung erzwingt die PCI DSS-Isolation zwischen Karteninhaberdaten (VLAN 10) und Gästedatenverkehr (VLANs 20 und 21) auf Access-Point-Ebene.

Kommentar des Prüfers: Diese Architektur verwendet zwei SSIDs anstelle von einer, um den Captive Portal-Fluss (Gäste) vom PPSK-Fluss (Personal und Loyalty) zu trennen. Dies ist der richtige Ansatz, da CoovaChilli und hostapd PPSK grundlegend unterschiedliche Authentifizierungsmodelle bedienen. Die Kombination auf einer einzigen SSID erfordert eine RADIUS-Proxy-Konfiguration, die unnötige Komplexität verursacht. Das Zwei-SSID-Modell ist einfacher, zuverlässiger und für PCI DSS-Audits leichter zu überprüfen.

Eine Einzelhandelskette führt OpenWrt-Router an 50 Standorten ein. Während des UAT am ersten Standort lädt die Purple Splash Page nach der Weiterleitung korrekt, aber das Klicken auf den Facebook-Login-Button führt zu einem Verbindungs-Timeout. Der Google Sign-In-Button funktioniert einwandfrei.

Das Problem ist ein unvollständiger CoovaChilli Walled Garden. Der Authentifizierungsfluss von Facebook erfordert Zugriff auf mehrere Domains: facebook.com, connect.facebook.net und fbcdn.net (das CDN von Facebook für Login-Assets). Google Sign-In funktioniert, weil googleapis.com und gstatic.com bereits im Walled Garden enthalten sind. Aktualisieren Sie den Parameter HS_UAMDOMAINS in /etc/chilli/defaults, um '.facebook.com,.connect.facebook.net,.fbcdn.net' hinzuzufügen. Laden Sie den chilli-Daemon mit '/etc/init.d/chilli restart' neu und testen Sie erneut. Um zukünftige Walled Garden-Probleme systematisch zu diagnostizieren, verbinden Sie ein Testgerät mit der Gäste-SSID und verwenden Sie die Browser-Entwicklertools (Registerkarte Netzwerk), um festzustellen, welche Anfragen vor der Authentifizierung Verbindungsfehler verursachen.

Kommentar des Prüfers: Moderne Social-Login-Flüsse laden Assets von mehreren CDN- und API-Domains. Das Facebook-SDK allein verweist auf mindestens drei verschiedene Domains. Ein systematischer Ansatz zur Walled Garden-Fehlersuche – unter Verwendung von Browser-Entwicklertools zur Identifizierung blockierter Pre-Auth-Anfragen – ist weitaus zuverlässiger als das Erraten von Domain-Listen. Vor dem Go-Live an allen 50 Standorten sollte der Techniker jede konfigurierte Authentifizierungsmeth (Facebook, Google, E-Mail, SMS) testen und überprüfen, ob jede einzelne erfolgreich abgeschlossen wird.

Übungsfragen

Q1. Sie haben OpenWrt mit CoovaChilli in einem Premier Inn-Hotel bereitgestellt. Gäste berichten, dass ihre iPhones sie beim Verbinden mit dem Gäste-WiFi nicht automatisch zur Anmeldung auffordern. Sie müssen Safari manuell öffnen und eine HTTP-Seite aufrufen, um das Portal auszulösen. Welche Konfigurationsänderung verursacht dies und wie beheben Sie das Problem?

Hinweis: Überlegen Sie, wie iOS feststellt, ob ein Netzwerk nach dem Verbinden vollen Internetzugriff hat.

Musterlösung anzeigen

Der Techniker hat die Captive Portal-Erkennungsdomain von Apple (captive.apple.com) über HS_UAMDOMAINS in den CoovaChilli Walled Garden aufgenommen. Wenn sich ein iPhone verbindet, sendet iOS eine Abfrage an captive.apple.com. Da sich diese Domain im Walled Garden befindet, ist die Abfrage vor der Authentifizierung erfolgreich, und iOS geht davon aus, dass ein vollständiger Internetzugriff besteht – was das Pop-up des Captive Network Assistant unterdrückt. Um dies zu beheben, entfernen Sie captive.apple.com aus HS_UAMDOMAINS und starten Sie den chilli-Daemon neu. iOS-Geräte erhalten dann eine fehlgeschlagene Antwort auf die Abfrage, erkennen das Captive Portal korrekt und zeigen die Anmeldeaufforderung automatisch an.

Q2. Ein Betreiber von Coworking-Spaces möchte IoT-Smart-Thermostate in seinen Objekten bereitstellen. Er strahlt bereits eine 'Cowork_Guest'-SSID (CoovaChilli) und eine 'Cowork_Staff'-SSID (802.1X) aus. Die Thermostate unterstützen kein WPA2-Enterprise. Wie binden Sie diese sicher ein, ohne eine dritte SSID hinzuzufügen?

Hinweis: IoT-Geräte unterstützen in der Regel nur WPA2-PSK. Überlegen Sie, welche bestehende SSID erweitert werden kann, um gerätespezifische Passphrasen zu unterstützen.

Musterlösung anzeigen

Konfigurieren Sie PPSK auf der 'Cowork_Staff'-SSID, indem Sie wpa_psk_radius=2 in der hostapd-Konfiguration aktivieren. Registrieren Sie die MAC-Adresse jedes Thermostats im Purple RADIUS-Server mit einer eindeutigen Passphrase und VLAN 40 (IoT-VLAN) als Tunnel-Private-Group-ID. Wenn sich ein Thermostat verbindet, fragt hostapd den RADIUS-Server mit der Geräte-MAC ab, erhält den eindeutigen PSK sowie die VLAN-Zuweisung und platziert das Thermostat im VLAN 40 – vollständig isoliert vom Mitarbeiter-Datenverkehr im VLAN 10. Dieser Ansatz vermeidet eine dritte SSID, schont die HF-Kapazität und erzwingt den Zugriff mit den geringsten Rechten für IoT-Geräte, ohne dass eine 802.1X-Zertifikatsinfrastruktur erforderlich ist.

Q3. Nach der Bereitstellung von OpenWrt mit CoovaChilli an einem Einzelhandelsstandort zeigt das Purple Analytics-Dashboard keine aktiven Sitzungen und keine Bandbreitendaten an, obwohl sich Gäste erfolgreich verbinden und im Internet surfen können. Was ist die wahrscheinlichste Ursache und welches sind die zwei Schritte zur Diagnose?

Hinweis: Authentifizierung (Port 1812) und Accounting (Port 1813) sind separate RADIUS-Funktionen.

Musterlösung anzeigen

Die RADIUS-Accounting-Konfiguration fehlt oder ist blockiert. Schritt 1: Überprüfen Sie die CoovaChilli-Konfiguration. Stellen Sie sicher, dass HS_RADIUS und HS_RADIUS2 in /etc/chilli/defaults korrekt eingestellt sind, und bestätigen Sie, dass der radiusacctport auf 1813 konfiguriert ist. Wenn HS_RADIUS2 nicht konfiguriert ist, ist kein Accounting-Server definiert. Schritt 2: Überprüfen Sie die Firewall-Regeln. Bestätigen Sie, dass ausgehender UDP-Port 1813-Datenverkehr vom OpenWrt-Router zu den IP-Adressen des Purple RADIUS-Servers von der Edge-Firewall des Standorts zugelassen wird. Verwenden Sie 'tcpdump -i eth0 udp port 1813' auf dem OpenWrt-Gerät, um zu prüfen, ob Accounting-Pakete gesendet werden. Wenn Pakete in tcpdump angezeigt werden, das Dashboard jedoch leer bleibt, blockiert eine Firewall den Datenverkehr zwischen dem Router und den Cloud-RADIUS-Servern von Purple.

Q4. Eine OpenWrt-Bereitstellung in einem Stadion verwendet die dynamische VLAN-Zuweisung über RADIUS, um Fan-WiFi (VLAN 30), Medien (VLAN 40) und Betrieb (VLAN 50) zu segmentieren. Nach dem Upgrade der Access Points auf neue Hardware mit OpenWrt 19.07 und ath10k-Treibern funktioniert die VLAN-Zuweisung nicht mehr. Authentifizierte Benutzer landen alle im Standard-VLAN, unabhängig von den RADIUS-Attributen. Was ist die bekannte Ursache?

Hinweis: Berücksichtigen Sie die Unterstützung auf Treiberebene für den AP/VLAN-Modus in ath10k.

Musterlösung anzeigen

Dies ist eine bekannte Regression in der ath10k-ct-Firmware (Candela Technologies), die in OpenWrt 19.07 enthalten ist. Der ath10k-ct-Treiber in diesem Release weist einen Fehler auf, der den AP/VLAN-Modus beschädigt und verhindert, dass die dynamische VLAN-Zuweisung funktioniert. Die Lösung besteht darin, auf OpenWrt 21.02 oder neuer zu aktualisieren, wo der ath10k-ct-Treiber aktualisiert wurde, um die AP/VLAN-Funktionalität wiederherzustellen. Alternativ können Sie die ath10k-ct-Firmware auf dem 19.07-Build durch die Standard-ath10k-Firmware (Nicht-CT-Variante) ersetzen. Dieses Problem betrifft keine ath9k-basierte Hardware, die den AP/VLAN-Modus in allen OpenWrt-Versionen korrekt verarbeitet.

Weiterlesen in dieser Reihe

CommScope Ruckus Integration mit Purple WiFi: Einrichtungs- und Konfigurationshandbuch

Dieses technische Referenzhandbuch bietet einen maßgeblichen Konfigurationsleitfaden für die Integration von CommScope Ruckus-Architekturen mit Purple WiFi. Es beschreibt Schritt-für-Schritt-Bereitstellungen für Guest WiFi Captive Portals, sicheres Mitarbeiter-WiFi über 802.1X und mandantenfähige Netzwerkisolierung mithilfe von Ruckus Dynamic PSK.

Leitfaden lesen →

Allied Telesis Access Points Integration mit Purple WiFi

Dieses Handbuch bietet eine umfassende Konfigurationsanleitung für die Integration von Allied Telesis Access Points der TQ-Serie mit Purple WiFi. Es behandelt die externe Captive Portal-Weiterleitung, die 802.1X-RADIUS-Authentifizierung und die dynamische VLAN-Steuerung mithilfe von Private Pre-Shared Keys (PPSK) für sichere Multi-Tenant-Bereitstellungen.

Leitfaden lesen →

Grandstream GWN Access Points Integration mit Purple WiFi

Dieses maßgebliche technische Handbuch beschreibt die Integration von Grandstream GWN Access Points mit dem Purple Guest WiFi und der Analytics-Plattform. Es umfasst die Konfiguration des Grandstream Captive Portal, die RADIUS AAA-Einstellungen, die Einrichtung des Walled Garden, die sichere 802.1X-Authentifizierung für Mitarbeiter mit dynamischer VLAN-Steuerung sowie die Multi-Tenant-PPSK-Segmentierung – eine praxisnahe Schritt-für-Schritt-Anleitung für MSPs und IT-Teams, die WiFi für Gäste und Mitarbeiter in großem Stil bereitstellen.

Leitfaden lesen →