华为交换机 DHCP Snooping 与 IPSG 配置:防私接与仿冒 - 夜莺博客

华为交换机 DHCP Snooping 与 IPSG 配置:防私接与仿冒

办公室里插一台自带 DHCP 的无线路由器,整层楼的终端就会拿到错误的网关;员工把 IP 手工改成别人的地址,则会让合法用户被踢下线甚至引发地址冲突。华为交换机上解决这两类问题的标准组合是 DHCP Snooping + IPSG:前者过滤非法 DHCP 服务器并在客户端获取地址时生成动态绑定表,后者用绑定表对报文的源 IP/MAC 做校验。本文按华为官方文档整理使能顺序、信任接口、静态绑定与验证命令。

为什么必须成对部署

DHCP Snooping 的作用是"监听并过滤":它在客户端与服务器之间分析 DHCP 报文,只允许信任接口上的 DHCP 应答通过,非法(私接)服务器发出的 OFFER/ACK 会被丢弃。同时,客户端成功获取地址的过程会被记录成 DHCP Snooping 动态绑定表

IPSG(IP Source Guard)则是"逐包校验":它依据绑定表检查接口上收到的报文源 IP/MAC 是否与绑定表一致,不一致直接丢弃。绑定表有两个来源——DHCP Snooping 动态生成的,以及用 user-bind static 手工配置的。没有绑定表,IPSG 就无表可查,这也是"配了 IPSG 但没生效"的最常见原因。

第一步:全局与接口/VLAN 使能 DHCP Snooping

顺序很重要:先全局使能 DHCP,再全局使能 DHCP Snooping,最后在接口或 VLAN 视图下使能。

<HUAWEI> system-view
[HUAWEI] dhcp enable                      // 全局使能 DHCP(默认关闭)
[HUAWEI] dhcp snooping enable             // 全局使能 DHCP Snooping(默认关闭)

// 方式一:在 VLAN 视图下使能(同一 VLAN 终端较多时推荐)
[HUAWEI] vlan 10
[HUAWEI-vlan10] dhcp snooping enable
[HUAWEI-vlan10] quit

// 方式二:在接口视图下使能(更精确,越靠近用户越可控)
[HUAWEI] interface gigabitethernet 0/0/1
[HUAWEI-GigabitEthernet0/0/1] dhcp snooping enable
[HUAWEI-GigabitEthernet0/0/1] quit

华为建议把 DHCP Snooping 部署在接入层交换机上,越靠近终端控制越准确;每个接口下推荐只接一台终端,否则某端口下串接交换机后,该端口无法区分多台主机。

第二步:把上行/服务器侧接口设为信任接口

关键一步:使能 DHCP Snooping 后,必须用 dhcp snooping trusted 把连接合法 DHCP 服务器(或 DHCP 中继)的接口标记为信任,否则客户端发出的 DISCOVER 得不到应答——因为所有非信任接口上的 DHCP 应答都会被丢弃。

// 接口视图下指定信任接口
[HUAWEI] interface gigabitethernet 0/0/3
[HUAWEI-GigabitEthernet0/0/3] dhcp snooping trusted
[HUAWEI-GigabitEthernet0/0/3] quit

// 或者:在 VLAN 视图下指定信任接口
[HUAWEI] vlan 10
[HUAWEI-vlan10] dhcp snooping trusted interface gigabitethernet 0/0/3

如果本机就是 DHCP 服务器或中继设备,只需在全局和下行接口使能 DHCP Snooping,无需再指定上行信任接口。

第三步:IPSG 静态绑定

适用于终端数量少、使用静态 IP 的场景。研发人员把笔记本改成人事同事的 IP 也无法上网:

[HUAWEI] user-bind static ip-address 10.0.0.1  mac-address 0001-0001-0001
[HUAWEI] user-bind static ip-address 10.0.0.11 mac-address 0002-0002-0002

[HUAWEI] interface gigabitethernet 0/0/1
[HUAWEI-GigabitEthernet0/0/1] ip source check user-bind enable
[HUAWEI-GigabitEthernet0/0/1] quit
[HUAWEI] interface gigabitethernet 0/0/2
[HUAWEI-GigabitEthernet0/0/2] ip source check user-bind enable

第四步:IPSG 动态绑定(推荐)

终端全部通过 DHCP 获取地址时,让 IPSG 使用 DHCP Snooping 生成的动态绑定表,员工私自配置静态 IP 将无法上网:

[HUAWEI] dhcp enable
[HUAWEI] dhcp snooping enable
[HUAWEI] vlan 10
[HUAWEI-vlan10] dhcp snooping enable
[HUAWEI-vlan10] dhcp snooping trusted interface gigabitethernet 0/0/3
[HUAWEI-vlan10] ip source check user-bind enable      // 基于 VLAN 使能 IPSG
[HUAWEI-vlan10] quit

也可以把 IPSG 使能在接口上,粒度更细。绑定表存在期间,客户端换 IP、改 MAC 都会在首个报文就被丢弃。

验证与排障

display dhcp snooping configuration          // 查看 DHCP Snooping 配置
display dhcp snooping user-bind all          // 查看动态绑定表
display dhcp snooping statistics             // 查看统计(丢弃计数)
display this                                 // 接口/VLAN 视图下确认使能情况
  • 客户端拿不到地址:九成是信任接口没配,或配在了 VLAN 之外。先 display dhcp snooping configuration 确认信任接口与实际服务器上联口一致。
  • IPSG 不生效:先确认绑定表存在(动态表要等客户端成功获取过一次地址)。
  • 额外校验dhcp snooping check mac-address enable 可让设备检查 DHCP 报文中 CHADDR 字段与源 MAC 是否一致,防仿冒更彻底。
  • 无盘工作站:DHCP Snooping 不支持 BOOTP 协议,无盘工作站无法生成动态绑定表,需要用 user-bind static 手工补一条静态绑定,否则 IPSG/DAI 会把它挡在门外。

部署建议

  1. 接入层交换机全部开启 DHCP Snooping,上行口设为信任,用户口不信任。
  2. 每端口单终端:把 DHCP Snooping 与端口安全(MAC 数限制)配合使用效果最好。
  3. IPSG 与 DAI(动态 ARP 检测)一起上线,覆盖 IP 仿冒与 ARP 欺骗两类风险。
  4. 先在小范围 VLAN 试运行,观察丢弃统计,确认没有合法业务被误拦后再全网推广。

相关阅读:华为交换机端口安全与 Sticky MAC 配置华为交换机 VLAN 配置:Access/Trunk/Hybrid 以及 Cisco DHCP Snooping 配置指南

原文链接:Huawei 配置指南 - 使能 DHCP Snooping