Einleitung
In diesem Dokument wird die Einrichtung eines WLAN mit 802.1X-Sicherheit auf einem Cisco Catalyst Wireless Controller der Serie 9800 beschrieben.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
Verwendete Komponenten
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
- Catalyst Wireless Controller der Serie 9800 (Catalyst 9800-CL)
- Cisco IOS® XE 17.12.5
- Cisco ISE 3.0
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Konfigurieren
Netzwerkdiagramm

WLC-Konfiguration
AAA-Konfiguration auf 9800 WLCs
GUI:
Schritt 1: Deklarieren des RADIUS-Servers Navigieren Sie zu Configuration > Security > AAA > Servers / Groups > RADIUS > Servers > + Add
, und geben Sie die RADIUS-Serverinformationen ein.

Stellen Sie sicher, dass die Unterstützung für CoA aktiviert ist, und konfigurieren Sie den CoA-Serverschlüssel, wenn Sie beabsichtigen, die zentrale Webauthentifizierung (oder jede Art von Sicherheit, die eine Autorisierungsänderung erfordert) in Zukunft zu verwenden.
Anmerkung: Der Serverschlüssel für die Autorisierungsänderung (Change of Authorization, CoA) auf dem Cisco 9800 WLC ist ein gemeinsamer geheimer Schlüssel für die Authentifizierung von CoA-Anforderungen zwischen dem WLC und dem RADIUS-Server. Dieser Schlüssel muss mit der CoA-Konfiguration auf dem RADIUS-Server übereinstimmen, um eine erfolgreiche Kommunikation sicherzustellen. Stellen Sie sicher, dass der CoA-Serverschlüssel sicher und konsistent auf allen Geräten konfiguriert ist, um eine Ablehnung der CoA-Nachricht zu verhindern.

Schritt 2: Hinzufügen des RADIUS-Servers zu einer RADIUS-Gruppe Navigieren Sie zu Configuration > Security > AAA > Servers / Groups > RADIUS > Server Groups > + Add.
Geben Sie einen Namen für Ihre Gruppe ein, und verschieben Sie den zuvor in der Liste der Assigned Servers.

Schritt 3: Erstellen einer Liste von Authentifizierungsmethoden Navigieren Sie zu Configuration > Security > AAA > AAA Method List > Authentication > + Add.

Geben Sie die Informationen ein:

CLI:
# config t
# aaa new-model
# radius server <radius-server-name>
# address ipv4 <radius-server-ip> auth-port 1812 acct-port 1813
# timeout 300
# retransmit 3
# key <shared-key>
# exit
# aaa group server radius <radius-grp-name>
# server name <radius-server-name>
# exit
# aaa server radius dynamic-author
# client <radius-server-ip> server-key <shared-key>
# aaa authentication dot1x <dot1x-list-name> group <radius-grp-name>
Hinweis zur AAA Dead-Server-Erkennung
Nachdem Sie den RADIUS-Server konfiguriert haben, können Sie überprüfen, ob er als "ALIVE" gilt:
#show aaa servers | s WNCD
Platform State from WNCD (1) : current UP
Platform State from WNCD (2) : current UP
Platform State from WNCD (3) : current UP
Platform State from WNCD (4) : current UP
...
Sie können die dead criteria,
sowie die auf Ihrem WLC konfigurieren, insbesondere wenn Sie mehrere RADIUS-Server deadtime
verwenden.
#radius-server dead-criteria time 5 tries 3
#radius-server deadtime 5
Anmerkung: Das dead criteria
ist das Kriterium, nach dem ein RADIUS-Server als ausgefallen markiert wird. Es besteht aus: 1. Eine Zeitüberschreitung (in Sekunden), die den Zeitraum zwischen dem letzten Empfang eines gültigen Pakets durch den RADIUS-Server durch den Controller und dem Zeitpunkt darstellt, zu dem der Server als ausgefallen gekennzeichnet ist. 2. Ein Zähler, der die Anzahl der aufeinander folgenden Zeitüberschreitungen angibt, die auf dem Controller auftreten müssen, bevor der RADIUS-Server als ausgefallen markiert wird.
Anmerkung: Der deadtime
gibt an, wie lange (in Minuten) der Server im "Dead"-Status verbleibt, nachdem "Dead"-Kriterien ihn als "Dead" markieren. Nach Ablauf der Deadtime markiert der Controller den Server als UP (ALIVE) und benachrichtigt die registrierten Clients über die Statusänderung. Ist der Server nach dem Status als UP noch nicht erreichbar und ist das Dead-Kriterium erfüllt, so wird der Server für das Deadtime-Intervall erneut als Dead markiert.
WLAN-Profilkonfiguration
GUI:
Schritt 1: Erstellen Sie das WLAN. Navigieren Sie zu Configuration > Tags&Profiles > WLANs > + Add, und konfigurieren Sie das Netzwerk nach Bedarf.

Schritt 2: Geben Sie die WLAN-Informationen ein.

Schritt 3a: Navigieren Sie zur Registerkarte Security (Sicherheit), und wählen Sie die erforderliche Sicherheitsmethode aus. In diesem Fall WPA2 + 802.1x.

3b. Beispiel für WPA2+WPA3-Mischmodus
Anmerkung: Der gemischte WPA2- und WPA3-Modus auf dem Cisco 9800 WLC ermöglicht die nahtlose Koexistenz moderner WPA3-Geräte mit älteren WPA2-Geräten und stellt so nach Möglichkeit sowohl Kompatibilität als auch erweiterte Sicherheit sicher. Fast Transition (FT) ist in diesem Szenario optional. Es ist obligatorisch, wenn AKM FT+802.1x aktiviert ist.

Schritt 4: Wählen Sie aus der Security > AAA
Registerkarte die unter Schritt 3 erstellte Authentifizierungsmethode aus dem Abschnitt AAA Configuration on 9800 WLC (AAA-Konfiguration auf dem 9800 WLC) aus.

CLI:
# config t
# wlan <profile-name> <wlan-id> <ssid-name>
# security dot1x authentication-list <dot1x-list-name>
# no shutdown
Richtlinienprofilkonfiguration
In einem Richtlinienprofil können Sie neben anderen Einstellungen (wie Zugriffskontrolllisten [ACLs], Quality of Service [QoS], Mobility Anchor, Timer usw.) festlegen, welchem VLAN die Clients zugewiesen werden sollen.
Sie können entweder Ihr Standardrichtlinienprofil verwenden oder ein neues Profil erstellen.
GUI:
Navigieren Sie zu Configuration > Tags & Profiles > Policy Profile, und konfigurieren Sie entweder Ihr Standard-Richtlinienprofil oder erstellen Sie ein neues.

Stellen Sie sicher, dass das Profil aktiviert ist.
Wenn sich Ihr Access Point (AP) im lokalen Modus befindet, stellen Sie sicher, dass im Richtlinienprofil Central Switching, Central Authentication und Central DHCP aktiviert sind.

Wählen Sie auf der Registerkarte "Access Policies" (Zugriffsrichtlinien) das VLAN aus, dem die Clients zugewiesen werden müssen.

Wenn im Feld "Access-Accept" (Akzeptieren wie VLAN-Zuweisung) ISE-Rückgabeattribute vorhanden sein sollen, aktivieren Sie auf der Advanced
Registerkarte "AAA override" (AAA überschreiben):

CLI:
# config
# wireless profile policy <policy-profile-name>
# aaa-override
# central switching
# description "<description>"
# vlan <vlanID-or-VLAN_name>
# no shutdown
Richtlinien-Tag-Konfiguration
Das Policy Tag (Richtlinien-Tag) dient zum Verknüpfen der SSID mit dem Richtlinienprofil. Sie können entweder ein neues Richtlinien-Tag erstellen oder das Standard-Richtlinien-Tag verwenden.
GUI:
Navigieren Sie zu, Configugation > Tags & Profiles > Tags > Policy
und fügen Sie ggf. ein neues hinzu.

Verknüpfen Sie Ihr WLAN-Profil mit dem gewünschten Richtlinienprofil.



CLI:
# config t
# wireless tag policy <policy-tag-name>
# wlan <profile-name> policy <policy-profile-name>
Richtlinien-Tag-Zuweisung
Weisen Sie den erforderlichen APs das Richtlinien-Tag zu.
GUI:
Um das Tag einem AP zuzuweisen, navigieren Sie zum Configuration > Wireless > Access Points > AP Name > General Tags,
Zuweisen des entsprechenden Policy Tags, und klicken Sie dann auf Update & Apply to Device.

Anmerkung: Beachten Sie, dass bei einer Änderung des Richtlinien-Tags an einem Access Point die Verknüpfung mit dem 9800 WLC aufgehoben wird, und dass der Access Point einige Augenblicke später wieder hinzugefügt wird.
Um dieselbe Policy Tag mehreren APs zuzuweisen, navigieren Sie zu Configuration > Wireless Setup > Advanced > Start Now > Apply.

Wählen Sie die APs aus, denen Sie das Tag zuweisen möchten, und klicken Sie auf + Tag APs

Wählen Sie die entsprechenden Tags für Richtlinie, Standort und Funkumgebung aus, und klicken Sie auf Save
& Auf Gerät anwenden.

CLI:
# config t
# ap <ethernet-mac-addr>
# policy-tag <policy-tag-name>
# end
ISE-Konfiguration
WLC auf der ISE angeben
Schritt 1: Öffnen Sie die ISE-Konsole, und navigieren Sie Administration > Network Resources > Network Devices > Add
zur Konsole, wie im Bild dargestellt.

Schritt 2: Konfigurieren des Netzwerkgeräts
Optional können ein angegebener Modellname, eine bestimmte Softwareversion, eine Beschreibung oder Gruppen von Netzwerkgeräten basierend auf Gerätetyp, Standort oder WLCs zugewiesen werden.
Die IP-Adresse entspricht dabei der WLC-Schnittstelle, die die Authentifizierungsanforderungen sendet. Standardmäßig ist dies die Management-Schnittstelle, wie im Bild gezeigt:

Weitere Informationen Network Device Groups
finden Sie in diesem Kapitel: Verwalten von Netzwerkgeräten gemäß dem Cisco Identity Services Engine-Administratorhandbuch: Netzwerkgerätegruppen
Neuen Benutzer auf ISE erstellen
Schritt 1: Navigieren Sie Administration > Identity Management > Identities > Users > Add
zu wie in der Abbildung dargestellt:

Schritt 2: Geben Sie die Informationen für den Benutzer ein. In diesem Beispiel gehört dieser Benutzer zu einer Gruppe namens ALL_ACCOUNTS, die jedoch nach Bedarf angepasst werden kann, wie in der Abbildung dargestellt:

Erstellen des Autorisierungsprofils
Der Authorization Profile
besteht aus einer Reihe von Attributen, die zurückgegeben werden, wenn eine Bedingung zugeordnet wird. Das Autorisierungsprofil bestimmt, ob der Client Zugriff auf das Netzwerk hat oder nicht, ob Push-Zugriffskontrolllisten (ACLs), VLAN-Außerkraftsetzung oder andere Parameter verwendet werden. Das in diesem Beispiel gezeigte Autorisierungsprofil sendet eine Zugriffsbestätigung für den Client und weist den Client VLAN 1416 zu.
Schritt 1. Navigieren Sie zu Policy > Policy Elements > Results > Authorization > Authorization Profiles
und klicken Sie auf die Add
Schaltfläche.

Schritt 2: Geben Sie die im Bild angezeigten Werte ein. An dieser Stelle können AAA-Überschreibungsattribute wie z. B. VLAN zurückgegeben werden. Der WLC 9800 akzeptiert die Tunnelattribute 64, 65, 81, die die VLAN-ID oder den Namen verwenden, sowie die Verwendung des AirSpace-Interface-Name
Attributs.

Richtliniensatz erstellen
Ein Richtliniensatz definiert eine Sammlung von Authentifizierungs- und Autorisierungsregeln. Um eine Policy zu erstellen, gehen Sie zu Policy > Policy Sets
, klicken Sie auf das Zahnrad des ersten Policy Set in der Liste und wählen Sie Insert new row above
, wie in diesem Bild gezeigt:

Konfigurieren Sie einen Namen, und erstellen Sie eine Bedingung für diesen Policy Set. In diesem Beispiel gibt die Bedingung an, dass der vom WLC kommende Datenverkehr übereinstimmt:
Radius:NAS-IP-Address EQUALS X.X.X.X // X.X.X.X is the WLC IP address
Vergewissern Sie sich, dass Default Network Access
unter ausgewählt Allowed Protocols / Server Sequence
ist.

Authentifizierungsrichtlinie erstellen
Um Authentifizierungs- und Autorisierungsrichtlinien zu konfigurieren, müssen Sie die Policy Set-Konfiguration eingeben. Dies ist möglich, wenn Sie rechts neben der Policy Set
Zeile auf den blauen Pfeil klicken:

Authentifizierungsrichtlinien werden verwendet, um zu überprüfen, ob die Anmeldeinformationen der Benutzer korrekt sind (überprüfen Sie, ob der Benutzer wirklich der ist, für den er sich ausgibt). Konfigurieren Authenticaton Policy,
Sie unter eine Authentifizierungsrichtlinie erstellen die Richtlinie wie in diesem Bild dargestellt. Die Bedingung für die in diesem Beispiel verwendete Richtlinie ist:
RADIUS:Called-Station-ID ENDS_WITH // is the SSID of your WLAN
Wählen Sie außerdem auf der Use
Registerkarte dieser Authentifizierungsrichtlinie die Option Interne Benutzer aus.

Autorisierungsrichtlinie erstellen
Wechseln Sie auf derselben Seite zu, Authorization Policy
und erstellen Sie eine neue. Bedingung für diese Autorisierungsrichtlinie ist:
RADIUS:Called-Station-ID ENDS_WITH // is the SSID of your WLAN
Wählen Sie auf der Result > Profiles
Registerkarte dieser Richtlinie die aus, die Sie zuvor erstellt Authorization Profile
haben. Dadurch sendet die ISE die richtigen Attribute an den WLC, wenn der Benutzer authentifiziert wird.

Zu diesem Zeitpunkt ist die gesamte Konfiguration für den WLC und die ISE abgeschlossen. Sie können nun versuchen, eine Verbindung mit einem Client herzustellen.
Weitere Informationen zu Richtlinien für zulässige ISE-Protokolle finden Sie im Kapitel: Verwalten von Authentifizierungsrichtlinien im Cisco Identity Services Engine-Administratorhandbuch Verwalten von Authentifizierungsrichtlinien
Weitere Informationen zu ISE-Identitätsquellen finden Sie im Kapitel: Verwalten von Benutzern und externen Identitätsquellen über die Cisco Identity Services Engine Administratoranleitung: Identitätsquellen
Überprüfung
Mit diesen Befehlen können Sie Ihre aktuelle Konfiguration überprüfen:
# show run wlan // WLAN configuration
# show run aaa // AAA configuration (server, server group, methods)
# show aaa servers // Configured AAA servers
# show ap config general // AP's configurations
# show ap name <ap-name> config general // Detailed configuration of specific AP
# show ap tag summary // Tag information for AP'S
# show wlan { summary | id | name | all } // WLAN details
# show wireless tag policy detailed <policy-tag name> // Detailed information on given policy tag
# show wireless profile policy detailed <policy-profile name>// Detailed information on given policy profile
Fehlerbehebung
Anmerkung: Der Einsatz externer Load Balancer ist in Ordnung. Stellen Sie jedoch sicher, dass Ihr Load Balancer auf Client-Basis funktioniert, indem Sie das RADIUS-Attribut der anrufenden Station-ID verwenden. Die Verwendung eines UDP-Quell-Ports ist kein unterstützter Mechanismus zum Ausgleichen von RADIUS-Anfragen vom 9800.
Fehlerbehebung am WLC
Der WLC 9800 bietet IMMER-EIN-Ablaufverfolgungsfunktionen. So wird sichergestellt, dass alle verbindungsbezogenen Fehler, Warnungen und Benachrichtigungen auf Client-Ebene ständig protokolliert werden und Sie nach einem Vorfall oder Fehler Protokolle anzeigen können.
Es hängt von der Menge der generierten Protokolle ab, aber in der Regel können Sie ein paar Stunden bis mehrere Tage zurückgehen.
Um die Traces anzuzeigen, die der 9800 WLC standardmäßig erfasst, können Sie per SSH/Telnet eine Verbindung zum 9800 WLC herstellen und folgende Schritte ausführen: (Stellen Sie sicher, dass Sie die Sitzung in einer Textdatei protokollieren.)
Schritt 1: Überprüfen Sie die aktuelle WLC-Zeit, damit Sie die Protokolle bis zum Auftreten des Problems nachverfolgen können.
# show clock
Schritt 2: Sammeln Sie die Syslogs aus dem WLC-Puffer oder dem externen Syslog, wie in der Systemkonfiguration festgelegt. Dadurch erhalten Sie einen schnellen Überblick über den Systemzustand und eventuelle Fehler.
# show logging
Schritt 3: Überprüfen, ob Debugbedingungen aktiviert sind
# show debugging
IOSXE Conditional Debug Configs:
Conditional Debug Global State: Stop
IOSXE Packet Tracing Configs:
Packet Infra debugs:
Ip Address Port
------------------------------------------------------|----------
Anmerkung: Wenn eine Bedingung aufgelistet wird, bedeutet dies, dass die Ablaufverfolgungen für alle Prozesse, bei denen die aktivierten Bedingungen auftreten (MAC-Adresse, IP-Adresse usw.) protokolliert werden. Dadurch erhöht sich die Anzahl der Protokolle. Daher wird empfohlen, alle Bedingungen zu löschen, wenn gerade kein Debugging aktiv ist.
Schritt 4: Angenommen, die zu testende MAC-Adresse wurde in Schritt 3 nicht als Bedingung aufgeführt. Sammeln Sie die Nachverfolgungen auf permanenter Benachrichtigungsebene für die spezifische MAC-Adresse:
# show logging profile wireless filter { mac | ip } { <aaaa.bbbb.cccc> | <a.b.c.d> } to-file always-on-<FILENAME.txt>
Sie können entweder den Inhalt der Sitzung anzeigen oder die Datei auf einen externen TFTP-Server kopieren:
# more bootflash:always-on-<FILENAME.txt>
or
# copy bootflash:always-on-<FILENAME.txt> tftp://a.b.c.d/path/always-on-<FILENAME.txt>
Bedingtes Debugging und Radio Active Tracing
Wenn die stets verfügbaren Ablaufverfolgungen nicht genügend Informationen bereitstellen, um den Auslöser für das zu untersuchende Problem zu ermitteln, können Sie das bedingte Debuggen aktivieren und die Radio Active (RA)-Ablaufverfolgung erfassen, die Ablaufverfolgungen auf Debugebene für alle Prozesse bereitstellt, die mit der angegebenen Bedingung interagieren (in diesem Fall Client-MAC-Adresse). Dies ist über die grafische Benutzeroberfläche (GUI) oder die CLI möglich.
CLI:
Führen Sie folgende Schritte aus, um das bedingte Debuggen zu aktivieren:
Schritt 5: Stellen Sie sicher, dass keine Debugbedingungen aktiviert sind.
# clear platform condition all
Schritt 6: Aktivieren Sie die Debug-Bedingung für die MAC-Adresse des Wireless-Clients, die Sie überwachen möchten.
Mit diesem Befehl wird die angegebene MAC-Adresse 30 Minuten (1800 Sekunden) lang überwacht. Sie können diese Zeit optional auf bis zu 2085978494 Sekunden erhöhen.
# debug wireless mac <aaaa.bbbb.cccc> {monitor-time <seconds>}
Hinweis: Um mehr als einen Client gleichzeitig zu überwachen, führen Sie den Befehl „debug wireless mac <aaaa.bbbb.cccc>“ für jede MAC-Adresse aus.
Hinweis: Die Ausgabe der Client-Aktivität in einer Terminal-Sitzung wird nicht angezeigt, da alles intern gepuffert wird, um später angezeigt zu werden.
Schritt 7: Reproduzieren Sie das Problem oder Verhalten, das Sie überwachen möchten.
Schritt 8: Beenden Sie die Fehlersuche, wenn das Problem wiedergegeben wird, bevor die standardmäßige oder konfigurierte Überwachungszeit abläuft.
# no debug wireless mac <aaaa.bbbb.cccc>
Sobald die Monitoring-Zeit abgelaufen ist oder das Wireless-Debugging beendet wurde, generiert der 9800 WLC eine lokale Datei mit dem Namen:
ra_trace_MAC_aaaabbbbcccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log
Schritt 9: Sammeln Sie die Datei der MAC-Adressaktivität. Sie können entweder die Datei ra trace.log auf einen externen Server kopieren oder die Ausgabe direkt auf dem Bildschirm anzeigen.
Überprüfen Sie den Namen der RA-Tracing-Datei:
# dir bootflash: | inc ra_trace
Datei auf externen Server kopieren:
# copy bootflash:ra_trace_MAC_aaaabbbbcccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log tftp://a.b.c.d/ra-FILENAME.txt
Inhalt anzeigen:
# more bootflash:ra_trace_MAC_aaaabbbbcccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log
Schritt 10: Wenn die Ursache immer noch nicht offensichtlich ist, sammeln Sie die internen Protokolle, die eine ausführlichere Ansicht der Protokolle auf Debugebene darstellen. Sie müssen den Client nicht erneut debuggen, da wir uns eingehender mit Debug-Protokollen befassen, die bereits gesammelt und intern gespeichert wurden.
# show logging profile wireless internal filter { mac | ip } { <aaaa.bbbb.cccc> | <a.b.c.d> } to-file ra-internal-<FILENAME>.txt
Anmerkung: Dieser Befehl gibt Traces für alle Protokollstufen für alle Prozesse zurück und ist ziemlich umfangreich. Wenden Sie sich an das Cisco TAC, um diese Nachverfolgungen zu analysieren.
Sie können entweder die Datei „ra-internal-FILENAME.txt“ auf einen externen Server kopieren oder die Ausgabe direkt auf dem Bildschirm anzeigen.
Datei auf externen Server kopieren:
# copy bootflash:ra-internal-<FILENAME>.txt tftp://a.b.c.d/ra-internal-<FILENAME>.txt
Inhalt anzeigen:
# more bootflash:ra-internal-<FILENAME>.txt
Schritt 11: Entfernen Sie die Debugbedingungen.
# clear platform condition all
Anmerkung: Stellen Sie sicher, dass Sie nach einer Fehlerbehebungssitzung immer die Bedingungen für das Debuggen entfernen.
GUI:
Schritt 1: Gehen Sie zu Troubleshooting > Radioactive Trace > + Add
, und geben Sie die MAC-/IP-Adresse des Clients an, für den Sie eine Fehlerbehebung durchführen möchten.

Schritt 2: Klicken Sie auf Start.
Schritt 3: Reproduzieren des Problems
Schritt 4: Klicken Sie auf Beenden.
Schritt 5. Klicken Sie auf die Generate
Schaltfläche, wählen Sie das Zeitintervall, für das Sie die Protokolle abrufen möchten, und klicken Sie auf Apply to Device. In this example, the logs for the last 10 minutes are requested.

Schritt 6. Laden Sie die radioaktive Spur auf Ihren Computer und klicken Sie auf die Download-Schaltfläche und überprüfen Sie sie.

Fehlerbehebung auf der ISE
Wenn Probleme mit der Client-Authentifizierung auftreten, können Sie die Protokolle auf dem ISE-Server überprüfen. Gehen Sie zu Operations > RADIUS > Live Logs
, und Sie sehen die Liste der Authentifizierungsanforderungen, den zugewiesenen Policy Set, das Ergebnis für jede Anforderung usw. Weitere Details erhalten Sie, wenn Sie auf die Lupe unter der Details
Registerkarte jeder Zeile klicken, wie im Bild gezeigt:
