In dit document wordt beschreven hoe apparaatclassificatie en profilering werken op Cisco Catalyst 9800 Wireless LAN Controllers.
Er zijn geen specifieke vereisten van toepassing op dit document.
De informatie in dit document is gebaseerd op de volgende softwareversies:
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Dit artikel biedt een diepgaande blik op hoe apparaatclassificatie en profilering werkt op Cisco Catalyst 9800 Wireless LAN Controllers, beschrijft mogelijke use cases, configuratievoorbeelden en stappen die nodig zijn om het probleem op te lossen.
Apparaatprofilering is een functie die een manier biedt om meer informatie te vinden over een draadloze client die zich bij de draadloze infrastructuur heeft aangesloten.
Zodra apparaatprofilering is uitgevoerd, kan deze worden gebruikt om verschillende lokale beleidsregels toe te passen of om aan specifieke RADIUS-serverregels te voldoen.
Cisco 9800 WLC's kunnen drie (3) typen apparaatprofilering uitvoeren:
MAC-adres is een unieke identificatie van elke draadloze (en bekabelde) netwerkinterface. Het is een 48-bits getal dat meestal wordt opgeschreven in een hexadecimaal formaat MM: MM: MM: SS: SS: SS.
De eerste 24 bits (of 3 octetten) staan bekend als Organizational Unique Identifier (OUI) en identificeren een leverancier of fabrikant.
Ze worden gekocht van en toegewezen door de IEEE. Eén leverancier of fabrikant kan meerdere OUI's aanschaffen.
Voorbeeld:
00:0D:4B - owned by Roku, LLC 90:78:B2 - owned by Xiaomi Communications Co Ltd
Zodra een draadloze client is gekoppeld aan het toegangspunt, voert de WLC de OUI-zoekopdracht uit om de fabrikant te bepalen.
Bij lokale switchingimplementaties van Flexconnect geeft het toegangspunt nog steeds relevante clientinformatie door aan de WLC (zoals DHCP-pakketten en het MAC-adres van de client).
Profilering alleen op basis van OUI is uiterst beperkt en het is mogelijk om het apparaat te classificeren als een specifiek merk, maar het is niet in staat om onderscheid te maken tussen een laptop en smartphone.
Vanwege privacyproblemen zijn veel fabrikanten begonnen met het implementeren van mac-randomisatiefuncties in hun apparaten.
Lokaal toegediende MAC-adressen worden willekeurig gegenereerd en hebben een op één na minst significant deel van het eerste octet van het adres ingesteld op 1.
Dit bit fungeert als een vlag die aankondigt dat het mac-adres eigenlijk een willekeurig gegenereerde is.
Er zijn vier mogelijke formaten van lokaal beheerde MAC-adressen (x kan elke hexawaarde zijn):
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-apparaten gebruiken standaard een willekeurig gegenereerd lokaal beheerd MAC-adres telkens wanneer ze verbinding maken met een nieuw SSID-netwerk.
Deze functie verslaat de op OUI gebaseerde apparaatclassificatie volledig, omdat de controller erkent dat het adres is gerandomiseerd en geen opzoekingen uitvoert.
DHCP-profilering wordt uitgevoerd door WLC door middel van onderzoek naar de DHCP-pakketten die de draadloze client verzendt.
Als DHCP-profilering werd gebruikt om het apparaat te classificeren, bevat de uitvoer van de gedetailleerde opdracht show wireless client mac-address [MAC_ADDR]:
Device Type : Microsoft-Workstation Device Name : MSFT 5.0 Protocol Map : 0x000009 (OUI, DHCP) Protocol : DHCP
WLC inspecteert verschillende DHCP Option-velden in de pakketten die door draadloze clients worden verzonden:
Deze optie vertegenwoordigt de hostnaam van de client en is te vinden in de pakketten DHCP Discover en DHCP Request:

Deze optie is ook te vinden in de DHCP Discover and Request-pakketten.
Met deze optie kunnen clients zichzelf identificeren met de DHCP-server en kunnen de servers vervolgens worden geconfigureerd om alleen te reageren op de clients met een specifieke leveranciersklasse-id.
Deze optie wordt het meest gebruikt om de toegangspunten in het netwerk te identificeren en er alleen op te reageren met de optie 43.
Voorbeelden van Vendor Class Identifiers:
Apple MacBook-apparaten verzenden niet standaard Option 60.
Voorbeeld pakketopname van Windows 10-client:

De optie Lijst met DHCP-parameteraanvragen bevat configuratieparameters (optiecodes) die de DHCP-client van de DHCP-server vraagt. Het is een tekenreeks geschreven in komma gescheiden notatie (bijvoorbeeld 1,15,43).
Het is geen perfecte oplossing omdat de gegevens die het produceert afhankelijk zijn van de leverancier en kunnen worden gedupliceerd door meerdere apparaattypen.
Windows 10-apparaten vragen bijvoorbeeld altijd standaard een bepaalde parameterlijst aan. Apple iPhones en iPads gebruiken verschillende parameters waarop ze kunnen worden geclassificeerd.
Voorbeeld vastleggen van Windows 10-client:

Gebruikersklasse is een optie die meestal niet standaard wordt gebruikt en vereist dat de client handmatig wordt geconfigureerd. Deze optie kan bijvoorbeeld worden geconfigureerd op een Windows-systeem met de opdracht:
ipconfig /setclassid “ADAPTER_NAME” “USER_CLASS_STRING”
De naam van de adapter is te vinden in het Network & Sharing Center in het configuratiescherm:

DHCP-optie 66 configureren voor Windows 10-client in CMD (vereist beheerdersrechten):

Als gevolg van de Windows-implementatie van optie 66, wireshark is niet in staat om deze optie te decoderen en een deel van het pakket komt nadat optie 66 verschijnt als misvormd:

HTTP-profilering is de meest geavanceerde manier om 9800 WLC-ondersteuning te profileren en biedt de meest gedetailleerde apparaatclassificatie. Om een client een HTTP-profiel te geven, moet deze in de uitvoeringsstatus staan en een HTTP GET-verzoek uitvoeren. WLC onderschept het verzoek en kijkt in het User-Agent veld in HTTP header van het pakket. Dit veld bevat aanvullende informatie over de draadloze client waarmee deze kan worden geclassificeerd.
Standaard hebben bijna alle fabrikanten een functie geïmplementeerd waarbij een draadloze client probeert de internetconnectiviteit te controleren. Deze controle wordt ook gebruikt voor automatische detectie van gastenportalen. Als een apparaat een HTTP-respons ontvangt met statuscode 200 (OK), betekent dit dat het WLAN niet is beveiligd met webauth. Als dit het geval is, voert de WLC vervolgens de interceptie uit die nodig is om de rest van de authenticatie uit te voeren. Deze eerste HTTP GET is niet de enige WLC die het apparaat kan profileren. Elk volgend HTTP-verzoek wordt geïnspecteerd door de WLC en het resulteert mogelijk met een nog gedetailleerdere classificatie.
Windows 10-apparaten gebruiken het domein msftconnecttest.com om deze test uit te voeren. Apple-apparaten gebruiken captive.apple.com, terwijl Android-apparaten meestal connectivitycheck.gstatic.com gebruiken.
Packet-opnamen van de Windows 10-client die deze controle uitvoert, vindt u hieronder. Het veld User Agent wordt gevuld met Microsoft NCSI, waardoor de client op de WLC wordt geprofileerd als Microsoft-Workstation:

Voorbeeld van uitvoer van show wireless client mac-address [MAC_ADDR] gedetailleerd voor een client die is geprofileerd via HTTP:
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
Als het gaat om methoden die worden gebruikt om het apparaat te classificeren, is er geen verschil tussen Lokale en RADIUS-profilering.
Als RADIUS-profilering is ingeschakeld, stuurt de WLC de informatie die het over het apparaat heeft geleerd door middel van een specifieke set RADIUS-kenmerken van de leverancier naar de RADIUS-server.
Informatie die via DHCP Profiling wordt verkregen, wordt binnen het boekhoudverzoek naar de RADIUS-server verzonden als een leveranciersspecifieke RADIUS AVPair cisco-av-pair: dhcp-option=<DHCP option>.
Voorbeeld van een boekhoudkundig aanvraagpakket met AVPairs voor DHCP-optie 12, 60 en 55, respectievelijk verzonden van WLC naar RADIUS-server (optie 55-waarde wordt mogelijk als beschadigd weergegeven vanwege Wireshark-decodering):

Informatie verkregen via HTTP Profiling (User-Agent veld van de header van HTTP GET-verzoek) wordt verzonden naar de RADIUS-server binnen het boekhoudverzoek als een leverancier specifieke RADIUS AVPair cisco-av-pair: http-tlv=User-Agent=<user-agent>
Eerste connectiviteitscontrole HTTP GET-pakket bevat niet veel informatie in het veld User-Agent, alleen Microsoft NCSI. Voorbeeld van een boekhoudpakket dat deze eenvoudige waarde doorstuurt naar de RADIUS-server:

Zodra de gebruiker begint met surfen op het internet en een aantal extra HTTP GET-verzoeken maakt, is het mogelijk om er meer informatie over te krijgen. WLC stuurt een extra boekhoudpakket naar de ISE als het nieuwe User-Agent-waarden voor deze client detecteert. In dit voorbeeld is het mogelijk om te zien dat de client Windows 10 64-bits en Firefox 76 gebruikt:

Als u wilt dat lokale profilering werkt, schakelt u Apparaatclassificatie in onder Configuratie > Draadloos > Draadloos algemeen. Met deze optie kunt u tegelijkertijd MAC OUI-, HTTP- en DHCP-profilering uitvoeren:

Daarnaast kunt u onder Beleidsconfiguratie HTTP TLV Caching en DHCP TLV Caching inschakelen. WLC voert profilering uit, zelfs zonder hen.
Met deze opties ingeschakeld, de WLC-cache vervolgens geleerd informatie over deze client en vermijd de noodzaak om extra pakketten gegenereerd door dit apparaat te inspecteren.

Om RADIUS Profiling te laten werken, naast het wereldwijd inschakelen van apparaatclassificatie (zoals vermeld in het gedeelte Local Profiling configuration), is het noodzakelijk om:
1. Configureer de AAA Method List > Accounting met type-identiteit die naar de RADIUS-server wijst:

2. De boekhoudmethode moet worden toegevoegd onder Configuration > Tags & Profiles > Policy > [Policy_Name] > Advanced:

3. Ten slotte moet het selectievakje RADIUS Local Profiling worden aangevinkt onder Configuration > Tags & Profiles > Policy. Met dit selectievakje kunt u zowel HTTP als DHCP RADIUS Profiling inschakelen (oude AireOS WLC's hadden 2 afzonderlijke selectievakjes):

Deze voorbeeldconfiguratie toont de configuratie van Lokaal beleid met een QoS-profiel dat YouTube- en Facebook-toegang blokkeert die alleen wordt toegepast op apparaten die zijn geprofileerd als Windows-Workstationʼ.
Met kleine wijzigingen kan deze configuratie worden gewijzigd om bijvoorbeeld specifieke DSCP-markering in te stellen voor alleen draadloze telefoons.
Maak een QoS-profiel door te navigeren naar Configuration > Services > QoS. Klik op Toevoegen om een nieuw beleid te maken:

Geef de naam van het beleid op en voeg een nieuwe klassenkaart toe. Selecteer in de beschikbare protocollen de protocollen die moeten worden geblokkeerd, met DSCP-markering of met beperkte bandbreedte.
In dit voorbeeld worden YouTube en Facebook geblokkeerd. Zorg ervoor dat u dit QoS-profiel niet toepast op een van de beleidsprofielen onderaan het QoS-venster:


Navigeer naar Configuratie > Beveiliging > Lokaal beleid en maak een nieuwe servicesjabloon:

Geef Ingress QoS- en Egress QoS-profielen op die in de vorige stap zijn gemaakt. In deze stap kan ook een toegangslijst worden toegepast. Als er geen VLAN-wijziging nodig is, laat u het veld VLAN-ID leeg:

Navigeer naar het tabblad Beleidskaart en klik op Toevoegen:

Stel de naam van de beleidskaart in en voeg nieuwe criteria toe. Geef de servicesjabloon op die in de vorige stap is gemaakt en selecteer het apparaattype waarop deze sjabloon is toegepast.
In dit geval wordt Microsoft-Workstation gebruikt. Als er meerdere beleidsregels zijn gedefinieerd, wordt de eerste overeenkomst gebruikt.
Een andere veel voorkomende use case zou zijn om OUI-gebaseerde matchcriteria te specificeren. Als een implementatie een groot aantal scanners of printers van hetzelfde model heeft, hebben ze meestal dezelfde MAC OUI.
Dit kan worden gebruikt om specifieke QoS DSCP-markering of een ACL toe te passen:

Om WLC in staat te stellen het YouTube- en Facebook-verkeer te herkennen, moet Application Visibility worden ingeschakeld.
Navigeer naar Configuratie > Services > Zichtbaarheid van toepassingen om zichtbaarheid voor het beleidsprofiel van uw WLAN mogelijk te maken:

Controleer of onder het beleidsprofiel de HTTP TLV Caching, DHCP TLV Caching, Global device Classification zijn ingeschakeld en dat Local Subscriber Policy Name verwijst naar de lokale beleidskaart die in een van de voorgaande stappen is gemaakt:

Nadat de client verbinding heeft gemaakt, is het mogelijk om te controleren of het lokale beleid is toegepast en te testen of YouTube en Facebook daadwerkelijk zijn geblokkeerd. Uitvoer van de show wireless client mac-adres [MAC_ADDR] bevat gedetailleerd:
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
Als RADIUS-profilering is ingeschakeld, stuurt de WLC profileringsinformatie door naar de ISE. Op basis van deze informatie is het mogelijk om geavanceerde authenticatie- en autorisatieregels te maken.
Dit artikel heeft geen betrekking op de ISE-configuratie. Raadpleeg de Cisco ISE Profiling Design Guide voor meer informatie.
Deze workflow vereist meestal het gebruik van CoA, dus zorg ervoor dat deze is ingeschakeld op de 9800 WLC.
In deze configuratie blijft zowel Lokale als RADIUS-profilering precies werken zoals beschreven in eerdere hoofdstukken. Als het toegangspunt in de stand-alone modus wordt gezet (het toegangspunt verliest de verbinding met de WLC), werkt de apparaatprofilering niet meer en kunnen er geen nieuwe clients verbinding maken.
Als AP in de verbonden modus staat (AP is aangesloten op de WLC), blijft profilering werken (AP stuurt een kopie van client-DHCP-pakketten naar de WLC om het profileringsproces uit te voeren).
Hoewel profilering werkt, kan de profileringsinformatie niet worden gebruikt voor de configuratie van het lokale beleid of de regels voor RADIUS-profilering, omdat de verificatie lokaal op het toegangspunt wordt uitgevoerd.
De eenvoudigste manier om problemen met clientprofilering op de WLC op te lossen, is via radioactieve sporen. Ga naar Problemen oplossen > Radioactief traceren, voer het MAC-adres van de draadloze adapter van de client in en klik op Start:

Sluit de client aan op het netwerk en wacht tot deze de uitvoerstatus bereikt. Stop de sporen en klik op Genereren. Zorg ervoor dat interne logs zijn ingeschakeld (deze optie bestaat alleen in 17.1.1 en latere versies):

Relevante fragmenten uit het radioactieve spoor zijn hieronder te vinden.
Klant die door WLC wordt geprofileerd als Microsoft-Workstation:
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 voor de apparaatclassificatie:
(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 die de apparaatclassificatie in de cache vindt:
(info): [74da.38f6.76f0:capwap_90000004] Device type found in cache Microsoft-Workstation
WLC die lokaal beleid toepast op basis van classificatie:
(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 verzendt boekhoudpakketten met DHCP- en HTTP-profileringsattribuut:
[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
In een centraal geschakelde implementatie kunnen pakketopnames worden uitgevoerd op de WLC zelf. Navigeer naar Problemen oplossen > Packet Capture en maak een nieuw opnamepunt op een van de interfaces die door deze client worden gebruikt.
Het moet SVI op het VLAN hebben om de opname uit te voeren, anders neemt u de opname op de fysieke poort zelf

| Revisie | Publicatiedatum | Opmerkingen |
|---|---|---|
5.0 |
09-Sep-2026
|
Hercertificatie, tekst, opmaak |
3.0 |
27-Mar-2024
|
hercertificering |
1.0 |
23-Jun-2020
|
Eerste vrijgave |