第110篇:IP Source Guard:防 IP 地址欺骗
关键词:IP Source Guard、IPSG、IP 欺骗、绑定表、IP+MAC+Port 绑定、DHCP Snooping、二层安全
一、引言
在前一篇文章中,我们学习了 DHCP Snooping 如何防范非法 DHCP 服务器攻击并生成绑定表。然而,仅仅阻止非法 DHCP 服务器还不够。攻击者仍然可以手动配置一个合法的 IP 地址(如通过 ARP 扫描获取的 IP),然后冒充其他主机进行通信。这就是 IP 地址欺骗攻击。
IP Source Guard(IPSG)通过在接入端口上检查入方向报文的源 IP(和源 MAC),确保只有合法的 IP-MAC-Port 组合才能通过,从根本上杜绝 IP 地址欺骗。
二、核心概念
2.1 IP 地址欺骗攻击场景
| 攻击方式 | 描述 | 危害 |
|---|---|---|
| 静态 IP 欺骗 | 攻击者手动配置他人的 IP 地址 | 冒充合法用户,绕过访问控制 |
| DHCP 劫持后欺骗 | 从非法 DHCP 服务器获取 IP 后欺骗 | 流量劫持,中间人攻击 |
| IP 扫描后伪装 | 扫描网络中活跃 IP 后使用 | 隐藏真实身份,逃避审计 |
2.2 IP Source Guard 工作原理

2.3 IPSG 绑定表来源
IPSG 需要依赖绑定表来验证报文的合法性。绑定表有三种来源:
| 来源 | 配置方式 | 说明 |
|---|---|---|
| DHCP Snooping 绑定表 | 自动生成 | 动态获取,推荐方式 |
| 静态绑定表 | 手动配置 | dhcp snooping userbinding |
| 端口安全绑定 | 端口安全特性 | MAC 地址绑定后自动关联 |
2.4 IPSG 检查模式
| 检查模式 | 检查内容 | 适用场景 |
|---|---|---|
| 仅检查源 IP | 源 IP 必须在绑定表中 | 基础防护 |
| 检查源 IP + 源 MAC | 源 IP 和源 MAC 都必须在绑定表中 | 增强防护 |
| 检查源 IP + 源 MAC + VLAN | IP+MAC+VLAN 都在绑定表中 | 完整防护 |
| 检查源 IP + 源 MAC + Port | IP+MAC+VLAN+端口 都在绑定表中 | 最高级别防护 |
三、技术细节
3.1 IPSG 与 DHCP Snooping 的关系

IPSG 通常与 DHCP Snooping 配合使用:DHCP Snooping 负责建立绑定表,IPSG 负责基于绑定表进行端口级检查。
3.2 静态绑定配置
当终端使用静态 IP 地址时,DHCP Snooping 无法自动生成绑定表项,需要手动配置静态绑定:
# 格式:dhcp snooping userbinding mac-address ip-address vlan vlan-id interface interface-type interface-number
[HUAWEI] dhcp snooping userbinding static 00e0-fc12-3456 10.10.10.100 10 GigabitEthernet 0/0/5
3.3 IPSG 对非 DHCP 客户端的影响
如果终端使用静态 IP 地址且未配置静态绑定,IPSG 会丢弃该终端的所有出站报文。解决方法: 1. 为该终端配置静态绑定表项 2. 在该端口上关闭 IPSG(不推荐,降低安全性)
四、实战配置/案例分析
4.1 华为交换机 IPSG 配置
# ========== 前提:DHCP Snooping 已启用并生成绑定表 ==========
# 1. 在 VLAN 视图下启用 IPSG
[HUAWEI] vlan 10
[HUAWEI-vlan10] dhcp snooping ip-source-guard enable
[HUAWEI-vlan10] quit
# 2. 在端口上启用 IPSG(可选,VLAN 级别启用后默认对所有端口生效)
[HUAWEI] interface GigabitEthernet 0/0/1
[HUAWEI-GigabitEthernet0/0/1] dhcp snooping ip-source-guard enable
# ========== 静态 IP 终端的绑定配置 ==========
# 3. 为静态 IP 终端配置绑定表
[HUAWEI] dhcp snooping userbinding static 00e0-fc12-3456 10.10.10.200 10 GigabitEthernet 0/0/2
# 4. 启用 IPSG 同时检查 MAC
[HUAWEI] vlan 10
[HUAWEI-vlan10] dhcp snooping ip-source-guard enable include-mac
[HUAWEI-vlan10] quit
# ========== 验证 ==========
[HUAWEI] display dhcp snooping userbinding
# 查看绑定表(动态 + 静态)
[HUAWEI] display dhcp snooping ip-source-guard statistics
# 查看 IPSG 丢弃统计
4.2 故障案例:IPSG 误杀合法终端
场景描述:启用 IPSG 后,某台使用静态 IP 的打印机无法被网络访问,用户报告打印失败。
排查过程:
- 检查打印机端口:
[SW-ACC] display dhcp snooping userbinding | include GE0/0/8
# 未发现 GE0/0/8 端口的绑定表项
- 检查 IPSG 统计:
[SW-ACC] display dhcp snooping ip-source-guard statistics interface GigabitEthernet 0/0/8
# 大量报文被丢弃
- 根因分析:打印机使用静态 IP 地址 10.10.10.250,未通过 DHCP 获取地址,DHCP Snooping 未生成绑定表项。IPSG 检查时发现该端口没有绑定表项,丢弃所有报文。
处理措施:
# 为打印机配置静态绑定
[SW-ACC] dhcp snooping userbinding static 001a-2b3c-4d5e 10.10.10.250 10 GigabitEthernet 0/0/8
# 验证绑定表
[SW-ACC] display dhcp snooping userbinding | include 10.10.10.250
# 确认绑定表项已生成
# 验证打印机通信恢复
4.3 批量静态绑定配置
# 当有大量静态 IP 终端时,可以使用批量配置
[HUAWEI] dhcp snooping userbinding static 00e0-fc00-0001 10.10.10.1 10 GigabitEthernet 0/0/1
[HUAWEI] dhcp snooping userbinding static 00e0-fc00-0002 10.10.10.2 10 GigabitEthernet 0/0/2
[HUAWEI] dhcp snooping userbinding static 00e0-fc00-0003 10.10.10.3 10 GigabitEthernet 0/0/3
# 或使用 DHCP Snooping 绑定表导入功能
[HUAWEI] dhcp snooping userbinding import url flash:userbinding.csv
五、总结
| 项目 | 说明 |
|---|---|
| IPSG 本质 | 在接入端口检查报文的源 IP(和源 MAC),防止 IP 欺骗 |
| 依赖绑定表 | DHCP Snooping 动态生成 或 手动静态配置 |
| 检查模式 | 仅 IP / IP+MAC / IP+MAC+VLAN / IP+MAC+VLAN+Port |
| 静态 IP 处理 | 需要手动配置静态绑定表项 |
| 与 DHCP Snooping 关系 | DHCP Snooping 建表,IPSG 查表 |
| 华为推荐 | VLAN 级别启用 IPSG + 包含 MAC 检查 |
思考
-
IPSG 检查的是报文的源 IP 地址。如果攻击者修改了报文的源 MAC 地址但保留了正确的源 IP,IPSG(仅检查 IP 模式)能否检测到?如果启用了 IP+MAC 检查呢?
-
在大型网络中,如果大量终端使用静态 IP 地址,逐台配置静态绑定表是否可行?有没有更高效的批量管理方案?
-
IPSG 部署后,移动终端(如笔记本电脑从 GE0/0/1 换到 GE0/0/2 接入)是否会因为端口变化而无法通信?如何解决?
下篇预告:第111篇:ARP 欺骗攻击与 DAI(Dynamic ARP Inspection)