Einleitung
In diesem Dokument wird die Funktionsweise der Klassifizierung und Profilerstellung für Geräte auf Cisco Catalyst Wireless LAN-Controllern der Serie 9800 beschrieben.
Voraussetzungen
Anforderungen
Es gibt keine spezifischen Anforderungen für dieses Dokument.
Verwendete Komponenten
Die Informationen in diesem Dokument basieren auf folgenden Software-Versionen:
- 9800 CL WLC mit 17.2.1 Image
- Access Point 1815i
- Windows 10 Pro Wireless-Client
- Cisco ISE 2.7
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.
Profilerstellungsprozess
In diesem Artikel wird ausführlich erläutert, wie die Geräteklassifizierung und -profilierung auf Cisco Catalyst 9800 Wireless LAN-Controllern funktioniert. Darüber hinaus werden mögliche Anwendungsfälle, Konfigurationsbeispiele und die erforderlichen Schritte zur Fehlerbehebung beschrieben.
Die Erstellung von Geräteprofilen bietet eine Möglichkeit, zusätzliche Informationen zu einem Wireless-Client zu erhalten, der der Wireless-Infrastruktur beigetreten ist.
Sobald die Erstellung der Geräteprofile erfolgt ist, können mit dieser Funktion verschiedene lokale Richtlinien angewendet oder bestimmte RADIUS-Serverregeln abgeglichen werden.
Die Cisco WLCs der Serie 9800 können drei (3) Arten der Erstellung von Geräteprofilen durchführen:
- MAC-Adresse OUI
- DHCP
- HTTP
OUI-Profilerstellung für MAC-Adresse
Die MAC-Adresse ist eine eindeutige Kennung für jede drahtlose (und kabelgebundene) Netzwerkschnittstelle. Es handelt sich um eine 48-Bit-Nummer, die in der Regel im Hexadezimalformat MM:MM:MM:SS:SS notiert ist.
Die ersten 24 Bit (oder 3 Achtbitzeichen) werden als OUI (Organizational Unique Identifier) bezeichnet und bezeichnen auf einzigartige Weise einen Anbieter oder Hersteller.
Sie werden vom IEEE erworben und zugewiesen. Ein Anbieter oder Hersteller kann mehrere OUIs erwerben.
Beispiel:
00:0D:4B - owned by Roku, LLC
90:78:B2 - owned by Xiaomi Communications Co Ltd
Sobald ein Wireless-Client mit dem Access Point verbunden ist, führt der WLC eine OUI-Suche durch, um den Hersteller zu ermitteln.
In FlexConnect-Bereitstellungen für lokales Switching leitet der Access Point relevante Client-Informationen wie DHCP-Pakete und die MAC-Adresse des Clients weiter an den WLC weiter.
Eine Profilierung, die nur auf OUI basiert, ist äußerst begrenzt, und es ist möglich, ein Gerät als eine bestimmte Marke zu klassifizieren, es kann jedoch nicht zwischen einem Laptop und einem Smartphone unterscheiden.
Lokal verwaltete MAC-Adressen behandeln Probleme
Aus Datenschutzgründen begannen viele Hersteller, Mac-Randomisierungsfunktionen in ihre Geräte zu integrieren.
Lokal verwaltete MAC-Adressen werden nach dem Zufallsprinzip generiert und weisen ein zweitgeringstwertiges Bit des ersten Oktetts der Adresse auf 1 auf.
Dieses Bit fungiert als Flag, das ankündigt, dass die MAC-Adresse tatsächlich eine zufällig generierte ist.
Es gibt vier mögliche Formate für lokal verwaltete MAC-Adressen (x kann ein beliebiger Hexadezimalwert sein):
x2-xx-xx-xx-xx-xx
x6-xx-xx-xx-xx-xx
xA-xx-xx-xx-xx-xx
xE-xx-xx-xx-xx-xx
Android 10-Geräte verwenden standardmäßig eine zufällig generierte, lokal verwaltete MAC-Adresse, wenn sie sich mit einem neuen SSID-Netzwerk verbinden.
Diese Funktion verhindert vollständig die OUI-basierte Geräteklassifizierung, da der Controller erkennt, dass die Adresse randomisiert wurde und keine Suche durchführt.
DHCP-Profilerstellung
Die DHCP-Profilerstellung wird vom WLC durch Untersuchung der DHCP-Pakete durchgeführt, die der Wireless-Client sendet.
Wenn das Gerät mithilfe der DHCP-Profilerstellung klassifiziert wurde, enthält die Ausgabe des Befehls show wireless client mac-address [MAC_ADDR] Folgendes:
Device Type : Microsoft-Workstation
Device Name : MSFT 5.0
Protocol Map : 0x000009 (OUI, DHCP)
Protocol : DHCP
WLC überprüft mehrere DHCP-Optionsfelder in den von Wireless-Clients versendeten Paketen:
1. Option 12 - Hostname
Diese Option stellt den Hostnamen des Clients dar und ist in den Paketen "DHCP Discover" und "DHCP Request" zu finden:

2. Option 60 - Anbieter-Klassenkennung
Diese Option finden Sie auch in den Paketen "DHCP Discover and Request" (DHCP erkennen und anfordern).
Mit dieser Option können sich die Clients gegenüber dem DHCP-Server identifizieren, und die Server können dann so konfiguriert werden, dass sie auf die Clients nur mit einer bestimmten Anbieterklassenkennung antworten.
Diese Option wird am häufigsten verwendet, um die Access Points im Netzwerk zu identifizieren und nur mit der Option 43 auf diese zu reagieren.
Beispiele für Anbieterklassen-IDs
- Microsoft 5.0 für alle Windows 2000-Clients (und höher)
- MSFT 98 für alle Windows 98 und Me Clients
- Microsoft für alle Windows 98-, Me- und 2000-Clients
Apple MacBook-Geräte senden standardmäßig keine Option 60 aus.
Beispiel für die Paketerfassung vom Windows 10-Client:

3. Option 55 - Parameteranforderungsliste
Die DHCP Parameter Request List-Option enthält Konfigurationsparameter (Optionscodes), die der DHCP-Client vom DHCP-Server anfordert. Es handelt sich um eine Zeichenfolge in kommagetrennter Notation (z. B. 1,15,43).
Dies ist keine perfekte Lösung, da die generierten Daten herstellerabhängig sind und von verschiedenen Gerätetypen dupliziert werden können.
Beispielsweise fordern Windows 10-Geräte standardmäßig immer eine bestimmte Parameterliste an. Apple iPhones und iPads verwenden verschiedene Parameter, auf denen es möglich ist, sie zu klassifizieren.
Beispielaufzeichnung vom Windows 10-Client:

4. Option 77 - Benutzerklasse
Benutzerklasse ist eine Option, die in der Regel nicht standardmäßig verwendet wird und die eine manuelle Konfiguration des Clients erfordert. Diese Option kann z. B. mithilfe des folgenden Befehls auf einem Windows-Computer konfiguriert werden:
ipconfig /setclassid “ADAPTER_NAME” “USER_CLASS_STRING”
Sie finden den Adapternamen im Netzwerk- und Freigabecenter in der Systemsteuerung:

Konfigurieren Sie die DHCP-Option 66 für den Windows 10-Client in CMD (erfordert Administratorrechte):

Aufgrund der Windows-Implementierung von Option 66 ist Wireshark nicht in der Lage, diese Option zu dekodieren, und ein Teil des Pakets, das nach Option 66 eingeht, wird als fehlerhaft angezeigt:

HTTP-Profilerstellung
Die HTTP-Profilerstellung ist die fortschrittlichste Methode zur Profilerstellung, die 9800 WLC unterstützt, und sie bietet die detaillierteste Geräteklassifizierung. Damit ein Client ein HTTP-Profil erstellen kann, muss er sich im Status "Ausführen" befinden und eine HTTP GET-Anforderung ausführen. WLC fängt die Anforderung ab und untersucht das Benutzer-Agent-Feld im HTTP-Header des Pakets. Dieses Feld enthält zusätzliche Informationen zum Wireless-Client die zur Klassifizierung verwendet werden kann.
Standardmäßig haben fast alle Hersteller eine Funktion implementiert, mit der ein Wireless-Client versucht, eine Prüfung der Internetverbindung durchzuführen. Diese Prüfung wird auch für die automatische Erkennung von Gastportalen verwendet. Wenn ein Gerät eine HTTP-Antwort mit dem Statuscode 200 (OK) empfängt, bedeutet dies, dass das WLAN nicht durch Webauth gesichert ist. Ist dies der Fall, führt der WLC das Abfangen durch, das für die restliche Authentifizierung erforderlich ist. Jede nachfolgende HTTP-Anfrage wird vom WLC geprüft und führt möglicherweise zu einer noch detaillierteren Klassifizierung.
Windows 10-Geräte verwenden die Domäne msftconnectest.com, um diesen Test durchzuführen. Apple-Geräte verwenden captive.apple.com, während Android-Geräte in der Regel connectivitycheck.gstatic.com verwenden.
Paketerfassungen des Windows 10-Clients, der diese Prüfung durchführt, finden Sie weiter unten. Das Feld "User Agent" wird mit Microsoft NCSI ausgefüllt, was dazu führt, dass der Client auf dem WLC als Microsoft-Workstation profiliert wird:

Beispielausgabe von show wireless client mac-address [MAC_ADDR] detailliert für einen Client, der über HTTP profiliert wird:
Device Type : Microsoft-Workstation
Device Name : MSFT 5.0
Protocol Map : 0x000029 (OUI, DHCP, HTTP)
Device OS : Windows NT 10.0; Win64; x64; rv:76.0
Protocol : HTTP
RADIUS-Profilerstellung
Bei der Klassifizierung des Geräts gibt es keinen Unterschied zwischen lokaler und RADIUS-Profilerstellung.
Wenn die RADIUS-Profilerstellung aktiviert ist, leitet der WLC die vom Gerät erfassten Informationen über einen bestimmten Satz anbieterspezifischer RADIUS-Attribute an den RADIUS-Server weiter.
DHCP RADIUS-Profilerstellung
Die durch die DHCP-Profilerstellung erhaltenen Informationen werden als herstellerspezifisches RADIUS AVPair cisco-av-pair an den RADIUS-Server innerhalb der Accounting-Anforderung gesendet: dhcp-option=<DHCP-Option>.
Beispiel eines Accounting-Anforderungspakets, das AVPairs für die DHCP-Option 12, 60 und 55 anzeigt und vom WLC an den RADIUS-Server gesendet wurde (Wert für Option 55 erscheint möglicherweise aufgrund der Wireshark-Dekodierung als beschädigt):

HTTP RADIUS-Profilerstellung
Die Informationen, die über HTTP Profiling (User-Agent-Feld aus dem Header der HTTP GET-Anforderung) ermittelt wurden, werden als anbieterspezifisches RADIUS AVPair cisco-av-pair an den RADIUS-Server innerhalb der Accounting-Anforderung gesendet: http-tlv=Benutzer-Agent=<Benutzer-Agent>
Die erste Verbindungsprüfung für das HTTP GET-Paket enthält nicht viele Informationen im Feld User-Agent, sondern nur Microsoft NCSI. Beispiel für ein Accounting-Paket, das diesen einfachen Wert an den RADIUS-Server weiterleitet:

Sobald der Benutzer mit dem Surfen im Internet beginnt und einige zusätzliche HTTP GET-Anforderungen erstellt, können weitere Informationen dazu abgerufen werden. WLC sendet ein zusätzliches Abrechnungspaket an die ISE, wenn neue User-Agent-Werte für diesen Client erkannt werden. In diesem Beispiel kann man sehen, dass der Client Windows 10 64 Bit und Firefox 76 verwendet:

Konfigurieren der Profilerstellung auf dem 9800 WLC
Lokale Profilkonfiguration
Damit die lokale Profilerstellung funktioniert, aktivieren Sie einfach die Geräteklassifizierung unter Konfiguration > Wireless > Wireless Global. Diese Option aktiviert die MAC OUI-, HTTP- und DHCP-Profilerstellung gleichzeitig:

Darüber hinaus können Sie unter "Policy configuration" das HTTP-TLV-Caching und das DHCP-TLV-Caching aktivieren. WLC führt Profilerstellung durch, selbst wenn diese nicht erforderlich ist.
Wenn diese Optionen aktiviert sind, speichert der WLC zuvor erfasste Informationen zu diesem Client im Cache-Modus ab, sodass keine zusätzlichen Pakete geprüft werden müssen, die von diesem Gerät generiert wurden.

Konfiguration der RADIUS-Profilerstellung
Damit die RADIUS-Profilerstellung funktioniert, müssen Sie neben der globalen Geräteklassifizierung (wie im Konfigurationsabschnitt zur lokalen Profilerstellung erwähnt) folgende Schritte ausführen:
1. Konfigurieren Sie die AAA-Methodenliste > Accounting mit der Typidentität, die auf den RADIUS-Server verweist:

2. Die Buchungsmethode muss unter Konfiguration > Tags & Profile > Richtlinie > [Policy_Name] > Erweitert hinzugefügt werden:

3. Schließlich muss das Kontrollkästchen RADIUS Local Profiling unter Configuration (Konfiguration) > Tags & Profiles (Tags und Profile) > Policy (Richtlinie) aktiviert werden. Dieses Kontrollkästchen aktiviert sowohl HTTP als auch DHCP RADIUS Profiling (alte AireOS WLCs hatten 2 separate Kontrollkästchen):

Profilerstellung - Anwendungsfälle
Lokale Richtlinien auf Basis der lokalen Profilklassifizierung anwenden
Diese Beispielkonfiguration veranschaulicht die Konfiguration der lokalen Richtlinie mit einem QoS-Profil, das den YouTube- und Facebook-Zugriff blockiert und nur auf Geräte angewendet wird, die als Windows-Workstation profiliert sind.
Bei geringfügigen Änderungen kann diese Konfiguration geändert werden, um z. B. eine bestimmte DSCP-Markierung nur für Wireless-Telefone festzulegen.
Erstellen Sie ein QoS-Profil, indem Sie zu Configuration > Services > QoS navigieren. Klicken Sie auf Hinzufügen, um eine neue Richtlinie zu erstellen:

Geben Sie den Richtliniennamen an, und fügen Sie eine neue Klassenzuordnung hinzu. Wählen Sie aus den verfügbaren Protokollen die Protokolle aus, die blockiert, DSCP markiert oder auf eine bestimmte Bandbreite beschränkt werden sollen.
In diesem Beispiel werden YouTube und Facebook blockiert. Achten Sie darauf, dieses QoS-Profil nicht auf die Richtlinienprofile unten im QoS-Fenster anzuwenden:


Navigieren Sie zu Konfiguration > Sicherheit > Lokale Richtlinie, und erstellen Sie eine neue Serviceschablone:

Geben Sie die im vorherigen Schritt erstellten Eingangs-QoS- und Ausgangs-QoS-Profile an. In diesem Schritt kann auch eine Zugriffsliste angewendet werden. Wenn keine VLAN-Änderung erforderlich ist, lassen Sie das Feld für die VLAN-ID leer:

Navigieren Sie zur Registerkarte Richtlinienzuordnung, und klicken Sie auf Hinzufügen:

Legen Sie den Namen der Richtlinienzuordnung fest, und fügen Sie neue Kriterien hinzu. Geben Sie die im vorherigen Schritt erstellte Dienstvorlage an, und wählen Sie den Gerätetyp aus, auf den diese Vorlage angewendet wird.
In diesem Fall wird Microsoft-Workstation verwendet. Wenn mehrere Richtlinien definiert sind, wird die erste Übereinstimmung verwendet.
Ein weiterer gängiger Anwendungsfall wäre die Angabe von OUI-basierten Abgleichskriterien. Wenn eine Bereitstellung über eine große Anzahl von Scannern oder Druckern desselben Modells verfügt, verfügen diese in der Regel über dieselbe MAC-OUI.
Hiermit kann eine bestimmte QoS DSCP-Markierung oder eine ACL angewendet werden:

Damit der WLC den YouTube- und Facebook-Datenverkehr erkennen kann, muss die Anwendungstransparenz aktiviert sein.
Navigieren Sie zu Konfiguration > Services > Application Visibility (Anwendungstransparenz), und aktivieren Sie die Transparenz für das Richtlinienprofil Ihres WLAN:

Vergewissern Sie sich, dass unter dem Richtlinienprofil die HTTP TLV-Zwischenspeicherung, die DHCP TLV-Zwischenspeicherung und die globale Geräteklassifizierung aktiviert sind und dass der Name der lokalen Abonnentenrichtlinie auf die lokale Richtlinienzuordnung verweist, die in einem der vorherigen Schritte erstellt wurde:

Nachdem der Client eine Verbindung hergestellt hat, kann überprüft werden, ob die lokale Richtlinie angewendet wurde, und getestet werden, ob YouTube und Facebook tatsächlich blockiert sind. Die Ausgabe der MAC-Adresse [MAC_ADDR] des Show Wireless-Clients enthält:
Input Policy Name : block
Input Policy State : Installed
Input Policy Source : Native Profile Policy
Output Policy Name : block
Output Policy State : Installed
Output Policy Source : Native Profile Policy
Local Policies:
Service Template : BlockTemplate (priority 150)
Input QOS : block
Output QOS : block
Service Template : wlan_svc_11override_local (priority 254)
VLAN : VLAN0039
Absolute-Timer : 1800
Device Type : Microsoft-Workstation
Device Name : MSFT 5.0
Protocol Map : 0x000029 (OUI, DHCP, HTTP)
Protocol : HTTP
RADIUS-Profilerstellung für erweiterte Richtliniensätze in der Cisco ISE
Bei aktivierter RADIUS-Profilerstellung leitet der WLC Profilerstellungsinformationen an die ISE weiter. Basierend auf diesen Informationen können erweiterte Authentifizierungs- und Autorisierungsregeln erstellt werden.
Dieser Artikel behandelt nicht die ISE-Konfiguration. Weitere Informationen finden Sie im Cisco ISE Profiling Design Guide.
Für diesen Workflow muss in der Regel CoA verwendet werden. Stellen Sie deshalb sicher, dass er auf dem 9800 WLC aktiviert ist.
Profilierung in FlexConnect-Bereitstellungen
Zentrale Authentifizierung, lokales Switching
In dieser Konfiguration funktionieren sowohl die lokale als auch die RADIUS-Profilerstellung weiterhin genau wie in den vorherigen Kapiteln beschrieben. Wenn der AP in den Standalone-Modus wechselt (die Verbindung des AP mit dem WLC wird unterbrochen), funktioniert die Erstellung der Geräteprofile nicht mehr, und es können keine neuen Clients eine Verbindung herstellen.
Lokale Authentifizierung, lokales Switching
Wenn sich der AP im verbundenen Modus befindet (der AP ist mit dem WLC verbunden), wird die Profilerstellung fortgesetzt (der AP sendet eine Kopie der Client-DHCP-Pakete an den WLC, um den Profilerstellungsprozess durchzuführen).
Obwohl die Profilerstellung funktioniert, können Profilerstellungsinformationen nicht für lokale Richtlinienkonfigurationen oder RADIUS-Profilerstellungsregeln verwendet werden, da die Authentifizierung lokal auf dem Access Point ausgeführt wird.
Fehlerbehebung
Radioaktive Spuren
Die einfachste Methode zur Fehlerbehebung bei der Client-Profilerstellung auf dem WLC sind radioaktive Spuren. Navigieren Sie zu Troubleshooting > Radioactive Trace, geben Sie die MAC-Adresse des Client-Wireless-Adapters ein, und klicken Sie auf Start:

Verbinden Sie den Client mit dem Netzwerk, und warten Sie, bis der Ausführungsstatus erreicht ist. Stoppen Sie die Ablaufverfolgungen, und klicken Sie auf Generate (Generieren). Stellen Sie sicher, dass interne Protokolle aktiviert sind (diese Option ist nur in Version 17.1.1 und späteren Versionen verfügbar):

Als Nächstes sind die relevanten Schnipsel aus der radioaktiven Spur zu finden.
Client, der von WLC als Microsoft-Workstation profiliert wird:
2020/06/18 10:46:41.052366 {wncd_x_R0-0}{1}: [auth-mgr] [21168]: (info): [74da.38f6.76f0:capwap_90000004] Device type for the session is detected as Microsoft-Workstation and old device-type not classified earlier &Device name for the session is detected as MSFT 5.0 and old device-name not classified earlier & Old protocol map 0 and new is 41
2020/06/18 10:46:41.052367 {wncd_x_R0-0}{1}: [auth-mgr] [21168]: (debug): [74da.38f6.76f0:capwap_90000004] updating device type Microsoft-Workstation, device name MSFT 5.0
WLC-Caching der Geräteklassifizierung:
(debug): [74da.38f6.76f0:unknown] Updating cache for mac [74da.38f6.76f0] device_type: Microsoft-Workstation, device_name: MSFT 5.0 user_role: NULL protocol_map: 41
WLC-Suche nach der Geräteklassifizierung im Cache:
(info): [74da.38f6.76f0:capwap_90000004] Device type found in cache Microsoft-Workstation
WLC wendet lokale Richtlinie basierend auf Klassifizierung an:
(info): device-type filter: Microsoft-Workstation required, Microsoft-Workstation set - match for 74da.38f6.76f0 / 0x9700001A
(info): device-type Filter evaluation succeeded
(debug): match device-type eq "Microsoft-Workstation" :success
WLC sendet Abrechnungspakete, die DHCP und das HTTP-Profiling-Attribut enthalten:
[caaa-acct] [21168]: (debug): [CAAA:ACCT:c9000021] Accounting session created
[auth-mgr] [21168]: (info): [74da.38f6.76f0:capwap_90000004] Getting active filter list
[auth-mgr] [21168]: (info): [74da.38f6.76f0:capwap_90000004] Found http
[auth-mgr] [21168]: (info): [74da.38f6.76f0:capwap_90000004] Found dhcp
[aaa-attr-inf] [21168]: (debug): Filter list http-tlv 0
[aaa-attr-inf] [21168]: (debug): Filter list dhcp-option 0
[aaa-attr-inf] [21168]: (debug): Get acct attrs dc-profile-name 0 "Microsoft-Workstation"
[aaa-attr-inf] [21168]: (debug): Get acct attrs dc-device-name 0 "MSFT 5.0"
[aaa-attr-inf] [21168]: (debug): Get acct attrs dc-device-class-tag 0 "Workstation:Microsoft-Workstation"
[aaa-attr-inf] [21168]: (debug): Get acct attrs dc-certainty-metric 0 10 (0xa)
[aaa-attr-inf] [21168]: (debug): Get acct attrs dhcp-option 0 00 0c 00 0f 44 45 53 4b 54 4f 50 2d 4b 4c 52 45 30 4d 41
[aaa-attr-inf] [21168]: (debug): Get acct attrs dhcp-option 0 00 3c 00 08 4d 53 46 54 20 35 2e 30
[aaa-attr-inf] [21168]: (debug): Get acct attrs dhcp-option 0 00 37 00 0e 01 03 06 0f 1f 21 2b 2c 2e 2f 77 79 f9 fc
### http profiling sent in a separate accounting packet
[aaa-attr-inf] [21168]: (debug): Get acct attrs http-tlv 0 00 01 00 0e 4d 69 63 72 6f 73 6f 66 74 20 4e 43 53 49
Paketerfassung
In einer zentral gesteuerten Bereitstellung kann die Paketerfassung auf dem WLC selbst durchgeführt werden. Navigieren Sie zu Troubleshooting > Packet Capture, und erstellen Sie einen neuen Erfassungspunkt auf einer der Schnittstellen, die von diesem Client verwendet werden.
Es ist erforderlich, SVI im VLAN zu verwenden, um die Erfassung für das VLAN durchzuführen. Andernfalls wird die Erfassung am physischen Port selbst durchgeführt.

Zugehörige Informationen