内容

はじめに

前提条件

要件

使用するコンポーネント

プロファイルプロセス

MACアドレスOUIプロファイリング

ローカルで管理されるMACアドレスの問題

DHCPプロファイリング

1. オプション12 – ホスト名

2. オプション60 – ベンダークラスID

3. オプション55：パラメータ要求リスト

4. オプション77：ユーザクラス

HTTPプロファイリング

RADIUS Profiling

DHCP RADIUSプロファイリング

HTTP RADIUSプロファイリング

9800 WLCでのプロファイリングの設定

ローカルプロファイリングの設定

RADIUSプロファイリングの設定

プロファイルの使用例

ローカルプロファイリングの分類に基づいてローカルポリシーを適用

Cisco 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アドレスは、各ワイヤレス（および有線）ネットワークインターフェイスの一意の識別子です。通常は48ビットの数値で、16進数形式MM:MM:MM:SS:SS:SSで表記されます。

最初の24ビット（または3オクテット）はOrganizational Unique Identifier（OUI；組織固有識別子）と呼ばれ、ベンダーまたはメーカーを一意に識別します。

これらはIEEEから購入され、IEEEによって割り当てられます。1つのベンダーまたはメーカーが複数のOUIを購入できます。

例：

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

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

ワイヤレスクライアントがアクセスポイントに関連付けられると、WLCはOUIルックアップを実行してメーカーを特定します。

Flexconnectローカルスイッチングの導入では、APは引き続き関連するクライアント情報（DHCPパケットやクライアントMACアドレスなど）をWLCにリレーします。

OUIのみに基づくプロファイリングは非常に限られており、デバイスを特定のブランドとして分類することは可能ですが、ラップトップとスマートフォンを区別することはできません。

ローカルで管理されるMACアドレスの問題

プライバシーの懸念から、多くのメーカーがMACランダム化機能をデバイスに実装し始めました。

ローカルで管理されるMACアドレスはランダムに生成され、アドレスの最初のオクテットの2番目の最下位ビットが1に設定されます。

このビットは、MACアドレスが実際にはランダムに生成されたものであることを通知するフラグとして機能します。

ローカルで管理されるMACアドレスには、4つの形式があります（xは任意の16進数値です）。

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プロファイリングは、ワイヤレスクライアントが送信しているDHCPパケットの調査を通じてWLCによって実行されます。

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 DiscoverおよびDHCP Requestパケットで確認できます。

2. オプション60 – ベンダークラスID

このオプションは、DHCP DiscoverおよびRequestパケットにも含まれています。

このオプションを使用すると、クライアントはDHCPサーバに対して自身を識別でき、特定のベンダークラスIDを持つクライアントにのみ応答するようにサーバを設定できます。

このオプションは、ネットワーク内のアクセスポイントを特定し、それにオプション43で応答するためだけに最も一般的に使用されます。

ベンダークラスIDの例

- すべての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デバイスは常にデフォルトで特定のパラメータリストを要求します。Apple iPhoneとiPadは、それらを分類できる異なるパラメータセットを使用します。

Windows 10クライアントからのキャプチャ例：

4. オプション77：ユーザクラス

ユーザクラスは、デフォルトでは最も一般的に使用されないオプションであり、クライアントを手動で設定する必要があります。たとえば、Windowsマシンで次のコマンドを使用して、このオプションを設定できます。

ipconfig /setclassid “ADAPTER_NAME” “USER_CLASS_STRING”

アダプタ名は、コントロールパネルの[ネットワークと共有センター]にあります。

CMDでWindows 10クライアント用のDHCPオプション66を設定します（管理者権限が必要）。

Windowsのオプション66の実装により、Wiresharkではこのオプションを復号化できず、オプション66の後に着信するパケットの一部が不正な形式で表示されます。

HTTPプロファイリング

HTTPプロファイリングは、9800 WLCがサポートする最も高度なプロファイリング方法で、最も詳細なデバイス分類を提供します。 クライアントをHTTPプロファイリングするには、Run状態にして、HTTP GET要求を実行する必要があります。 WLCが要求をインターセプトし、パケットのHTTPヘッダーにあるUser-Agentフィールドを調べます。 このフィールドには、分類に使用できるワイヤレスクライアントに関する追加情報が含まれています。

デフォルトでは、ほとんどすべての製造元で、ワイヤレスクライアントがインターネット接続チェックを実行しようとする機能が実装されています。 このチェックは、自動ゲストポータル検出にも使用されます。デバイスがステータスコード200(OK)のHTTP応答を受信した場合、WLANはwebauthで保護されていません。 その場合、WLCは残りの認証を実行するために必要なインターセプションを実行します。この最初のHTTP GETは、WLCがデバイスのプロファイリングに使用できる唯一のWLCではありません。 後続のHTTP要求はすべてWLCによって検査され、さらに詳細な分類が行われる可能性があります。

Windows 10デバイスは、ドメインmsftconnecttest.comを使用してこのテストを実行します。Appleデバイスはcaptive.apple.comを使用しますが、Androidデバイスは通常connectivitycheck.gstatic.comを使用します。

このチェックを実行しているWindows 10クライアントのパケットキャプチャは次のとおりです。User Agentフィールドには、Microsoft NCSIが設定され、クライアントはWLC上でMicrosoft-Workstationとしてプロファイリングされます。

HTTPでプロファイルされたクライアントのshow wireless client mac-address [MAC_ADDR] detailed の出力例：

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 Profiling

デバイスの分類に使用する方法に関しては、ローカルとRADIUSプロファイリングに違いはありません。

RADIUSプロファイリングを有効にすると、WLCはデバイスについて学習した情報を、特定のベンダー固有のRADIUSアトリビュートのセットを介してRADIUSサーバに転送します。

DHCP RADIUSプロファイリング

DHCPプロファイリングによって取得された情報は、ベンダー固有のRADIUS AVPair cisco-av-pair: dhcp-option=<DHCP option>としてアカウンティング要求内でRADIUSサーバに送信されます。

DHCPオプション12、60、および55のAVPairsを示すアカウンティング要求パケットがそれぞれWLCからRADIUSサーバに送信される例（オプション55の値は、Wiresharkのデコードにより破損している可能性があります）。

HTTP RADIUSプロファイリング

HTTPプロファイリング(HTTP GET要求のヘッダーのUser-Agentフィールド)によって取得された情報は、ベンダー固有のRADIUS AVPair cisco-av-pair:http-tlv=User-Agent=<user-agent>としてアカウンティング要求内のRADIUSサーバに送信されます。

初期接続チェックのHTTP GETパケットには、User-Agentフィールドにあまり情報が含まれません。Microsoft NCSIのみです。 この単純な値をRADIUSサーバに転送するアカウンティングパケットの例：

ユーザがインターネットのブラウズを開始し、追加のHTTP GET要求を作成すると、その要求に関する詳細情報を取得できます。 WLCは、このクライアントの新しいユーザエージェント値を検出すると、追加のアカウンティングパケットをISEに送信します。 この例では、クライアントがWindows 10（64ビット）とFirefox 76を使用していることを確認できます。

9800 WLCでのプロファイリングの設定

ローカルプロファイリングの設定

ローカルプロファイリングが機能するには、Configuration > Wireless > Wireless Globalの下でDevice Classificationをイネーブルにするだけです。このオプションは、MAC OUI、HTTP、およびDHCPプロファイリングを同時に有効にします。

また、ポリシー設定で、HTTP TLVキャッシングとDHCP TLVキャッシングを有効にできます。WLCは、プロファイルがない場合でもプロファイルを実行します。

これらのオプションをイネーブルにすると、WLCはこのクライアントに関して以前に学習した情報をキャッシュするため、このデバイスによって生成された追加のパケットを検査する必要がなくなります。

RADIUSプロファイリングの設定

RADIUSプロファイリングが機能するためには、(「ローカルプロファイリングの設定」セクションで説明した)デバイス分類をグローバルに有効にする以外に、次を行う必要があります。

1. AAA Method List > Accountingを、RADIUSサーバを指すタイプidentityで設定します。

2. アカウンティング方式をConfiguration > Tags & Profiles > Policy > [Policy_Name] > Advancedの下に追加する必要があります。

3. 最後に、Configuration > Tags & Profiles > Policyの下で、RADIUS Local Profilingチェックボックスにチェックマークを入れる必要があります。このチェックボックスで、HTTPとDHCP RADIUSプロファイリングが有効になります（古いAireOS WLCには2つの個別のチェックボックスがありました）。

プロファイルの使用例

ローカルプロファイリングの分類に基づいてローカルポリシーを適用

この設定例では、Windows-Workstationとしてプロファイルされたデバイスだけに適用される、YouTubeとFacebookへのアクセスをブロックするQoSプロファイルを使用したローカルポリシーの設定を示します。

わずかな変更を加えると、この設定を変更して、たとえば無線電話だけに特定のDSCPマーキングを設定できます。

Configuration > Services > QoSの順に選択して、QoSプロファイルを作成します。Addをクリックして、新しいポリシーを作成します。

ポリシー名を指定し、新しいクラスマップを追加します。使用可能なプロトコルから、ブロックする必要のあるプロトコル、DSCPがマーキングされているプロトコル、または帯域幅が制限されているプロトコルを選択します。

この例では、YouTubeとFacebookがブロックされています。このQoSプロファイルは、必ずQoSウィンドウの下部にあるポリシープロファイルのいずれにも適用しないでください。

Configuration > Security > Local Policyの順に移動し、新しいサービステンプレートを作成します。

前の手順で作成した入力QoSプロファイルと出力QoSプロファイルを指定します。このステップでは、アクセスリストも適用できます。VLANを変更する必要がない場合は、VLAN IDフィールドを空のままにします。

Policy Mapタブに移動し、Addをクリックします。

ポリシーマップの名前を設定し、新しい基準を追加します。前のステップで作成したサービステンプレートを指定し、このテンプレートを適用するデバイスタイプを選択します。

この場合は、Microsoft-Workstationが使用されます。複数のポリシーが定義されている場合は、最初の一致が使用されます。

もう1つの一般的な使用例は、OUIベースの一致基準を指定することです。同じモデルのスキャナまたはプリンタが多数導入されている場合、通常は同じMAC OUIが使用されます。

これは、特定のQoS DSCPマーキングまたはACLを適用するために使用できます。

WLCでYouTubeとFacebookのトラフィックを認識できるようにするには、アプリケーションの可視性をオンにする必要があります。

WLANのConfiguration > Services > Application Visibility enable visibility for the Policy Profileの順に移動します。

ポリシープロファイルでHTTP TLV Caching、DHCP TLV Caching、Global device Classificationが有効になっており、ローカル加入者ポリシー名が前述のいずれかの手順で作成されたローカルポリシーマップを指していることを確認します。

クライアントが接続した後、ローカルポリシーが適用されているかどうかを確認し、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

Cisco ISEの高度なポリシーセットのRADIUSプロファイリング

RADIUSプロファイリングを有効にすると、WLCはプロファイリング情報をISEに転送します。この情報に基づいて、高度な認証および許可ルールを作成できます。

この記事では、ISEの設定については説明しません。詳細については、『Cisco ISEプロファイリング設計ガイド』を参照してください。

このワークフローでは通常、CoAを使用する必要があるため、9800 WLCでCoAが有効になっていることを確認します。

FlexConnectの導入におけるプロファイリング

中央認証、ローカル スイッチング

この設定では、ローカルとRADIUSの両方のプロファイリングが、前の章で説明したとおりに引き続き動作します。APがスタンドアロンモード（APからWLCへの接続が失われる）になると、デバイスプロファイリングが機能しなくなり、新しいクライアントは接続できなくなります。

ローカル認証、ローカル スイッチング

APが接続モード（APがWLCに加入している）の場合、プロファイリングは続行されます（APはクライアントDHCPパケットのコピーをWLCに送信してプロファイリング処理を実行します）。

プロファイルは機能しますが、認証はAPでローカルに実行されるため、ローカルポリシー設定やRADIUSプロファイリングルールにプロファイル情報を使用することはできません。

トラブルシューティング

放射性物質トレース

WLCでのクライアントプロファイリングのトラブルシューティングを行う最も簡単な方法は、放射性トレースを使用することです。Troubleshooting > Radioactive 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

DHCPおよびHTTPプロファイリング属性を含むアカウンティングパケットを送信するWLC:

[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が必要です。それ以外の場合は、物理ポート自体でキャプチャを実行します

関連情報

- シスコのテクニカルサポートとダウンロード