中文讨论区

Reply
Moderator
Posts: 12
Registered: ‎05-01-2013

如何在Aruba Intant上配置DHCP“指纹”识别?

[ Edited ]

随着越来越多的公司和组织允许和鼓励用户携带自己的无线终端设备来工作,IT部门开始面对一个问题,即如何区分不同客户端。 Aruba Instant的移动设备接入控制可以通过如下两种方式区分无线终端:

 

a) DHCP “指纹”
b) EAP类型

 

本文将介绍如何通过DHCP“指纹”识别无线终端设备的工作原理和配置,以及排错步骤。

 

什么是DHCP“指纹”识别?
DHCP需要在客户端与服务器之间进行4步信息交换才可以获取IP地址以及其它的网络参数,例如网管IP,DNS服务器地址等。下图是对DHCP信息交互的概括:

i1.png

从客户端发出的DHCP请求信息中携带有“DHCP options”。 DHCP options是一个包含配置参数和其它控制信息的集合。这些信息可以被用来单独标识设备类型或系统类型。

 

下图是一个从win7客户端发出来的DHCP Discover中的DHCP options:

i2.png

 

从上图可以看出:所有的DHCP Option都是[Option][Length][Value]格式。其中的 [Option]字段我们需要转换为16进制表示。例如option 61我们转换成16进制就是3D。 Aruba Instant的DHCP“指纹”识别只检查[Option]和[Value]这两个字段。上图例子中DHCP“指纹”识别Option 61的值为3D010022FA5F66D6。
所以,Aruba Instant的DHCP“指纹”识别就是通过检查客户端发出的DHCP Discover和Request等报文中的DHCP Option信息来区分不同的终端设备。

 

哪些Options是有用的?
下面的列表就是哪些对我们区分客户端有用的DHCP option。需要注意的是:
• 不是所有设备都发送所有的DHCP options。例如Apple的设备从来不发送Option 60
• Option 12的信息是由终端用户自行设定的,缺乏可靠性。

 

 

Option

解释

十进制值

十六进制值

Hostname

客户端设备的名称。

12

0C

Parameter Request List

客户端发出的参数请求列表,请求服务器返回相应的配置信息。

55

37

Vendor Class Identifier

厂商利用这个option传递客户端的配置信息到服务器上。

60

3C

Client Identifier

客户端使用这个option来单一表示自己,这个值通常取自设备自己的MAC地址。

61

3D

Client FQDN

客户端的完全限定域名。

81

51

 

测试环境
本文使用下列软硬件做为测试环境:

硬件

Aruba Instant AP 135

软件

Aruba Instant 6.2.0.0-3.2.0.3

 

网络拓扑

i3.png

 

配置
在SSID配置下的接入标签下通过DHCP-Option分配角色。下图是配置截屏。如果一个客户端没有匹配所有的规则,它会被分配到默认角色。

i4.png

 

 

验证

可以通过客户端列表查看分配给客户端的角色。在下图的例子中,前两个客户端匹配到规则而分别分配到(Win7和MLion)。第三个客户端未匹配到任何规则而分配到默认角色(即,FINGERPRINT)。

i5.png

 

注意

• 当一个客户端匹配多个规则时,匹配到的第一个规则用于分配角色。因此,规则的排列顺序应按照特殊性排列,即最特殊到最普通排列。
• 通过DHCP-Option做角色分配来分配VLAN是不生效的。

 

 

 

 

 

 

 

Moderator
Posts: 12
Registered: ‎05-01-2013

Re: 如何在Aruba Intant上配置DHCP“指纹”识别?

下表包括了主流操作系统的“指纹”

Device

Option

Value

Apple iOS

55

370103060F77FC

Android (Galaxy Note running ICS)

55

37012103061C333A3B

Blackberry

55

370103060F

Blackberry

60

3C426C61636B4265727279

Windows Vista / 7

55

37010F03062C2E2F1F2179F92B

Windows XP (Sp3, Home, Professional)

55

37010F03062C2E2F1F21F92B

Windows XP, Vista, 7

60

3C4D53465420352E30

Windows 7 Phone

55

370103060F2C2E2F

OS X up to 10.7

55

370103060F775FFC2C2E2F

OS X 10.8

55

370103060F775FFC2C2E

 

应用场景
给特殊用户特殊的权限
对某一个或某一群特殊用户(例如CEO的手机)通常都要有特别的对待。Option 61可以帮助我们达到此目的,因为我们前面讲过Option61是基于MAC地址的。我们可以根据特殊用户的MAC分配特殊角色。但是需要注意的是,这条基于Option61的规则必须置于规则列表的顶部,以保证它可以被最先匹配到。

 

Windows Devices:

Windows XP, Vista 和Win7的规则
这三个OS版本会在Option60中发送MSFT5.0
DHCP-Option值等于3C4D53465420352E30可以用来匹配所有使用这三种系统的Windows客户端。

 

单独匹配Windows Vista或Win7的规则
DHCP-Option值等于37010F03062C2E2F1F2179F92B也可以用来匹配使用Windows Vista或Win7系统的客户端。

 

所有使用Windows 95或以上版本的Windows设备
一个起始值是“37010f03062c2e2f”的规则可以匹配所有Windows客户端(从95一直到win7)

 

Apple Devices:
iOS Devices
DHCP-Option值等于370103060F77FC可以用来匹配所有iOS设备。


All Apple Devices
DHCP-Option值等于370103060F77FC可以用来匹配所有iOS和Mac OS X设备。

 

排错
我们通常会遇到两类错误a)客户端匹配到错误的规则;b)客户端没有匹配到规则。
对于匹配到错误规则的客户端,需要确保最特殊的规则放在规则列表的前面。
对于没有匹配到规则的客户端,我们需要验证使用到的DHCP-Option值是否正确。
通过观察有关DHCP“指纹”识别和角色分配信息的日志信息,我们可以知道错误是由于规则匹配错误还是未匹配。打开日志的方法如下图:

 

通过Settings --> Show Advanced Options --> Syslog --> User --> Debug 我们可以开启debug信息。

i6.png

 

开启了Debug后,在管理页面的支持标签选择AP Log User,我们可以看到所有请求信息。我们还可以通过“DHCP”来过滤信息。下图就是一个客户端匹配到规则而被分配到“Win7”角色的过程。

 

i7.png

New Contributor
Posts: 4
Registered: ‎11-29-2011

Re: 如何在Aruba Intant上配置DHCP“指纹”识别?

非常感谢,讲解的非常详细。

请问获取指纹信息,除了用抓包工具抓dhcp包外有没有什么其他方法获取,一般大型厂商的option都已知,担心碰到一些国产的山寨类的机型。

---------------------------------------------------------------------
好好学习,好好工作!
YOYO , ACMP
Moderator
Posts: 12
Registered: ‎05-01-2013

Re: 如何在Aruba Intant上配置DHCP“指纹”识别?

这篇文章是翻译过来的。 个人感觉还是抓包看到的更准确一些。

Search Airheads
Showing results for 
Search instead for 
Did you mean: