第110篇:IP Source Guard——防 IP 地址欺骗
关键词
IP Source Guard、IP 欺骗、DHCP Snooping 绑定表、端口安全、IP+MAC 绑定
一、为什么需要 IP Source Guard?
1.1 IP 地址欺骗的危害
在企业网络中,如果用户可以随意修改 IP 地址,会导致:
- IP 地址冲突:某用户手动配置了网关的 IP → 所有用户无法上网
- 绕过 ACL:假装成 VIP 用户的 IP → 通过 ACL 访问限制资源
- ARP 欺骗:篡改 IP 后更容易发动 ARP 攻击
- 审计失效:无法追溯真实用户
1.2 传统 IP-MAC 绑定的不足
# 静态绑定方式
arp static 192.168.1.10 xxxx-xxxx-xxxx
问题:只能防止 ARP 欺骗,不能防止用户直接配置错误的静态 IP 发送 IP 报文。
IP Source Guard(IPSG) 在交换机端口上过滤 IP 报文——只允许绑定了合法 IP+MAC 的报文通过。
二、IP Source Guard 的工作原理
2.1 核心机制
IP Source Guard 基于 DHCP Snooping Binding Table(或静态配置)对端口收到的 IP 报文进行源 IP + 源 MAC 检查:
PC 发送 IP 报文 ──► 交换机端口(IPSG 启用)
│
┌────┴────┐
│ IPSG 检查 │
└────┬────┘
│
┌──────────┴──────────┐
│ │
匹配绑定表 不匹配绑定表
│ │
正常转发 丢弃报文
2.2 检查内容
IP Source Guard 默认检查源 IP 地址,也可以扩展检查源 MAC 地址:
| 模式 | 检查项 | 匹配来源 |
|---|---|---|
| 基础模式 | 源 IP 地址 | DHCP Snooping 绑定表或静态绑定 |
| IP+MAC 模式 | 源 IP + 源 MAC | 同上 |
| IP+MAC+VLAN | 源 IP + 源 MAC + VLAN | 同上 |
2.3 绑定表来源
| 来源 | 方式 | 适用场景 |
|---|---|---|
| DHCP Snooping | 自动记录 DHCP ACK | DHCP 分配 IP 的终端 |
| 静态绑定 | 手动配置 | 服务器、打印机等固定 IP 设备 |
三、配置示例
3.1 前提:启用 DHCP Snooping
IP Source Guard 依赖于 DHCP Snooping 的绑定表,因此必须先启用 DHCP Snooping:
dhcp enable
dhcp snooping enable
vlan 10
dhcp snooping enable
interface GigabitEthernet0/0/24
dhcp snooping trusted
3.2 在接入端口启用 IP Source Guard
# 在连接 PC 的端口启用 IP Source Guard
interface GigabitEthernet0/0/1
ip source check user-bind enable
# 启用后,该端口只允许绑定表内的 IP+MAC 通信
3.3 查看 IPSG 状态
# 查看端口 IPSG 配置
display ip source check user-bind configuration
-----------------------------------------------
Interface Check item
GE0/0/1 source-ip, source-mac
# 查看绑定的 IP Source Guard 条目
display dhcp snooping binding
-----------------------------------------------
MAC地址 IP地址 VLAN 接口
aaaa-bbbb-cccc 192.168.1.10 10 GE0/0/1
dddd-eeee-ffff 192.168.1.11 10 GE0/0/2
3.4 静态绑定(非 DHCP 场景)
对于打印机、服务器等使用静态 IP 的设备,需要手动添加绑定:
# 静态绑定
user-bind static ip-address 192.168.1.100 mac-address xxxx-yyyy-zzzz interface GigabitEthernet0/0/10
# 然后在端口启用 IPSG
interface GigabitEthernet0/0/10
ip source check user-bind enable
四、IP Source Guard 的三种模式
4.1 仅检查 IP
interface GigabitEthernet0/0/1
ip source check user-bind enable
ip source check user-bind check-item ip-address
# 只检查源 IP 是否在绑定表中
4.2 检查 IP + MAC(推荐)
interface GigabitEthernet0/0/1
ip source check user-bind enable
ip source check user-bind check-item ip-address mac-address
# 同时检查源 IP 和源 MAC
4.3 检查 IP + MAC + VLAN
华为 IPSG 默认基于端口 + VLAN 进行检查,不需要额外配置 VLAN 检查项。
五、实战案例
5.1 案例:员工私自篡改 IP 导致地址冲突
现象:某部门多名用户间歇断网,报"IP 地址冲突"。
排查: 1. 查看 DHCP Snooping 绑定表 → 所有 DHCP 分配的 IP 正常 2. 发现某 IP(192.168.1.50)在绑定表中对应 MAC A,但 ARP 表中对应 MAC B 3. 追溯 MAC B 所在端口
根因:某员工将电脑 IP 改成 192.168.1.50(原为某打印机的静态 IP),与打印机冲突。
解决方案:在接入端口启用 IPSG:
interface GigabitEthernet0/0/1
ip source check user-bind enable
启用后,该端口发出的 IP 报文必须源 IP = DHCP 分配的 IP,否则交换机丢弃。员工再手动改 IP 就无效。
5.2 案例:伪造 IP 绕过 ACL 访问财务系统
现象:财务系统日志显示某非授权 IP 访问了敏感数据。
根因:攻击者将自己的 IP 改成财务主管的 IP。
解决方案:在接入层全网启用 IPSG + 802.1X 认证,绑定用户身份与 IP。
六、IP Source Guard vs 端口安全 vs DAI
| 对比项 | IP Source Guard | 端口安全(Port Security) | DAI(Dynamic ARP Inspection) |
|---|---|---|---|
| 防护对象 | IP 报文 | MAC 地址 | ARP 报文 |
| 检查内容 | 源 IP + 源 MAC | 源 MAC | ARP 中的 IP+MAC |
| 数据来源 | DHCP Snooping 绑定表 | 静态/动态 MAC | DHCP Snooping 绑定表 |
| 典型应用 | 防 IP 欺骗 | 防 MAC 泛洪 | 防 ARP 欺骗 |
三者的关系:
DHCP Snooping(基础)
┌────────────────────────┐
│ Binding Table │
│ (IP + MAC + VLAN + 端口)│
└───────┬───────┬────────┘
│ │
┌───────┘ └───────┐
▼ ▼
IP Source Guard DAI (ARP 检测)
(过滤 IP 报文) (过滤 ARP 报文)
七、注意事项
7.1 性能影响
IPSG 需要对每个 IP 报文进行查表匹配,对交换机 CPU 有一定负担。建议只在接入层端口启用,上联端口不要启用。
7.2 与 DHCP Snooping 的依赖
IPSG 强依赖 DHCP Snooping Binding Table。如果 DHCP Snooping 未启用或绑定表为空,IPSG 会丢弃所有 IP 报文。
7.3 静态 IP 设备的处理
对于服务器的静态 IP,必须手动添加 user-bind static 条目,否则 IPSG 会丢弃其报文。
7.4 排错
# 查看 IPSG 丢弃统计
display ip source check user-bind statistics
-----------------------------------------------
Interface Discard packets
GE0/0/1 1253 ← 该端口丢弃了大量 IP 报文
# 查看丢弃原因
display ip source check user-bind statistics verbose
八、总结
| 知识点 | 核心要点 |
|---|---|
| IPSG 本质 | 基于绑定表过滤 IP 报文,防 IP 地址欺骗 |
| 绑定表来源 | DHCP Snooping 自动记录(DHCP) + 静态配置(固定 IP) |
| 检查内容 | 源 IP(默认) + 源 MAC(可选) |
| 依赖关系 | 需要先启用 DHCP Snooping |
| 适用位置 | 接入层端口,上行端口不启用 |
| 最佳实践 | 接入层全网启用,DHCP + IPSG + DAI 组合部署 |
九、思考
- IP Source Guard 是如何防止用户私自修改 IP 地址的?
- 如果端口启用了 IPSG 但没有 DHCP Snooping 绑定表,会发生什么?
- 对于使用静态 IP 的服务器,如何配置 IPSG?
- IPSG 和端口安全(Port Security)的防护目标有什么不同?
- 为什么 IPSG 通常只在接入层端口启用,而不是上行端口?
下篇预告:第111篇《ARP 欺骗攻击与 DAI(Dynamic ARP Inspection)》——详解 ARP 欺骗的原理、危害,以及如何通过 DAI 技术防范 ARP 中间人攻击。