DHCP Snooping 详解
DHCP Snooping 是一种网络安全技术,主要用于防范DHCP相关的攻击(如DHCP欺骗、中间人攻击),并建立合法的IP地址与端口的绑定关系。它是二层交换机的安全特性,通过监控DHCP流量来增强网络的安全性。
核心功能
- 防御DHCP欺骗攻击(Rogue DHCP Server)
- 问题:攻击者在网络中部署非法DHCP服务器,向客户端分配虚假IP地址(如错误的网关/DNS)。
- 解决方案:DHCP Snooping将交换机端口划分为信任端口(Trusted Port)和非信任端口(Untrusted Port),仅允许信任端口转发DHCP Offer和ACK报文。
- 绑定表(Binding Table)生成
- 监听DHCP交互过程(DORA),记录客户端MAC地址、分配的IP地址、所属VLAN、端口及租期信息。
- 绑定表用于配合其他安全技术(如DAI、IP Source Guard)实现更精细的流量控制。
- 过滤非法DHCP报文
- 在非信任端口上丢弃非法的DHCP服务器响应包(如Offer、ACK)。
部署场景
1. 企业网络
- 接入层交换机:在用户接入端口启用DHCP Snooping非信任模式,仅连接合法DHCP服务器的端口设为信任端口。
- 无线网络:防止恶意用户通过无线热点部署伪DHCP服务器。
2. 数据中心
- 结合IP Source Guard,确保虚拟机只能使用分配的IP地址。
配置要点(以Cisco为例)
# 全局启用DHCP Snooping
ip dhcp snooping
ip dhcp snooping vlan 10,20 # 指定监控的VLAN
# 设置信任端口(连接合法DHCP服务器)
interface GigabitEthernet0/1
ip dhcp snooping trust
# 非信任端口默认无需配置(自动启用过滤)
工作流程
- 监听阶段
- 交换机监听所有DHCP Discover、Request报文(来自客户端)和Offer、ACK报文(来自服务器)。
- 绑定表生成
- 当合法DHCP服务器通过信任端口回复ACK时,交换机会提取客户端IP、MAC、端口等信息生成动态绑定表项。
- 非法报文丢弃
- 非信任端口收到DHCP Offer/ACK时直接丢弃,防止客户端获取虚假配置。
关联技术
- 动态ARP检测(DAI)
- 利用DHCP Snooping的绑定表,验证ARP报文的合法性,防止ARP欺骗。
- IP Source Guard
- 基于绑定表限制端口只能发送已分配IP的流量,防止IP地址伪造。
注意事项
- 信任端口配置错误:若未正确标记DHCP服务器所在端口,将导致全网无法获取IP地址。
- 与STP的配合:需确保网络拓扑无环路,避免DHCP报文被错误阻断。
- 绑定表维护:绑定表通常动态生成,重启后消失,可通过
ip dhcp snooping database
命令保存到本地或TFTP服务器。
典型攻击防御示例
- 攻击场景:攻击者在端口G0/2接入非法DHCP服务器,响应客户端的Discover请求。
- 防御结果:由于G0/2是非信任端口,交换机丢弃其发出的Offer和ACK报文,客户端仅收到合法服务器的响应。
通过部署DHCP Snooping,可显著提升网络的抗攻击能力,是构建安全企业网的必备技术之一。实际配置时需结合网络拓扑和安全策略综合规划。