Files
My-Notes/笔记/网络工程/01_二层交换技术/DHCP_Snooping.md
T

3.8 KiB
Raw Blame History

DHCP Snooping

DHCP Snooping 是什么

DHCP Snooping 是一种二层安全技术,用来防止非法 DHCP 服务器向终端错误分配地址。

可以简单理解为:

交换机帮我们“盯住 DHCP 报文”,只允许可信任的 DHCP 服务器方向终端分配地址,其他不可信端口发来的 DHCP 服务器报文会被拦截。

作用

DHCP Snooping 的核心作用是:

  • 防止私接 DHCP 服务器
  • 防止终端拿到错误的 IP、网关、DNS
  • 建立 DHCP Snooping 绑定表
  • 为后续安全特性提供基础,例如动态 ARP 防护等

信任端口与非信任端口

信任端口 Trusted Port

通常连接:

  • 正常 DHCP 服务器
  • 上联交换机
  • 汇聚层或核心层方向

信任端口允许转发 DHCP 服务器发出的报文。

非信任端口 Untrusted Port

通常连接:

  • PC
  • 打印机
  • 普通终端
  • 接入层用户口

非信任端口默认不应该发送 DHCP 服务器报文。如果发送,交换机会进行拦截。

工作思路

DHCP Snooping 的常见工作过程可以理解为:

  1. 客户端从非信任端口发出 DHCP Discover
  2. 报文可以正常向上转发
  3. 真实 DHCP 服务器从信任端口返回 DHCP Offer / ACK
  4. 交换机允许这些来自信任端口的服务器报文下发给客户端
  5. 交换机根据合法分配结果生成绑定表,记录 IP、MAC、VLAN、接口等信息

典型应用场景

  • 接入层用户网络
  • 宿舍网
  • 办公网
  • 访客网络

这类场景里,最怕的是用户私接一个无线路由器或小型 DHCP 服务设备,导致别人拿到错误地址。

基本配置思路

DHCP Snooping 的常见配置思路是:

  1. 全局启用 DHCP Snooping
  2. 在相关 VLAN 上启用 DHCP Snooping
  3. 把上联口或服务器口设为信任端口
  4. 用户接入口保持为非信任端口
  5. 按需要限制 DHCP 报文速率
  6. 检查 DHCP Snooping 绑定表是否正常生成

常见问题

1. 为什么客户端获取不到地址

常见原因有:

  • 没有在对应 VLAN 启用 DHCP Snooping
  • DHCP 服务器所在接口没设为信任端口
  • 报文速率限制过严
  • 上联链路或中继配置本身有问题

2. 为什么要区分信任端口和非信任端口

因为 DHCP Snooping 的核心就是:

  • 允许可信来源下发地址
  • 拦截不可信来源冒充 DHCP 服务器

3. DHCP Snooping 能不能防所有 DHCP 问题

不能。

它主要防的是“非法 DHCP 服务器”问题,不是所有 DHCP 故障都能靠它解决。

一句话理解

  • DHCP Snooping 就是“只信任指定接口发来的 DHCP 服务器报文”
  • 它的重点是防止假 DHCP 服务器捣乱

常见厂商命令

华为

不同型号和版本命令可能略有差异,常见思路如下:

全局启用 DHCP

dhcp enable

启用 DHCP Snooping

dhcp snooping enable

在接口下配置为信任端口:

interface GigabitEthernet 0/0/24
dhcp snooping trusted

查看配置:

display current-configuration

思科 Cisco

全局启用 DHCP Snooping

ip dhcp snooping

在指定 VLAN 启用:

ip dhcp snooping vlan 10

把上联口设为信任端口:

interface gigabitEthernet 0/24
ip dhcp snooping trust

限制 DHCP 报文速率:

ip dhcp snooping limit rate 20

查看 DHCP Snooping 状态:

show ip dhcp snooping

查看绑定表:

show ip dhcp snooping binding

复习时容易写错的点

  • DHCP Snooping 不是 DHCP 服务本身,而是 DHCP 的安全控制技术
  • 重点不是“禁止 DHCP”,而是“只允许可信来源发放地址”
  • 用户接入口通常是非信任端口,上联口或服务器口通常是信任端口
  • DHCP Snooping 生成的绑定表很重要,后续很多安全功能会用到它