dhcp snooping绑定表根据dhcp租期进行老化或根据用户释放ip地址时发出的dhcp release报文自动删除对应表项。
由于dhcp snooping绑定表记录了dhcp客户端ip地址与mac地址等参数的对应关系,故通过对报文与dhcp snooping绑定表进行匹配检查,能够有效防范非法用户的攻击。
为了保证设备在生成dhcp snooping绑定表时能够获取到用户mac等参数,dhcp snooping功能需应用于二层网络中的接入设备或第一个dhcp relay上。
在dhcp中继使能dhcp snooping场景中,dhcp relay设备不需要设置信任接口。因为dhcp relay收到dhcp请求报文后进行源目的ip、mac转换处理,然后以单播形式发送给指定的合法dhcp服务器,所以dhcp relay收到的dhcp ack报文都是合法的,生成的dhcp snooping绑定表也是正确的。
dhcp snooping基本原理
使能了dhcp snooping的设备将用户(dhcp客户端)的dhcp请求报文通过信任接口发送给合法的dhcp服务器。之后设备根据dhcp服务器回应的dhcp ack报文信息生成dhcp snooping绑定表。后续设备再从使能了dhcp snooping的接口接收用户发来的dhcp报文时,会进行匹配检查,能够有效防范非法用户的攻击。
dhcp snooping信任功能
dhcp snooping的信任功能,能够保证客户端从合法的服务器获取ip(internet protocol)地址。
如图1所示,网络中如果存在私自架设的dhcp server仿冒者,则可能导致dhcp客户端获取错误的ip地址和网络配置参数,无法正常通信。dhcp snooping信任功能可以控制dhcp服务器应答报文的来源,以防止网络中可能存在的dhcp server仿冒者为dhcp客户端分配ip地址及其他配置信息。
dhcp snooping信任功能将接口分为信任接口和非信任接口:
信任接口正常接收dhcp服务器响应的dhcp ack、dhcp nak和dhcp offer报文。另外,设备只会将dhcp客户端的dhcp请求报文通过信任接口发送给合法的dhcp服务器。
非信任接口在接收到dhcp服务器响应的dhcp ack、dhcp nak和dhcp offer报文后,丢弃该报文。
在二层网络接入设备使能dhcp snooping场景中,一般将与合法dhcp服务器直接或间接连接的接口设置为信任接口(如图1中的if1接口),其他接口设置为非信任接口(如图1中的if2接口),使dhcp客户端的dhcp请求报文仅能从信任接口转发出去,从而保证dhcp客户端只能从合法的dhcp服务器获取ip地址,私自架设的dhcp server仿冒者无法为dhcp客户端分配ip地址。
dhcp snooping绑定表
dhcp场景中,连接在二层接入设备上的pc配置为自动获取ip地址。pc作为dhcp客户端通过广播形式发送dhcp请求报文,使能了dhcp snooping功能的二层接入设备将其通过信任接口转发给dhcp服务器。最后dhcp服务器将含有ip地址信息的dhcp ack报文通过单播的方式发送给pc。在这个过程中,二层接入设备收到dhcp ack报文后,会从该报文中提取关键信息(包括pc的mac地址以及获取到的ip地址、地址租期),并获取与pc连接的使能了dhcp snooping功能的接口信息(包括接口编号及该接口所属的vlan),根据这些信息生成dhcp snooping绑定表。以pc1为例,图2中二层接入设备会从dhcp ack报文提取到ip地址信息为192.168.1.253,mac地址信息为maca。再获取与pc连接的接口信息为if3,根据这些信息生成一条dhcp snooping绑定表项。
文章出自:华为网络技术