DHCP Snooping支持的Option82功能
概述
在传统的DHCP动态分配IP地址过程中,DHCP Server不能够根据DHCP请求报文感知到用户的具体物理位置,以致同一VLAN的用户得到的IP地址所拥有的权限是完全相同的。由于网络管理者不能对同一VLAN中特定的用户进行有效的控制,即不能够控制客户端对网络资源的访问,这将给网络的安全控制提出了严峻的挑战。
DHCP Relay Agent Information Option(Option 82)选项记录了DHCP Client的位置信息。DHCP Snooping设备或DHCP Relay通过在DHCP请求报文中添加Option82选项,将DHCP Client的精确物理位置信息传递给DHCP Server,从而使得DHCP Server能够为主机分配合适的IP地址和其他配置信息,实现对客户端的安全控制。
Option82包含两个常用子选项Circuit ID和Remote ID。其中Circuit ID子选项主要用来标识客户端所在的VLAN、接口等信息,Remote ID子选项主要用来标识客户端接入的设备,一般为设备的MAC地址。
- 设备作为DHCP Relay时,使能或未使能DHCP Snooping功能都可支持Option82选项功能,但若设备在二层网络作为接入设备,则必须使能DHCP Snooping功能方可支持Option82功能。
- Option82选项仅记录了DHCP用户的精确物理位置信息并通过DHCP请求报文中将该信息发送给DHCP Server。而如果需要对不同的用户部署不同的地址分配或安全策略,则需DHCP Server支持Option82功能并在其上已配置了IP地址分配或安全策略。
- Option82选项携带的用户位置信息与DHCP Snooping绑定表记录的用户参数是两个相互独立的概念,没有任何关联。Option82选项携带的用户位置信息是在DHCP用户申请IP地址时(此时用户还未分配到IP地址),由设备添加到DHCP请求报文中。DHCP Snooping绑定表是在设备收到DHCP Server回应的DHCP Ack报文时(此时已为用户分配了IP地址),设备根据DHCP Ack报文信息自动生成。
实现
Insert方式:当设备收到DHCP请求报文时,若该报文中没有Option82选项,则插入Option82选项;若该报文中含有Option82选项,则判断Option82选项中是否包含remote-id,如果包含,则保持Option82选项不变,如果不包含,则插入remote-id。
Rebuild方式:当设备收到DHCP请求报文时,若该报文中没有Option82选项,则插入Option82选项;若该报文中含有Option82选项,则删除该Option82选项并插入管理员自己在设备上配置的Option82选项。
对于Insert和Rebuild两种方式,当设备接收到DHCP服务器的响应报文时,处理方式一致。
- DHCP响应报文中有Option82选项:
- 如果设备收到的DHCP请求报文中没有Option82选项,则设备将删除DHCP响应报文中的Option82选项,之后转发给DHCP Client。
- 如果设备收到的DHCP请求报文中有Option82选项,则设备将DHCP响应报文中的Option82选项格式还原为DHCP请求报文中的Option82选项,之后转发给DHCP Client。
- DHCP响应报文不含有Option82选项:直接转发。