dhcp snooping原理

总体来说,DHCP Snooping具有以下两方面功能:

保证DHCP客户端从合法的DHCP服务器处获取IP地址。

记录DHCP客户端IP地址与MAC地址的对应关系。

1.保证DHCP客户端从合法的DHCP服务器处获取IP地址

为了使DHCP客户端能通过合法的DHCP服务器获取IP地址,DHCP Snooping安全机制允许将端口分为"信任端口"(Trusted Port)和"不信任端口"(Untrusted Port)两大类。信任端口正常转发接收到的DHCP报文;而不信任端口接收到DHCP服务器响应的DHCP-ACK和DHCP-OFFER报文后,丢弃该报文。然后把连接合法DHCP服务器和其他DHCP Snooping设备的端口设置为信任端口,其他所有端口(包括连接DHCP客户端的端口)均设置为不信任端口,如图5-9所示。

dhcp snooping原理_第1张图片

这样做的目的是可以保证DHCP客户端只能从合法的DHCP服务器获取IP地址,私自架设的伪DHCP服务器因为所发出的DHCP服务器应答报文无法被转发,最终不能为DHCP客户端提供IP地址分配。

【注意】目前,可以配置为DHCP Snooping信任端口的接口类型包括:二层以太网端口、二层聚合端口,不能是三层端口。如果二层以太网端口加入聚合组,则在该端口上进行的DHCP Snooping相关配置不会生效,直到该端口退出聚合组。为了使DHCP客户端能从合法的DHCP服务器获取IP地址,必须将与合法DHCP服务器相连的端口设置为信任端口,且设置的信任端口和与DHCP客户端相连的端口必须在同一个VLAN内。

2.记录DHCP客户端IP地址与MAC地址的对应关系

另外,启用DHCP Snooping功能后,通过监听非信任端口收到的DHCP-REQUEST和信任端口收到的DHCP-ACK广播报文可以记录DHCP Snooping表项,其中包括客户端的MAC地址、获取到的IP地址、与DHCP客户端连接的端口及该端口所属的VLAN等信息。利用这些信息可以帮助实现以下这些其他安全功能(不是本节介绍的范围):

ARP快速应答:根据DHCP Snooping表项来判断是否进行ARP快速应答,从而减少ARP广播报文。

ARP Detection(ARP检测):根据DHCP Snooping表项来判断发送ARP报文的用户是否合法,从而防止非法用户的ARP攻击。

IP Source Guard:通过动态获取DHCP Snooping表项对端口转发的报文进行过滤,防止非法报文通过该端口。

在多个DHCP Snooping设备级联的网络中,为了节省系统资源,不需要每台DHCP Snooping设备都记录所有DHCP客户端的IP地址和MAC地址的绑定,只需要在与客户端直接相连的DHCP Snooping设备上记录绑定信息。这可以通过将间接与DHCP客户端相连的端口配置为不记录IP地址和MAC地址绑定的信任端口来实现。如果DHCP客户端发送的请求报文从此类信任端口到达DHCP Snooping设备,DHCP Snooping设备不会记录客户端IP地址和MAC地址的绑定。如图5-10所示是一个多个DHCP Snooping设备级联的示例。

你可能感兴趣的:(SDN/NFV)