一、DHCP Snooping介绍1.1 简介DHCP Snooping 是一种二层接入安全技术主要用于对 DHCP 报文进行合法性检测与过滤防止网络中出现非法 DHCP 服务器和DHCP 攻击行为保障终端能够从合法 DHCP 服务器获取正确的 IP 地址及网络参数。它通过将交换机端口划分为信任端口和非信任端口实现安全控制信任端口仅连接合法 DHCP 服务器、核心交换机或上级设备允许正常转发 DHCP Offer、ACK 等服务器响应报文。非信任端口连接用户 PC、终端等接入设备只允许发送 DHCP Request、Discover 等请求报文拒绝所有 DHCP 服务器响应报文从根源阻断非法 DHCP 服务。DHCP Snooping 会生成并维护DHCP Snooping 绑定表记录终端的MAC地址、IP地址、VLAN、接入端口、租期等关键信息可与IPSG、DAI等安全功能联动实现 IP 地址防伪造、ARP 欺骗防御、接入终端溯源等能力提升整网接入安全与可靠性。建议在用户接入层交换机部署 DHCP Snooping 功能越靠近用户终端的端口安全控制越精准。同时推荐接入交换机每个端口仅接入一台 PC。若端口下级联 Hub 等二层共享设备且该 Hub 下存在多台终端当 Hub 内部发生 DHCP 欺骗行为时欺骗报文会在 Hub 内部直接转发不会经过接入交换机的 DHCP Snooping 检查导致该类欺骗行为无法被有效防范。1.2 应用场景防范非法 DHCP 服务器攻击防止用户私自接入家用无线路由器、随身 AP 等设备开启 DHCP 服务避免合法终端获取错误网关、DNS 或冲突 IP导致无法正常上网。防御 DHCP 耗竭攻击DHCP Starvation防止攻击者通过伪造大量 DHCP 请求耗尽合法 DHCP 服务器地址池使正常用户无法获取 IP 地址。结合 DHCP Snooping 安全表项可对端口学习的 MAC 数量进行限制。确保 DHCP 报文合法性与路径可控通过信任端口与非信任端口机制仅允许合法核心 / 汇聚层 DHCP 服务器下发地址用户侧端口一律拒绝 DHCP Offer、ACK 等服务器报文保证地址分配路径唯一、可信。用户接入安全与溯源生成 DHCP Snooping 绑定表记录 IP 地址、MAC 地址、端口、VLAN、租期 等信息为安全审计、故障定位、非法终端定位提供依据。配合 DAID、IPSG 实现二层准入控制与IP Source GuardIPSG、Dynamic ARP InspectionDAI联动从 DHCP 分配阶段开始建立合法表项防止 IP 地址伪造、ARP 欺骗、中间人攻击构建完整的接入安全体系。园区网 / 企业网用户接入场景广泛用于办公网、校园网、医院、商场等高密度用户接入环境尤其适合大量 PC、 dumb terminal、IP 话机、无线 AP 自动获取地址的场景。二、DHCP Snooping配置2.1 组网拓扑在本网络中SwitchA 为接入层交换机下联用户 PC 均通过 DHCP 方式自动获取 IP 地址SwitchB 为核心层交换机承担全网 DHCP 服务器功能。为避免用户私自接入无线路由器等非法 DHCP 服务器导致合法终端获取到错误 IP 地址、IP 地址冲突、无法正常上网等问题需在接入交换机与核心交换机之间部署 DHCP Snooping 功能实现对 DHCP 报文的合法性校验仅允许合法 DHCP 服务器为终端分配地址从而防范 DHCP 仿冒攻击保障网络稳定与安全。2.2 配置思路DHCP Snooping功能配置思路如下核心交换机和接入交换机配置vlan trunk。核心交换机配置DHCP服务器。接入交换机全局使能DHCP Snooping功能。2.3 配置步骤1. vlan trunk配置。# 在核心交换机VLAN Trunk配置。[SwitchB] vlan batch 10 [SwitchB] interface gigabitethernet 0/0/1 [SwitchB-GigabitEthernet0/0/1] port link-type trunk [SwitchB-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 [SwitchB-GigabitEthernet0/0/1] quit# 在接入交换机VLAN Trunk配置。[SwitchA] vlan batch 10 [SwitchA] interface gigabitethernet 0/0/1 [SwitchA-GigabitEthernet0/0/1] port link-type trunk [SwitchA-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 [SwitchA-GigabitEthernet0/0/1] quit [SwitchA] interface gigabitethernet 0/0/2 [SwitchA-GigabitEthernet0/0/2] port link-type access [SwitchA-GigabitEthernet0/0/2] port default vlan 10 [SwitchA-GigabitEthernet0/0/2] quit [SwitchA] interface gigabitethernet 0/0/3 [SwitchA-GigabitEthernet0/0/3] port link-type access [SwitchA-GigabitEthernet0/0/3] port default vlan 10 [SwitchA-GigabitEthernet0/0/3] quit2. 在核心交换机上使能DHCP服务器功能配置DHCP地址池。[SwitchB] dhcp enable [SwitchB] interface vlanif 10 [SwitchB-Vlanif10] ip address 10.1.1.1 255.255.255.0 [SwitchB-Vlanif10] dhcp select interface [SwitchB-Vlanif10] dhcp server dns-list 114.114.114.114 8.8.8.8 [SwitchB-Vlanif10] dhcp server lease day 30 [SwitchB-Vlanif10]3. 接入交换机上配置DHCP Snooping功能。[SwitchA] dhcp enable [SwitchA] dhcp snooping enable ipv4 //使能全局DHCP Snooping功能并配置设备仅处理DHCPv4报文节约CPU利用率 [SwitchA] interface gigabitethernet 0/0/1 [SwitchA-GigabitEthernet0/0/1] dhcp snooping trusted //配置为信任接口使得接入交换机只处理从该接口收到的DHCP服务器响应报文 [SwitchA-GigabitEthernet0/0/1] quit4. 验证配置。# 在SwitchA上查看DHCP Snooping的配置信息。[SwitchA] display dhcp snooping configuration# 在SwitchA上查看DHCP Snooping绑定表信息。[SwitchA] display dhcp snooping user-bind all注意事项获取到非法DHCP服务器冲突的解决办法如下首先在电脑ping命令非法DHCP服务器的网关。再使用arp -a命令查找网关的MAC地址。进入每层接入交换机输入display mac-address | include f48e-38b3-3444命令查看下联的端口。在接入交换机指定端口shutdown命令关闭接口。