第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 组合部署

九、思考

  1. IP Source Guard 是如何防止用户私自修改 IP 地址的?
  2. 如果端口启用了 IPSG 但没有 DHCP Snooping 绑定表,会发生什么?
  3. 对于使用静态 IP 的服务器,如何配置 IPSG?
  4. IPSG 和端口安全(Port Security)的防护目标有什么不同?
  5. 为什么 IPSG 通常只在接入层端口启用,而不是上行端口?

下篇预告:第111篇《ARP 欺骗攻击与 DAI(Dynamic ARP Inspection)》——详解 ARP 欺骗的原理、危害,以及如何通过 DAI 技术防范 ARP 中间人攻击。