171 lines
3.8 KiB
Markdown
171 lines
3.8 KiB
Markdown
|
|
# 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:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
dhcp enable
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
启用 DHCP Snooping:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
dhcp snooping enable
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
在接口下配置为信任端口:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
interface GigabitEthernet 0/0/24
|
|||
|
|
dhcp snooping trusted
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
查看配置:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
display current-configuration
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 思科 Cisco
|
|||
|
|
|
|||
|
|
全局启用 DHCP Snooping:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
ip dhcp snooping
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
在指定 VLAN 启用:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
ip dhcp snooping vlan 10
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
把上联口设为信任端口:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
interface gigabitEthernet 0/24
|
|||
|
|
ip dhcp snooping trust
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
限制 DHCP 报文速率:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
ip dhcp snooping limit rate 20
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
查看 DHCP Snooping 状态:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
show ip dhcp snooping
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
查看绑定表:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
show ip dhcp snooping binding
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 复习时容易写错的点
|
|||
|
|
|
|||
|
|
- DHCP Snooping 不是 DHCP 服务本身,而是 DHCP 的安全控制技术
|
|||
|
|
- 重点不是“禁止 DHCP”,而是“只允许可信来源发放地址”
|
|||
|
|
- 用户接入口通常是非信任端口,上联口或服务器口通常是信任端口
|
|||
|
|
- DHCP Snooping 生成的绑定表很重要,后续很多安全功能会用到它
|