Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Server & Netzwerk 04.06.2026 · 11 min Lesezeit

Enterprise-WLAN mit 802.1X und RADIUS: WPA2/WPA3-Enterprise und dynamische VLAN-Zuweisung

Schritt-für-Schritt-Anleitung für echtes Enterprise-WLAN: Windows NPS oder FreeRADIUS als RADIUS-Backend, PEAP vs. EAP-TLS, AD-Anbindung und die dynamische VLAN-Zuweisung per RADIUS-Attributen – inklusive Troubleshooting für NPS Reason Codes, Zertifikatsketten und MAB für Drucker.

Enterprise-WLAN mit 802.1X und RADIUS: WPA2/WPA3-Enterprise und dynamische VLAN-Zuweisung

Ein echtes Enterprise-WLAN verbindet drei Welten miteinander: das IEEE-802.1X-Portauthentifizierungsframework, ein RADIUS-Backend (Windows NPS oder FreeRADIUS) und dein bestehendes VLAN-Konzept auf dem Managed Switch. Das Ergebnis: Jeder Nutzer landet automatisch im richtigen VLAN – Mitarbeiter in VLAN 10, Gäste in VLAN 20, Drucker in VLAN 99 – ohne manuelle Konfiguration am Access Point. Diese Anleitung zeigt dir den vollständigen Aufbau vom RADIUS-Server bis zur GPO-gesteuerten Supplicant-Konfiguration, benennt die häufigsten Fallstricke und erklärt, warum dynamische VLAN-Zuweisung bei vielen Admins scheitert.

Voraussetzungen

  • Windows Server 2019/2022/2025 (für NPS) oder Linux-Server mit FreeRADIUS 3.x
  • Active Directory Domain Services mit Benutzer- und Computerkonten
  • 802.1X-fähiger WLAN-Access-Point mit WPA2/WPA3-Enterprise und RADIUS-VLAN-Override
  • Managed Switch mit konfigurierten VLANs und Trunk-Port zum AP (siehe VLANs verstehen und am Managed Switch einrichten)
  • Active Directory Certificate Services (AD CS) für interne PKI, besonders bei EAP-TLS
  • Server-Zertifikat für NPS (EKU: Server Authentication OID 1.3.6.1.5.5.7.3.1, FQDN im SAN)
  • Shared Secret für RADIUS-Kommunikation (AP/Switch ↔ RADIUS, mindestens 22 Zeichen empfohlen)
  • DHCP-Server mit separaten Scopes pro VLAN

Schritt 1: Architektur verstehen – Rollen und EAP-Methoden

Im 802.1X-Modell spielen drei Akteure zusammen: Der Supplicant (Windows-Client, Smartphone) initiiert die Authentifizierung. Der Authenticator (Access Point oder Switch) agiert als RADIUS-Client (NAS) und leitet EAP-Pakete zwischen Supplicant und Authentication Server weiter. Der Authentication Server – NPS oder FreeRADIUS – trifft die eigentliche Entscheidung und sendet Access-Accept oder Access-Reject zurück.

Die Wahl der EAP-Methode bestimmt den PKI-Aufwand erheblich:

MerkmalPEAP-MS-CHAPv2EAP-TLS
AuthentifizierungBenutzername + PasswortClient- und Serverzertifikat
Serverzertifikat nötigJa (NPS)Ja (NPS)
Client-Zertifikat nötigNeinJa (per AD CS + GPO)
SicherheitsniveauMittelHoch
DeployaufwandGeringMittel–Hoch
WPA3-Enterprise 192-bitNicht unterstütztPflicht (EAP-TLS + TLS 1.2+)
Passwort-Diebstahl möglichJa (bei schwachem Zertifikat)Nein

Empfehlung für KMU: Starte mit PEAP-MS-CHAPv2 für schnellen Rollout, migriere zu EAP-TLS sobald AD CS produktionsreif ist. WPA3-Enterprise 192-bit (Suite B) erfordert zwingend EAP-TLS, ECDHE+ECDSA P-384 und eine durchgehend P-384-basierte Zertifikatskette – Mischung mit P-256 im Pfad führt zu Authentifizierungsfehlern.

Schritt 2: Windows NPS installieren und konfigurieren

NPS ist eine Windows-Server-Rolle und der empfohlene RADIUS-Server für AD-integrierte Umgebungen. Installiere sie per PowerShell:

# NPS-Rolle installieren (Windows Server 2019/2022/2025)
Install-WindowsFeature NPAS -IncludeManagementTools

# NPS-Konsole öffnen
nps.msc

# NPS-Auditing aktivieren (PFLICHT für Diagnose!)
auditpol /set /subcategory:"Network Policy Server" /success:enable /failure:enable

# NPS-Dienst neu starten
Restart-Service IAS

Registriere den NPS-Server anschließend in Active Directory (NPS-Konsole → Rechtsklick auf „NPS (Lokal)" → „Server in Active Directory registrieren"). Das ist notwendig, damit NPS Benutzerkonten lesen und Authentifizierungsergebnisse schreiben darf.

RADIUS-Client (Access Point) hinzufügen

# AP als RADIUS-Client registrieren (netsh)
netsh nps add client friendlyname="AP-Eingang" ipaddress=192.168.1.10 sharedsecret="S3cur3Secr3t!"

# Alle konfigurierten RADIUS-Clients anzeigen
netsh nps show client

Alternativ über die NPS-MMC: RADIUS-Clients und -Server → RADIUS-Clients → Neu. Trage IP-Adresse des AP, Anzeigename und das Shared Secret ein. Achte auf exaktes Shared Secret – Case-sensitive, Sonderzeichen je nach AP-Firmware kritisch.

Netzwerkrichtlinien für WPA2/WPA3-Enterprise anlegen

Erstelle zwei separate Netzwerkrichtlinien: eine für 802.1X (höhere Priorität) und eine für MAB (niedrigere Priorität). In der 802.1X-Richtlinie:

  • Bedingungen: Windows-Gruppe = „Domänen-Benutzer" oder spezifische AD-Gruppe
  • EAP-Typen: PEAP (mit MS-CHAPv2) oder EAP-TLS
  • RADIUS-Attribute (Einstellungen): Tunnel-Type, Tunnel-Medium-Type, Tunnel-Private-Group-Id (siehe Schritt 4)

Schritt 3: FreeRADIUS 3.x als Alternative installieren

FreeRADIUS läuft auf Linux und unterstützt TLS 1.3 – ein entscheidender Vorteil gegenüber NPS bei Windows-11-Clients (dazu mehr im Troubleshooting). Installiere FreeRADIUS auf Debian/Ubuntu:

# FreeRADIUS mit LDAP- und Utility-Paketen installieren
apt-get install freeradius freeradius-ldap freeradius-utils

# Dienst aktivieren und starten
systemctl enable freeradius
systemctl start freeradius

# WICHTIG: Debug-Modus für erste Tests nutzen
systemctl stop freeradius
freeradius -X

Der Debug-Modus (freeradius -X) gibt jede Authentifizierungsanfrage im Klartext aus – unverzichtbar beim Einrichten. Im Produktionsbetrieb wieder als Dienst starten.

AP als RADIUS-Client in FreeRADIUS eintragen

# /etc/freeradius/3.0/clients.conf
client ap-buero {
    ipaddr          = 192.168.1.10
    secret          = S3cur3Secr3t!
    shortname       = ap-buero
    nas_type        = other
}

LDAP-Anbindung an Active Directory

# /etc/freeradius/3.0/mods-enabled/ldap
ldap {
    server = 'dc01.firma.local'
    identity = 'CN=freeradius-svc,OU=Service,DC=firma,DC=local'
    password = ServicePasswort
    base_dn = 'DC=firma,DC=local'
    filter = '(sAMAccountName=%{%{Stripped-User-Name}:-%{User-Name}})'
    group {
        base_dn = ${..base_dn}
        filter = '(objectClass=group)'
        membership_attribute = 'memberOf'
    }
    tls {
        start_tls = yes
    }
}

Wichtig: Der Filter verwendet %{Stripped-User-Name} – das entfernt den Domänenanteil aus DOMAIN\User oder user@domain.com automatisch. Mit %{User-Name} schlägt die AD-Suche bei Domänen-Präfix fehl.

EAP-Konfiguration (PEAP + TLS)

# /etc/freeradius/3.0/mods-enabled/eap
eap {
    default_eap_type = tls
    timer_expire = 60

    tls-config tls-common {
        private_key_password = changeme
        private_key_file = ${certdir}/server.key
        certificate_file = ${certdir}/server.crt
        ca_file = ${cadir}/ca.crt
        ca_path = ${cadir}
        dh_file = ${certdir}/dh
        fragment_size = 1024
        include_length = yes
        check_crl = yes
        cipher_list = "DEFAULT@SECLEVEL=2"
        tls_min_version = "1.2"
    }

    tls {
        tls = tls-common
    }

    peap {
        tls = tls-common
        default_eap_type = mschapv2
        copy_request_to_tunnel = yes
        use_tunneled_reply = yes
    }
}

Schritt 4: Dynamische VLAN-Zuweisung konfigurieren – der kritische Teil

Hier scheitern die meisten Admins. Die dynamische VLAN-Zuweisung erfordert exakt drei RADIUS-Attribute im Access-Accept-Paket, definiert in RFC 2868:

AttributNr.WertBedeutung
Tunnel-Type6413VLAN
Tunnel-Medium-Type656IEEE 802 (Ethernet)
Tunnel-Private-Group-Id81„10" (String!)VLAN-ID

Kritischer Fallstrick: Das Attribut Tunnel-Private-Group-Id muss als String übergeben werden – nicht als Integer. Viele Admins tragen die VLAN-ID als Zahl ein; der AP/Switch ignoriert das Attribut dann stillschweigend und nutzt das Standard-VLAN. Das Tag-Feld muss auf 0 oder ungesetzt bleiben.

NPS: VLAN-Attribute in der Netzwerkrichtlinie

# NPS-Richtlinie per XML sichern/wiederherstellen
netsh nps export filename="C:\nps-backup.xml" exportPSK=YES
netsh nps import filename="C:\nps-backup.xml"

# In der NPS-Konsole (nps.msc) unter der Netzwerkrichtlinie:
# Registerkarte "Einstellungen" > RADIUS-Attribute > Standard
# Folgende Attribute hinzufügen:
# Tunnel-Type        = 13  (Virtual LANs / VLAN)
# Tunnel-Medium-Type = 6   (802 includes all 802 media plus Ethernet canonical format)
# Tunnel-Private-Group-Id = 10  (als String eingeben!)

FreeRADIUS: VLAN-Zuweisung in der users-Datei

# /etc/freeradius/3.0/users

# Einzelner Benutzer mit VLAN 10
mustermann Cleartext-Password := "Passw0rt!"
    Service-Type := Framed-User,
    Tunnel-Type := VLAN,
    Tunnel-Medium-Type := IEEE-802,
    Tunnel-Private-Group-Id := "10"

# DEFAULT-Fallback: Alle AD-authentifizierten User -> VLAN 20
DEFAULT Auth-Type := MS-CHAP
    Tunnel-Type := VLAN,
    Tunnel-Medium-Type := IEEE-802,
    Tunnel-Private-Group-Id := "20"

authorize-Block-Reihenfolge in FreeRADIUS

# /etc/freeradius/3.0/sites-enabled/default
# KRITISCH: files-Modul MUSS vor eap stehen!
authorize {
    filter_username
    preprocess
    files          # <-- VOR eap! Sonst keine VLAN-Attribute im Access-Accept
    eap {
        ok = return
    }
    mschap
    pap
}

Wenn eap zuerst ausgeführt wird, werden die statischen VLAN-Attribute aus der users-Datei nicht in den Access-Accept übernommen. Authentifizierung klappt, VLAN-Zuweisung nicht – ein schwer zu findender Fehler.

Schritt 5: GPO-WLAN-Profil deployen

Damit Windows-Clients automatisch das korrekte 802.1X-Profil erhalten, deployst du es per Gruppenrichtlinie. Details zum GPO-Einsatz findest du in der Anleitung Gruppenrichtlinien (GPO): Grundlagen und Praxis.

# WLAN-Profil als XML exportieren (auf einem bereits konfigurierten Client)
netsh wlan export profile name="Firmen-WLAN" folder=C:\WLAN-Profile

GPO-Pfad: Computerkonfiguration → Richtlinien → Windows-Einstellungen → Sicherheitseinstellungen → WLAN-Richtlinien (IEEE 802.11)

Beim Anlegen des Profils in der GPO unbedingt beachten:

  • SSID exakt eintragen (Groß-/Kleinschreibung)
  • WPA2-Enterprise oder WPA3-Enterprise wählen
  • EAP-Typ: PEAP oder EAP-TLS
  • Unter „Erweiterte Einstellungen": Interne Root-CA als vertrauenswürdig markieren und NPS-FQDN für Server-Name-Validation eintragen
  • Bei EAP-TLS: Root-CA-Thumbprint explizit angeben (Windows 11 Pflicht ab 22H2)

Die GPO greift auf alle Computerobjekte in der verknüpften OU automatisch nach dem nächsten GP-Refresh. Für EAP-TLS-Rollout zusätzlich das Auto-Enrollment für Computerzertifikate aktivieren: Computerkonfiguration → Richtlinien → Windows-Einstellungen → Sicherheitseinstellungen → Richtlinien für öffentliche Schlüssel → Automatische Zertifikatanforderungseinstellungen.

Schritt 6: MAB für Drucker und IoT-Geräte

Drucker, Kameras und andere IoT-Geräte ohne 802.1X-Supplicant authentifizierst du per MAC Authentication Bypass (MAB). Der Switch wartet kurz auf eine EAP-Antwort; bleibt sie aus, sendet er die MAC-Adresse des Geräts als RADIUS-Anfrage (Username = MAC, Password = MAC per PAP).

# /etc/freeradius/3.0/users
# Drucker mit MAC aa:bb:cc:dd:ee:ff -> VLAN 99 (Drucker-VLAN)
aabbccddeeff Cleartext-Password := "aabbccddeeff"
    Service-Type := Call-Check,
    Tunnel-Type := VLAN,
    Tunnel-Medium-Type := IEEE-802,
    Tunnel-Private-Group-Id := "99"

In NPS musst du für die MAB-Netzwerkrichtlinie PAP als Authentifizierungsmethode explizit erlauben – sonst lehnt NPS MAB-Anfragen ab. Die 802.1X-Richtlinie muss in der Reihenfolge eine höhere Priorität haben als die MAB-Richtlinie.

Troubleshooting / Typische Fehler

  • NPS Reason Code 22 (EAP-Aushandlung gescheitert): Häufigste Ursache bei Windows-11-Clients. Prüfe: (1) Root-CA-Thumbprint im WLAN-Profil eingetragen? (2) Serverzertifikat abgelaufen? (3) TLS-1.3-Problem (Windows 11 ab 22H2 nutzt standardmäßig TLS 1.3, NPS unterstützt kein TLS 1.3). Diagnose: CAPI2-Log aktivieren mit wevtutil sl Microsoft-Windows-CAPI2/Operational /e:true, danach erneut verbinden und CAPI2-Events auf Event-ID 11 prüfen.
  • TLS 1.3 vs. NPS: Windows 11 ab 22H2 verwendet TLS 1.3 standardmäßig für PEAP/EAP-TTLS. NPS (alle Versionen inkl. Windows Server 2025) unterstützt TLS 1.3 nicht. Symptom: Sporadische Authentifizierungsfehler. Lösung: TLS 1.3 für EAP auf dem NPS-Server per Registry deaktivieren oder auf FreeRADIUS migrieren.
  • VLAN-Zuweisung trotz erfolgreicher Authentifizierung ignoriert: Prüfe mit Wireshark, ob alle drei Tunnel-Attribute im Access-Accept vorhanden sind und Tunnel-Private-Group-Id als String übertragen wird. Außerdem: Ist der AP/Switch für RADIUS-VLAN-Override konfiguriert? Existiert das VLAN auf dem Switch/AP-Trunk-Port?
  • files-Modul nach eap in FreeRADIUS: Authentifizierung erfolgreich, aber kein VLAN. Lösung: files im authorize-Block vor eap platzieren.
  • EAP-TLS: Unvollständige Zertifikatskette: NPS muss das komplette Serverzertifikat inklusive aller Intermediate-CAs senden. Fehlt ein Intermediate, schlägt die Client-Validierung fehl (CAPI2-Event 11 „Certificate chain could not be built"). Lösung: Intermediate-CA-Zertifikate im Windows-Zertifikatsspeicher unter „Zwischenzertifizierungsstellen" hinterlegen.
  • Reason Code 16 (Falsche Anmeldedaten): Bei EAP-TLS oft: Client-Zertifikat fehlt oder ungültig. Prüfen mit Get-ChildItem Cert:\LocalMachine\My | Select-Object Subject, EnhancedKeyUsageList, NotAfter.
  • RADIUS Shared Secret Mismatch: Keine NPS-Events im Eventlog, AP meldet „RADIUS Timeout". Prüfen: netsh nps show client und AP-Konfiguration vergleichen. Case-sensitive!
  • FreeRADIUS AD-Suche schlägt fehl: „User not found" bei Benutzernamen im Format DOMAIN\User. Lösung: %{Stripped-User-Name} statt %{User-Name} im LDAP-Filter verwenden.
  • NPS-Audit nicht aktiviert: Ohne Auditpol-Befehl erscheinen keine Events 6272/6273 im Security-Log.
  • WPA3-Enterprise 192-bit Zertifikatskette: Root-CA, Intermediate-CA und Leaf-Zertifikat müssen durchgehend P-384 verwenden. Mischung mit P-256 führt zu Authentifizierungsfehlern.

Häufige Fragen

Was ist der Unterschied zwischen PEAP-MS-CHAPv2 und EAP-TLS?

PEAP-MS-CHAPv2 authentifiziert per Benutzername und Passwort (AD-Credentials) und benötigt nur ein Serverzertifikat auf dem NPS. Das ist einfacher zu deployen, aber anfällig für Passwort-Angriffe. EAP-TLS nutzt gegenseitige Zertifikatsauthentifizierung – Client- und Serverzertifikat – und ist deutlich sicherer, da kein Passwort über das Netz geht. EAP-TLS erfordert eine PKI (AD CS) und Zertifikatsverteilung per GPO. Für WPA3-Enterprise 192-bit-Modus ist EAP-TLS verpflichtend.

Warum funktioniert die dynamische VLAN-Zuweisung nach erfolgreicher Authentifizierung nicht?

Die häufigsten Ursachen: (1) Tunnel-Private-Group-Id als Integer statt String konfiguriert. (2) files-Modul steht in FreeRADIUS nach eap im authorize-Block. (3) Der AP/Switch ist nicht für RADIUS-VLAN-Override konfiguriert – das ist eine separate Einstellung im AP, nicht automatisch aktiv. (4) Das VLAN existiert nicht auf dem Switch/AP-Trunk-Port. Wireshark-Mitschnitt am RADIUS-Port zeigt, ob alle drei Tunnel-Attribute im Access-Accept vorhanden sind.

NPS-Eventlog zeigt Reason Code 22 – was tun?

Reason Code 22 bedeutet „EAP-Typ konnte nicht ausgehandelt werden". Vorgehen: CAPI2-Log aktivieren (wevtutil sl Microsoft-Windows-CAPI2/Operational /e:true), erneut verbinden und CAPI2-Events auf Zertifikatsfehler prüfen. Außerdem: Serverzertifikat gültig (certlm.msc)? Root-CA-Thumbprint im WLAN-GPO-Profil eingetragen? TLS-1.3-Kompatibilitätsproblem (Windows 11 22H2+ vs. NPS)?

Wie authentifiziere ich Drucker und IoT-Geräte ohne 802.1X-Unterstützung?

Per MAC Authentication Bypass (MAB): Der Switch wartet kurz auf EAP-Antwort; bleibt sie aus, sendet er die MAC-Adresse als RADIUS Access-Request (Username = MAC, Passwort = MAC per PAP). In FreeRADIUS trägst du die MAC in /etc/freeradius/3.0/users mit zugehörigem VLAN ein (Format ohne Trennzeichen: aabbccddeeff). Verwende ein separates Drucker-VLAN mit strikter Firewall-Regel – MAB bietet keine echte Authentifizierung, nur MAC-Whitelisting.

Kann ich NPS und FreeRADIUS parallel betreiben?

Ja. Trage im AP/Switch zwei RADIUS-Server ein (Primary = NPS, Secondary = FreeRADIUS). Switchover erfolgt automatisch bei Timeout. NPS kann auch als RADIUS-Proxy konfiguriert werden und Anfragen an FreeRADIUS weiterleiten. Für Hochverfügbarkeit empfiehlt sich ein zweiter NPS-Server als Secondary-RADIUS – beide in der Domäne registriert.

Wie deploye ich das WLAN-Supplicant-Profil per GPO?

In der Gruppenrichtlinienverwaltung (gpmc.msc): Computerkonfiguration → Richtlinien → Windows-Einstellungen → Sicherheitseinstellungen → WLAN-Richtlinien (IEEE 802.11) → Neue Richtlinie. SSID eingeben, WPA2- oder WPA3-Enterprise wählen, EAP-Typ konfigurieren, unter „Erweiterte Einstellungen" die interne Root-CA als vertrauenswürdig markieren und den NPS-FQDN für Server-Name-Validation eintragen. GPO auf OU mit Computerobjekten anwenden.

Fazit

Enterprise-WLAN mit 802.1X ist kein Hexenwerk, wenn man die Fallstricke kennt. NPS eignet sich ideal für reine Windows/AD-Umgebungen – der Deployaufwand ist gering, die AD-Integration nativ. FreeRADIUS ist die flexiblere Wahl, vor allem wegen TLS-1.3-Unterstützung und besserer Erweiterbarkeit. Die dynamische VLAN-Zuweisung scheitert in der Praxis fast immer an einem der drei Punkte: falscher Attributtyp, falsche Modulreihenfolge in FreeRADIUS oder fehlender VLAN-Override-Konfiguration am AP. Für Windows-11-Clients ist das Root-CA-Thumbprint im GPO-Profil seit 22H2 Pflicht. Wer EAP-TLS anstrebt, sollte AD CS und Auto-Enrollment von Anfang an planen – das Nachmigrieren ist aufwändig. Die Kombination aus VLAN-Segmentierung am Managed Switch und 802.1X-basierter RADIUS-Authentifizierung bildet das Fundament für ein Zero-Trust-nahes Netzwerkdesign.

Weiterführende Anleitungen und Quellen

Quellen: Microsoft Learn: Deploy Password-Based 802.1X Authenticated Wireless Access; Microsoft Learn: EAP – What's changed in Windows 11; Microsoft Learn: 802.1X Authentication Issues Troubleshooting; Informatec Digital: 802.1X FreeRADIUS and Dynamic VLANs; NetworkGuy.de: 802.1X/MAC-Auth and dynamic VLAN assignment; Bovenkamp.us: NPS 802.1X Reason Codes (2025); SecureW2: EAP Method Requirements for WPA3-Enterprise.