DHCP option 82(中继代理信息选项82)

January 6th, 2011 发表评论 阅读评论

Option82应用场景

在该场景下,临时接入者可以在不安装认证客户端的情况下,直接访问Internet资源,但是不能访问学校、企业、政府单位的内网,适用于各种会务、学术交流、临时参观等应用场景,正式员工可以在会议区通过认证接入到内网。为了实现该场景,我们首先要对神州数码网络交换机产品的DHCP Option82功能进行描述。

Option82相关技术

DHCP option 82是为了增强DHCP服务器的安全性,改善IP地址配置策略而提出的一种DHCP选项。通过在网络接入设备上配置DHCP中继代理功能,中继代理把从客户端接收到的DHCP请求报文添加进option 82选项(其中包含了客户端的接入物理端口和接入设备标识等信息),然后再把该报文转发给DHCP服务器,支持option 82功能的DHCP服务器接收到报文后,根据预先配置策略和报文中option 82信息分配IP地址和其它配置信息给客户端,同时DHCP服务器也可以依据option 82中的信息识别可能的DHCP攻击报文并作出防范。DHCP中继代理收到服务器应答报文后,剥离其中的option 82选项并根据选项中的物理端口信息,把应答报文转交到网络接入设备的指定端口。

DHCP option 82又称为DHCP中继代理信息选项(Relay Agent Information Option),是DHCP报文中的一个选项,其编号为82。rfc3046定义了option 82,选项位置在option 255之前而在其它option之后。

 

Code:表示中继代理信息选项的序号,rfc3046定义为82,option 82即由此得名。

Len:为代理信息域(Agent Information Field)的字节个数,不包括Code和Len字段的两个字节。

Option 82可以由多个sub-option 组成,每个option 82选项至少要有一个子选项,rfc3046定义了以下两个子选项,其格式如下图所示:

 

SubOpt:为子选项编号,其中代理电路ID(即Circuit ID)子选项编号为1,代理远程ID(即 Remote ID)子选项编号为2。

Len:为Sub-option Value的字节个数,不包括SubOpt和Len字段的两个字节。

option82子选项1:option82子选项1定义了代理电路ID(即Circuit ID),它表示接收到的DHCP请求报文来自的链路标识,这个标识只在中继代理节点内部有意义,在服务器端不可以解析其含义,只作为一个不具含义的标识使用。在本文实现中代理电路ID默认是指接收到DHCP请求报文的接入交换机Vlan名加接入二层端口名称,如Vlan2+Ethernet0/0/10,也可以由用户指定自己的代理电路ID。通常子选项1与子选项2要共同使用来标识DHCP客户端的信息。

option82子选项2:option82子选项2定义了代理远程ID(即 Remote ID),在我司交换机实现中,代理远程ID是指接收到DHCP请求报文的接入交换机的vlan MAC地址。子选项2通常与子选项1共同使用来标识DHCP客户端的信息。

DHCP请求报文:指由DHCP客户端发起的报文,希望DHCP服务器响应后分配IP地址和其它配置信息。DHCP请求报文一般有四种,分别为DHCP_DISCOVER报文、DHCP_REQUEST报文、DHCP_RELEASE报文和DHCP_INFORM报文。中继代理只针对DHCP请求报文添加option 82选项并转发给服务器。本文实现的DHCP中继对这四种请求报文都添加option 82选项。

DHCP应答报文:指由DHCP服务器响应客户端发起的请求报文,包含配置信息或指示回应结果的DHCP响应报文,DHCP应答报文一般有DHCP_OFFER报文,DHCP_DECLINE报文,DHCP_ACK报文和DHCP_NAK报文。

在DHCP中继代理(交换机)支持option 82的情况下,DHCP客户端通过DHCP中继从DHCP服务器获取IP地址同样要经历发现、提供、选择和确认四个阶段。这时DHCP协议按如下过程进行:

1)DHCP客户端在初始化时广播发送请求报文,这时的请求报文并不包含option 82选项。

2)DHCP中继代理将option 82选项添加到接收到的请求报文尾部后中继转发给DHCP服务器。option 82选项的子选项1(代理电路ID)默认是DHCP客户端所连接的交换机的接口信息(VLan名加物理端口名),也可以由用户自己配置代理电路ID,option 82选项的子选项2(代理远程ID)是DHCP中继设备本身的MAC地址。

3)DHCP服务器收到DHCP中继设备转发的DHCP请求报文后,根据报文中option选项所携带的信息和预定策略分配IP地址和其它信息给客户端,然后将带着DHCP配置信息以及option 82信息的应答报文发给DHCP中继代理。

4)DHCP中继代理收到DHCP服务器的应答报文后将剥离报文中的option 82信息,然后将带有DHCP配置信息的报文转发给DHCP客户端。

基于DHCP OPTION82的DOT1X认证,一般用于在用户使用DHCP方式获取地址的环境中,需要支持基于OPTION82进行地址分配策略的DHCP SERVER。用户在获取IP地址之前处于控制状态,只能访问DHCP SERVER;用户在获取地址之后处于安全状态,接入交换机转发该用户的IP和ARP报文;用户在认证前后能够获得不同地址,通过在接入交换机上联的汇聚交换机上配置ACL,控制不同源地址用户能够访问资源,来控制认证前后用户的访问权限。

为了使DHCP用户在认证前后能够获得不同(网段)的地址,DCN交换机利用了DHCP OPTION82和DHCP Snooping技术。DHCP报文中的82选项一般由DHCP中继代理在中继DHCP报文时附加,在DCN交换机扩展了这一功能,允许DHCP SNOOPING在监听DHCP报文时附加OPTION82信息,OPTION82的内容在DHCP用户认证之前由DHCP SNOOPING添加一个默认值,如果用户在获取地址成功后并且认证通过,则神州数码802.1X认证服务器后台会下发该用户的OPTION82信息到交换机,同时DOT1X 客户端会重新申请一次地址,DHCP SNOOPING在监听DHCP报文时附加用户认证后的OPTION82信息,DHCP SERVER会根据这个OPTION82信息给用户分配另一个地址。由于用户在认证前后地址不同,则可以在接入交换机上联的汇聚交换机上进行基于源IP的ACL配置,来控制用户的访问权限。

 

如上图所示,我们将详细叙述如何通过神州数码交换机DHCP option82功能,实现接入PC不能访问内网,但是可以访问外网的应用场景:

1、内网合法用户使用10.1.0.0/255.255.0.0地址段,而对于临时接入者通过DHCP服务器分配192.168.2.0/255.255.255.0地址段;

2、临时接入终端通过交换机向DHCP服务器申请IP地址(如图为:192.168.2.2),如上图红线步骤。DHCP接入交换机启用基于OPTION82的DOT1X认证功能,在OPTION82插入默认值。DHCP服务器以此认定终端没有通过认证,属于临时接入者。

3、临时接入终端获得192.168.2.0/24地址段地址,可以在汇聚交换机配置ACL,控制192.168.2.0/24对内网的访问,使得192.168.2.0/24地址段不能访问内网资源,但是可以访问外网,如上图绿线所示。

注:此时来访者不需要安装802.1x客户端程序。

 

如上图所示,当内部使用者接入网络:

1、首先在终端认证前可以向DHCP服务器申请IP地址,接入交换机switch1通过DHCP SNOOPING 在DHCP请求报文添加默认值,再转发到DHCP Server。DHCP Server根据OPTION82中的字段为默认值(unauth),判定主机没有经过认证,向终端分配IP地址:192.168.2.3。这个过程和临时访问者完全一样。

2、终端通过802.1X客户端程序向认证服务器,发起认证,如图线条①所示;

3、如果认证没有通过,认证服务器不会发出任何报文,终端的状态,包括IP地址不变。

4、如果认证通过,认证服务器会下发该用户的OPTION82到SWITCH1,并激发用户的认证客户端发起第二次IP地址申请,如图线条②;

5、认证客户端发起第二次IP地址请求,当DHCP请求报文通过SWITCH1,DHCP SNOOPING在监听DHCP报文时附加用户认证后的OPTION82信息,如图线条③所示;

6、DHCP SERVER会根据这个OPTION82信息给用户分配另一个地址:10.1.2.2。如图线条④所示,该IP地址就可以同时访问内外网。

 

网络使用者

内网

外网

举例说明

场景

访问者

不能访问

能访问

高校学术交流,与会者在会务期间,需要访问Internet,但出于安全考虑,这些临时来访者应当不允许访问学校内网。

内部员工

能访问

能访问

分类: Cisco技术 标签: dhcp  option82