DHCP Snooping基础及其工作原理介绍

你是否遇到过这样的问题,“电脑插了网线,也能动态获取IP地址,可就是上不了网” 别着急,试试我们的扪心自问法:已经获取的IP地址是否真实可用?是由合法DHCP服务器分配的吗?如果不是的话,那你可能就已掉入非法DHCP服务器的陷阱。要如何避免这类问题的发生呢?接下来,本文将为您介绍一个新的概念:DHCP Snooping。有了这个神器,我们就可以轻松躲避非法IP地址。

DHCP Snooping是什么?

DHCP Snooping是 DHCP 的一种安全特性,常用于二层网络。启用了该功能的交换机,可以屏蔽接入网络中的非法的DHCP服务器,也就是说,网络中的客户端只有从管理员指定的DHCP服务器获取 IP 地址。DHCP Snooping的主要工作涵盖一下几个方面:

  • 验证从非信任途径接收的DHCP报文,并丢弃不符合要求的报文

  • 生成并维护DHCP Binding Table 记录表

  • 根据DHCP Binding Table 记录表中的信息来验证非信任主机发来的DHCP报文

DHCP Snooping是怎样工作的?

前文提到,DHCP Snooping是 DHCP 的一种安全特性,因此要了解DHCP Snooping的工作原理,首先得认识DHCP(动态主机配置协议)。支持DHCP的网络设备需要完成以下四个步骤,才会从DHCP服务器获取到IP地址。

DHCP Snooping将交换机上的端口分为信任 (trusted)和非信任 (untrusted)两种类型。交换机只转发信任端口的 DHCP OFFER/ACK/NAK报文,丢弃非信任端口的 DHCP OFFER/ACK/NAK报文,从而达到阻断非法 DHCP 服务器的目的。 如果启动了DHCP Snooping,则DHCP服务器只能通过信任端口发送DHCP OFFER报文。 否则,报文将被丢弃。

在第四步Acknowledgment环节,会根据ACK报文中的信息生成一个DHCP绑定表。表中记录用户的MAC地址、IP地址、租约时间、类型、VLAN、端口等信息,如下表所示。后续从非信任用户发来的DHCP报文如不能在表中找到相应的匹配,则会被丢弃。

DHCP Snooping可防御的攻击种类

Spoofing攻击

恶意攻击者想探听用户和网关之间的通信,给用户发送伪造的ARP应答报文,使用户误认为自己就是默认网关或DNS服务器。此后,用户和网关之间看似“直接”的通信,实际上都是通过黑客所在的用户间接进行的,即黑客担当了“中间人”的角色,可以对信息进行了窃取和篡改。

仿冒DHCP报文攻击

如果攻击者冒充合法用户不断向DHCP Server发送DHCP REQUEST报文来续租IP地址,会导致这些到期的IP地址无法正常回收,以致一些合法用户不能获得IP地址;而若攻击者仿冒合法用户的DHCP Release报文发往DHCP Server,将会导致用户异常下线。

如何开启DHCP snooping?

如果接入交换机上连接了有线终端,那就需要开启DHCP Snooping功能。在你想要保护的VLAN上启用DHCP Snooping之前,需要先设置信任端口,这些端口允许来自合法DHCP服务器数据包的流通。在CLI命令行界面和Web界面都可以完成该配置。更多配置步骤可参考《飞速(FS)3900交换机DHCP Snooping配置指南》

结束语

虽说DPHC为IP地址的获取提供了便捷,但也同时埋下了隐患。由于 DHCP 报文缺少认证机制,客户机有可能从非法 DHCP 服务器获得错误的 IP 地址等配置信息,导致客户端无法正常使用网络,也就有了开头出现的问题。本文提供的解决办法是DHCP Snooping。它既可以拒绝接受来自非法DHCP服务器的无效IP地址等配置信息,也可以防止用户恶意索取IP地址,造成IP地址池的枯竭。

(0)

相关推荐