目錄

簡介

必要條件

需求

採用元件

分析過程

MAC地址OUI分析

本地管理的MAC地址問題

DHCP分析

1.選項12 — 主機名

2.選項60 — 供應商類別識別符號

3.選項55 — 引數請求清單

4.選項77 — 使用者類

HTTP分析

RADIUS分析

DHCP RADIUS分析

HTTP RADIUS分析

在9800 WLC上配置效能分析

本地分析配置

RADIUS分析配置

分析使用案例

基於本地分析分類應用本地策略

針對思科ISE中的高級策略集的RADIUS分析

在FlexConnect部署中進行分析

集中身份驗證、本地交換

本地身份驗證、本地交換

疑難排解

放射性痕跡

封包擷取

相關資訊

簡介

本檔案將說明裝置分類和分析在Cisco Catalyst 9800無線LAN控制器上的運作方式。

必要條件

需求

本文件沒有特定需求。

採用元件

本檔案中的資訊是根據以下軟體版本：

- 執行17.2.1映像的9800 CL WLC

- 1815i存取點

- Windows 10 Pro無線客戶端

- Cisco ISE 2.7

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

分析過程

本文深入瞭解裝置分類和分析在Cisco Catalyst 9800無線LAN控制器上的運作方式，介紹潛在的使用案例、組態範例，以及進行疑難排解的必要步驟。

裝置分析是一種功能，可用於查詢有關已加入無線基礎設施的無線客戶端的其他資訊。

執行裝置分析後，可使用它來應用不同的本地策略或匹配特定的RADIUS伺服器規則。

Cisco 9800 WLC能夠執行三(3)種型別的裝置分析：

1. MAC地址OUI

2. DHCP

3. HTTP

MAC地址OUI分析

MAC地址是每個無線（和有線）網路介面的唯一識別符號。這是一個通常以十六進位制格式MM:MM:MM:SS:SS:SS寫下的48位數字。

前24位（或3個八位位元組）稱為組織唯一識別符號(OUI)，它們唯一標識供應商或製造商。

它們由IEEE購買和分配。一個供應商或製造商可以購買多個OUI。

範例：

00:0D:4B - owned by Roku, LLC

90:78:B2 - owned by Xiaomi Communications Co Ltd

無線客戶端與接入點關聯後，WLC會執行OUI查詢以確定製造商。

在Flexconnect本地交換部署中，AP仍會將相關的客戶端資訊中繼到WLC（例如DHCP資料包和客戶端mac地址）。

僅基於OUI的特徵提取極為有限，可以將裝置分類為特定品牌，但無法區分筆記型電腦和智慧手機。

本地管理的MAC地址問題

出於隱私考慮，許多製造商開始在他們的裝置上實施MAC隨機化功能。

本地管理的MAC地址是隨機生成的，並且地址第一八位數的第二最低有效位設定為1。

此位充當一個標誌，用於宣佈mac地址實際上是一個隨機生成的地址。

本地管理的MAC地址有四種可能的格式（x可以是任何十六進位制值）：

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裝置在每次連線到新的SSID網路時使用隨機生成的本地管理的MAC地址。

由於控制器識別出地址是隨機化的，並且不執行任何查詢，因此此功能完全破壞了基於OUI的裝置分類。

DHCP分析

DHCP分析由WLC通過調查無線客戶端發出的DHCP資料包來執行。

如果使用DHCP分析對裝置進行分類，show wireless client mac-address [MAC_ADDR] detailed命令的輸出包括：

Device Type      : Microsoft-Workstation

Device Name      : MSFT 5.0

Protocol Map     : 0x000009  (OUI, DHCP)

Protocol         : DHCP

WLC會檢查無線使用者端傳送的封包中的多個DHCP選項欄位：

1.選項12 — 主機名

此選項表示客戶端主機名，可在DHCP發現和DHCP請求資料包中找到：

2.選項60 — 供應商類別識別符號

也可以在DHCP發現和請求資料包中找到此選項。

使用此選項，客戶端可以向DHCP伺服器標識自己，然後可以將伺服器配置為僅響應具有特定供應商類別識別符號的客戶端。

此選項最常用於標識網路中的接入點，並且僅使用選項43對其作出響應。

供應商類識別符號示例

- 適用於所有Windows 2000客戶端的MSFT 5.0（及更高版本）

- 適用於所有Windows 98和Me客戶端的MSFT 98

- 適用於所有Windows 98、Me和2000客戶端的MSFT

預設情況下，Apple MacBook裝置不會傳送選項60。

從Windows 10客戶端捕獲資料包的示例：

3.選項55 — 引數請求清單

DHCP Parameter Request List選項包含DHCP客戶端向DHCP伺服器請求的配置引數（選項代碼）。它是以逗號分隔的記法編寫的字串（例如1,15,43）。

這不是一個完美的解決方案，因為它生成的資料取決於供應商，可以按多種裝置型別進行複製。

例如，預設情況下，Windows 10裝置總是請求特定引數清單。蘋果iPhone和iPad使用不同的參陣列合，可以對它們進行分類。

從Windows 10客戶端捕獲的示例：

4.選項77 — 使用者類

使用者類是預設情況下最常使用的選項，需要手動配置客戶端。例如，可以在Windows電腦上使用以下命令配置此選項：

ipconfig /setclassid “ADAPTER_NAME” “USER_CLASS_STRING”

介面卡名稱可在控制面板中的「網路和共用中心」中找到：

在CMD中為Windows 10客戶端配置DHCP選項66（需要管理員許可權）：

由於選項66的Windows實現，wireshark無法解碼該選項，選項66之後的部分資料包顯示為格式不正確：

HTTP分析

HTTP分析是分析9800 WLC支援的最高級方法，它提供了最詳細的裝置分類。要分析HTTP分析的客戶端，它需要處於運行狀態並執行HTTP GET請求。WLC會攔截該請求並檢視資料包HTTP標頭中的User-Agent欄位。此欄位包含可用於對其進行分類的無線客戶端的其他信息。

預設情況下，幾乎所有製造商都實施了無線客戶端嘗試執行Internet連線檢查的功能。此檢查還用於自動來賓門戶檢測。如果裝置收到狀態碼為200(OK)的HTTP回應，這表示WLAN未使用webauth進行保護。如果是話，WLC會執行必要偵聽，以執行其餘的驗證。此初始HTTP GET不是唯一一個WLC可用於分析裝置。WLC會檢查每個後續的HTTP請求，並且可能會產生更詳細的分類。

Windows 10裝置使用域msftconnecttest.com執行此測試。Apple裝置使用captive.apple.com，而Android裝置通常使用connectivitycheck.gstatic.com。

執行此檢查的Windows 10客戶端的資料包捕獲可在下面找到。「使用者代理」欄位填充了Microsoft NCSI，這導致在WLC上將客戶端配置為Microsoft-Workstation:

對於通過HTTP分析的客戶端，show wireless client mac-address [MAC_ADDR]的輸出示例是詳細的：

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分析

當涉及用於裝置分類的方法時，Local和RADIUS評測沒有區別。

如果啟用RADIUS分析,WLC會將它透過一組特定廠商的RADIUS屬性所瞭解的裝置資訊轉送到RADIUS伺服器。

DHCP RADIUS分析

通過DHCP分析獲取的資訊將作為供應商特定的RADIUS AVPair cisco-av-pair傳送到記帳請求中的RADIUS伺服器：dhcp-option=<DHCP選項>。

顯示DHCP選項12、60和55的AVPairs的記帳請求資料包的示例，分別從WLC傳送到RADIUS伺服器（選項55值可能由於Wireshark解碼而損壞）：

HTTP RADIUS分析

通過HTTP分析(HTTP GET請求的標頭中的User-Agent欄位)獲得的資訊將作為供應商特定的RADIUS AVPair cisco-av-pair傳送到記帳請求內部的RADIUS伺服器：http-tlv=使用者代理=<使用者代理>

初始連線檢查HTTP GET資料包在User-Agent欄位中不包含太多資訊，只有Microsoft NCSI。記帳資料包將此簡單值轉發到RADIUS伺服器的示例：

一旦使用者開始瀏覽Internet並建立一些額外的HTTP GET請求，就有可能獲取有關它的詳細資訊。如果檢測到ISE客戶端的新User-Agent值，WLC會向ISE傳送額外的記帳資料包。在此示例中，可以看到客戶端使用Windows 10 64位和Firefox 76:

在9800 WLC上配置效能分析

本地分析配置

為了使Local Profiling起作用，只需在Configuration > Wireless > Wireless Global下啟用Device Classification。此選項同時啟用MAC OUI、HTTP和DHCP分析：

此外，在Policy configuration下，您可以啟用HTTP TLV Caching和DHCP TLV Caching。即使沒有配置檔案，WLC也會執行效能分析。

啟用這些選項後，WLC會快取先前瞭解的此使用者端資訊，並避免檢查此裝置產生的其他封包。

RADIUS分析配置

為了使RADIUS分析工作，除了全域性啟用裝置分類(如本地分析配置一節中所述)，還必須：

1.使用指向RADIUS伺服器的identity 型別配置AAA方法清單>記帳:

2.需要在Configuration > Tags & Profiles > Policy > [Policy_Name] > Advanced下新增記帳方法：

3.最後，需要在Configuration > Tags & Profiles > Policy下勾選RADIUS Local Profiling覈取方塊。此覈取方塊啟用HTTP和DHCP RADIUS 分析（舊的AireOS WLC有兩個單獨的覈取方塊）：

分析使用案例

基於本地分析分類應用本地策略

此示例配置演示了具有QoS profile blocking YouTube和Facebook access的本地策略的配置，該配置僅應用於配置為Windows-Workstation的裝置。

稍作更改後，可以修改此配置，例如，為僅無線電話設定特定的DSCP標籤。

導航到Configuration > Services > QoS以建立QoS配置檔案。按一下Add建立新策略：

指定策略名稱並新增新類對映。從可用協定中，選擇需要被阻止、已標籤DSCP或頻寬受限的協定。

在此示例中，YouTube和Facebook被阻止。確保不要將此QoS配置檔案應用到QoS視窗底部的任何策略配置檔案：

導覽至Configuration > Security > Local Policy，然後建立一個新的服務模板:

指定在上一步中建立的輸入QoS和輸出QoS配置檔案。在此步驟中還可以應用訪問清單。如果不需要更改VLAN，請將VLAN ID欄位留空：

導航到Policy Map頁籤，然後按一下Add:

設定策略對映名稱並新增新條件。指定在上一步中建立的Service Template，並選擇應用此模板的Device Type。

在本例中，使用Microsoft-Workstation。如果定義了多個策略，則使用第一個匹配項。

另一個常見用例是指定基於OUI的匹配條件。如果部署具有大量相同型號的掃描器或印表機，它們通常具有相同的MAC OUI。

這可用於應用特定的QoS DSCP標籤或ACL:

為了讓WLC能夠識別YouTube和Facebook流量，需要啟用應用可視性。

導覽至Configuration > Services > Application Visibility 為WLAN的Policy Profile啟用可見性：

驗證在Policy Profile下，已啟用HTTP TLV Caching、DHCP TLV Caching、Global device Classification，並且Local Subscriber Policy Name指向在以上步驟之一中建立的本地策略對映：

客戶端連線後，可以檢查是否已應用本地策略，並測試YouTube和Facebook是否被實際阻止。 show wireless client mac-address [MAC_ADDR] detailed的輸出包括：

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

針對思科ISE中的高級策略集的RADIUS分析

啟用RADIUS分析後，WLC會將分析資訊轉發到ISE。根據此資訊，可以建立高級身份驗證和授權規則。

本文不涉及ISE配置。有關詳細資訊，請參閱Cisco ISE分析設計手冊。

此工作流程通常需要使用CoA，因此請確保在9800 WLC上啟用此工作流程。

在FlexConnect部署中進行分析

集中身份驗證、本地交換

在此設定中，「本地」和「RADIUS」分析繼續工作，與前幾章中所述的工作完全相同。如果AP進入獨立模式（AP失去與WLC的連線），裝置分析將停止工作，並且沒有新的客戶端能夠連線。

本地身份驗證、本地交換

如果AP處於連線模式（AP加入到WLC），分析將繼續工作（AP將客戶端DHCP資料包的副本傳送到WLC以執行分析過程）。

儘管分析工作正常，但由於身份驗證是在AP本地執行的，因此不能將分析資訊用於任何本地策略配置或RADIUS分析規則。

疑難排解

放射性痕跡

對WLC上的客戶端配置進行故障排除的最簡單方法是使用放射性跟蹤。導覽至Troubleshooting > Radiative Trace，輸入使用者端無線配接器MAC位址，然後按一下Start:

將客戶端連線到網路，並等待其進入運行狀態。停止跟蹤並按一下Generate。確保啟用內部日誌（此選項僅存在於17.1.1及更高版本中）：

放射性痕跡的相關片段可在下面找到。

WLC將使用者端設定為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快取裝置分類：

(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在快取中查詢裝置分類：

(info): [74da.38f6.76f0:capwap_90000004] Device type found in cache Microsoft-Workstation

WLC應用基於分類的本地策略：

(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傳送包含DHCP和HTTP分析屬性的記帳資料包：

[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

封包擷取

在集中交換部署中，可以在WLC本身上執行封包擷取。導覽至Troubleshooting > Packet Capture，並在此客戶端正在使用的其中一個介面上建立新的捕獲點。

必須在VLAN上安裝SVI，才能在其上執行擷取，否則需在實體連線埠上本身進行擷取

相關資訊

- 思科技術支援與下載