在企业网络或者大型校园网中,DHCP(动态主机配置协议) 是最常见的地址分配方式。然而,正因为 DHCP 的开放性,也成为了黑客攻击的突破口之一。尤其是 伪造 DHCP 服务器攻击(Rogue DHCP Server Attack),轻则导致用户上不了网,重则引发数据泄露甚至内网被渗透。
这时候,网络安全人员的“防身术”—— DHCP Snooping,就该登场了。今天,我们就来搞清楚:
DHCP Snooping 是啥? ⚙️ 工作原理 ✔️ 如何配置 📜 实战注意事项 ⚡ 配置示例 ✅
DHCP Snooping 是什么?🔎
简单来说,DHCP Snooping(DHCP监控) 是二层交换机上的一种安全机制,用于防止恶意或未经授权的 DHCP 服务器向网络设备分发 IP 地址。
它的核心作用是 “只允许可信端口发送 DHCP 响应报文”,其余一律丢弃。
典型用途:
防止 伪造 DHCP 服务器攻击 配合 IP Source Guard 或 动态 ARP 检测(DAI) 形成三重防护 增强内网安全性
为什么需要 DHCP Snooping?⚠️
伪造 DHCP 服务器攻击(Rogue DHCP Server) 的危害:
DHCP Snooping 的作用:
阻止未经授权的 DHCP 响应报文进入网络 保护用户获取合法的 IP 地址与网络配置
DHCP Snooping 的工作原理 🔧
DHCP Snooping 把交换机的端口分为两种类型:
可信端口(Trusted) | 允许转发 |
非可信端口(Untrusted) | 禁止转发 |
数据流向举例:
客户端 --> DHCP Discover --> 任意端口(允许)DHCP Server --> DHCP Offer/ACK --> 仅可信端口(允许)DHCP Server --> DHCP Offer/ACK --> 非可信端口(丢弃)
工作流程如下:
1客户端发送DHCP Discover报文,请求IP地址。 2交换机上的DHCP Snooping功能拦截并检查该报文,确认其来源是否合法。 3如果报文来自非信任接口,且为服务器响应报文(如Offer、ACK),则直接丢弃,防止非法服务器干扰。 4如果报文合法,交换机将其转发至信任接口,发送给合法DHCP服务器。 5合法DHCP服务器响应后,交换机记录分配信息到绑定表,确保后续通信的合法性。
📂 绑定表(DHCP Snooping Binding Table)
交换机会记录每一个合法租约信息,形成绑定表,包含:
MAC 地址 IP 地址 VLAN 接口(端口) 租约时间
这个绑定表还可以配合 IP Source Guard 和 DAI 做更深层的防护。
DHCP Snooping 配置方法 📘
下面以 Cisco 交换机 和 华为交换机 为例,分别介绍配置方法。
1️⃣ Cisco 交换机 DHCP Snooping 配置示例
Switch(config)# ip dhcp snooping # 开启全局 DHCP Snooping
Switch(config)# ip dhcp snooping vlan 10,20 # 指定需要启用的 VLAN
Switch(config)# interface gig0/1
Switch(config-if)# ip dhcp snooping trust # 配置可信端口(连接 DHCP Server)
Switch(config)# interface gig0/2
Switch(config-if)# ip dhcp snooping limit rate 50 # 限速防御攻击(每秒50个包)
Switch# show ip dhcp snooping # 查看状态
Switch# show ip dhcp snooping binding # 查看绑定表
2️⃣ 华为交换机 DHCP Snooping 配置示例
[Switch] dhcp enable # 开启 DHCP 功能
[Switch] dhcp snooping enable # 开启 DHCP Snooping
[Switch] dhcp snooping vlan 10 20 # 指定 VLAN 范围
[Switch] interface GigabitEthernet0/0/1
[Switch-GigabitEthernet0/0/1] dhcp snooping trust # 配置可信端口(连接 DHCP Server)
[Switch] display dhcp snooping # 查看 DHCP Snooping 状态
[Switch] display dhcp snooping binding # 查看绑定表
常见配置参数解释 📑
DHCP Snooping 配置注意事项 ⚡
1️⃣ 一定要正确设置可信端口
DHCP Server 所在端口 ➔ 必须设置为可信 普通用户端口 ➔ 默认非可信
2️⃣ 与 VLAN 配合使用
如果交换机有多个 VLAN,需确保对应 VLAN 都启用了 DHCP Snooping
3️⃣ 与其他安全功能配合
IP Source Guard:防止 IP 欺骗 DAI(动态 ARP 检测):防止 ARP 欺骗 Storm Control:防御 DHCP 洪水攻击
4️⃣ 静态绑定
对于固定 IP 的设备(如打印机、摄像头等),可以配置静态绑定表
实战场景举例 ✅
以下以华为交换机为例,详细介绍DHCP Snooping的配置步骤。我们假设一个典型组网场景:
SwitchA:接入交换机,连接PC,PC通过DHCP获取IP地址。 SwitchB:核心交换机,部署DHCP服务器功能。 目标:通过在SwitchA上配置DHCP Snooping,防止非法DHCP服务器干扰,确保PC获取合法IP地址。
1. 组网需求
如图所示:
SwitchA的GigabitEthernet 0/0/2和0/0/3连接PC,GigabitEthernet 0/0/1上联SwitchB。 SwitchB的GigabitEthernet 0/0/1连接SwitchA,VLAN 10用于IP地址分配。 网络地址:10.1.1.0/24,SwitchB的VLANIF 10接口地址为10.1.1.1。
目标:确保PC只能从SwitchB获取IP地址,防止非法DHCP服务器(如私接路由器)分配错误地址。
2. 配置思路
1.在SwitchB上配置DHCP服务器:
启用DHCP功能。 配置VLAN 10和接口地址池,分配IP地址。
2.在SwitchA上配置DHCP Snooping:
全局启用DHCP Snooping,仅处理DHCPv4报文以节约资源。 在PC连接的接口(GE0/0/2、GE0/0/3)启用DHCP Snooping。 将上联接口(GE0/0/1)配置为信任接口,仅允许其接收合法DHCP服务器的响应报文。 确保PC的DHCP请求报文只通过信任接口发送至SwitchB。
3. 配置步骤
(1)配置SwitchB(DHCP服务器)
说明:
vlan batch 10
:批量创建VLAN 10。port link-type trunk
:将GE0/0/1配置为Trunk模式,允许VLAN 10通过。dhcp enable
:全局启用DHCP功能。dhcp select interface
:启用基于接口地址池的IP分配,地址范围为10.1.1.2~10.1.1.254。
(2)配置SwitchA(DHCP Snooping)
说明:
dhcp snooping enable ipv4
:全局启用DHCP Snooping,仅处理DHCPv4报文,降低CPU负载。dhcp snooping enable
:在PC接口(GE0/0/2、GE0/0/3)启用DHCP Snooping,检查DHCP报文。dhcp snooping trusted
:将上联接口(GE0/0/1)配置为信任接口,允许接收DHCP服务器的响应报文。
4. 验证配置
配置完成后,可通过以下命令验证DHCP Snooping的效果:
(1)查看SwitchA的DHCP Snooping配置
解读:输出显示全局启用了DHCP Snooping,GE0/0/1为信任接口,GE0/0/2和GE0/0/3启用了Snooping功能,配置正确。
(2)查看SwitchB的IP地址池使用情况
解读:地址池中有一个IP地址(10.1.1.254)已被分配,说明PC成功获取了IP地址。
(3)查看SwitchA的DHCP Snooping绑定表
解读:绑定表记录了PC的IP地址、MAC地址、VLAN和接口信息,证明DHCP Snooping正常工作,PC的IP分配由SwitchB控制。
总结 📌
防护类型 | |
使用场景 | |
配合机制 | |
部署难度 |
一句话总结:
“DHCP Snooping,是内网 DHCP 安全防护的第一道门神。” 🛡️
支持就在看
一键四连,你的技术也四连
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...