华为eNSP模拟器综合实验之-DHCP服务中继配置案例

实验拓扑与目标

拓扑结构

说明:本实验假设SW1、SW2使用G0/0/1、G0/0/2端口作为上联端口连接R1

实验目标

  • 在R2上为两个不同网段(VLAN 10和VLAN 20)的PC提供DHCP服务
  • 实现跨网段DHCP中继,使客户端能从远端DHCP服务器获取IP
  • 在交换机上配置VLAN和接口
  • 配置DHCP Snooping安全机制
  • 掌握DHCP排错与验证方法

详细配置步骤与命令行解析

第一步:基础网络配置

1. 路由器R1 - 接口IP配置
复制代码
sysname R1

# 配置连接外网的接口
interface GigabitEthernet0/0/0
 ip address 192.168.100.1 255.255.255.0
#
# 配置连接客户端的两个网关接口
interface GigabitEthernet0/0/1
 ip address 10.1.1.1 255.255.255.0
#
interface GigabitEthernet0/0/2
 ip address 10.1.2.1 255.255.255.0

解析:为各接口配置IP地址,包括外网接口和两个客户端网段的网关地址。

2. 交换机S1 - VLAN与接口配置
复制代码
sysname SW1
# 创建VLAN
[SW1]vlan batch 10
# 将连接PC的接口划入VLAN 10
[SW1-Ethernet0/0/1] port link-type access
[SW1-Ethernet0/0/1] port default vlan 10
[SW1-Ethernet0/0/2] port link-type access
[SW1-Ethernet0/0/2] port default vlan 10

# 连接路由器的接口配置为access
interface GigabitEthernet0/0/1
 port link-type access
 port default vlan 10

解析:创建用户VLAN,Access口接PC,Trunk口上联路由器传递VLAN信息。

3. 交换机S2 - VLAN与接口配置
复制代码
sysname SW2
# 创建VLAN
[SW2]vlan batch 20
# 将连接PC的接口划入VLAN 20
[SW2-Ethernet0/0/1] port link-type access
[SW2-Ethernet0/0/1] port default vlan 20
[SW2-Ethernet0/0/2] port link-type access
[SW2-Ethernet0/0/2] port default vlan 20

# 连接路由器的接口配置为access
interface GigabitEthernet0/0/2
 port link-type access
 port default vlan 20

解析:S2配置与S1类似,但针对VLAN 20网段,确保网络分段隔离。


第二步:DHCP服务器配置(在R2上开启DHCP服务)

1. 启用DHCP服务
复制代码
# 系统视图下
dhcp enable

解析:华为设备默认DHCP服务未开启,必须先执行此命令。

2. 创建DHCP地址池
复制代码
# 为VLAN 10创建地址池
ip pool vlan10
 gateway-list 10.1.1.1 
 network 10.1.1.0 mask 255.255.255.0 
 excluded-ip-address 10.1.1.2 10.1.1.10 
 lease day 3 hour 0 minute 0 
 dns-list 8.8.8.8
#
# 为VLAN 20创建地址池
ip pool vlan20
 gateway-list 10.1.2.1 
 network 10.1.2.0 mask 255.255.255.0 
 excluded-ip-address 10.1.2.2 10.1.2.10 
 lease day 3 hour 0 minute 0 
 dns-list 8.8.8.8

命令行解析

  • ip pool [name]:创建并命名地址池
  • network:定义地址池的网络范围
  • gateway-list:指定客户端的默认网关
  • dns-list:分配DNS服务器地址
  • excluded-ip-address:排除不分配的IP(如网关地址)
  • lease:设置租约时间
3. 在接口上应用全局地址池
复制代码
[R2-GigabitEthernet0/0/0]display this
[V200R003C00]
#
interface GigabitEthernet0/0/0
 ip address 192.168.100.2 255.255.255.0 
 dhcp select global

解析dhcp select global表示接口使用全局DHCP地址池分配IP。


第三步:DHCP中继配置

1. 配置路由互通
复制代码
# 配置到R2到R1的路由
ip route-static 10.1.0.0 255.255.0.0 192.168.100.1
# 配置到R1到R2的路由
ip route-static 0.0.0.0 0.0.0.0 192.168.100.2

解析:确保R1能够将DHCP请求正确转发到远端服务器。

2. 在R1上配置DHCP中继
复制代码
# 在接口视图下
[R1-GigabitEthernet0/0/1]display this
[V200R003C00]
#
interface GigabitEthernet0/0/1
 ip address 10.1.1.1 255.255.255.0 
 dhcp select relay
 dhcp relay server-ip 192.168.100.2
#
[R1-GigabitEthernet0/0/2]display this
[V200R003C00]
#
interface GigabitEthernet0/0/2
 ip address 10.1.2.1 255.255.255.0 
 dhcp select relay
 dhcp relay server-ip 192.168.100.2
#
注意:远端服务器上的地址池不需要与自身直连网络匹配,但网关必须指向中继接口地址。

第四步:DHCP Snooping安全配置

1. 交换机SW1上配置DHCP Snooping
复制代码
# 开启DHCP Snooping功能
dhcp enable
dhcp snooping enable
# 在VLAN 10上启用
dhcp snooping enable vlan 10
# 指定上联口为信任口
interface GigabitEthernet0/0/1
 dhcp snooping trusted

# 防攻击配置
dhcp snooping check dhcp-rate enable
#功能:在接口上启用DHCP报文速率检查。当接口接收DHCP报文的速率超过设定的阈值时,
#会采取相应的动作(默#认是丢弃超过阈值的报文并告警)。
dhcp snooping check dhcp-rate 15
#功能:设置DHCP报文速率的阈值为每秒15个报文。即该接口每秒最多接收15个DHCP报文,超过的部分将被丢弃。
#这两条命令通常用于防止DHCP泛洪攻击,攻击者可能会发送大量的DHCP请求以耗尽DHCP服务器的资源或进行
#拒绝服务攻击。通过限制每个接口的DHCP报文接收速率,可以减轻这种攻击的影响。

# 启用IP源防护-防止IP欺骗和加强网络安全的命令
#用于启用IP报文源地址检查功能,该功能会检查经过该接口的IP报文的源地址是否与DHCP Snooping绑定表(或静态绑定表)匹配
[SW1-Ethernet0/0/1]ip source check user-bind enable 
2. 交换机S2上配置DHCP Snooping
复制代码
# 开启DHCP Snooping功能
dhcp enable
dhcp snooping enable
# 在VLAN 20上启用
dhcp snooping enable vlan 20
# 指定上联口为信任口
interface GigabitEthernet0/0/2
 dhcp snooping trusted

# 防攻击配置
dhcp snooping check dhcp-rate enable
#功能:在接口上启用DHCP报文速率检查。当接口接收DHCP报文的速率超过设定的阈值时,
#会采取相应的动作(默#认是丢弃超过阈值的报文并告警)。
dhcp snooping check dhcp-rate 15
#功能:设置DHCP报文速率的阈值为每秒15个报文。即该接口每秒最多接收15个DHCP报文,超过的部分将被丢弃。
#这两条命令通常用于防止DHCP泛洪攻击,攻击者可能会发送大量的DHCP请求以耗尽DHCP服务器的资源或进行
#拒绝服务攻击。通过限制每个接口的DHCP报文接收速率,可以减轻这种攻击的影响。

# 启用IP源防护-防止IP欺骗和加强网络安全的命令
#用于启用IP报文源地址检查功能,该功能会检查经过该接口的IP报文的源地址是否与DHCP Snooping绑定表(或静态绑定表)匹配
[SW1-Ethernet0/0/1]ip source check user-bind enable 

解析:DHCP Snooping通过信任端口机制,只允许上联口的DHCP服务器响应通过,有效防止非法DHCP服务器攻击。IP源防护进一步防止IP欺骗攻击。


DHCP中继原理详解

工作流程(以PC1获取IP为例):

  1. 发现阶段:PC1发送DHCP DISCOVER广播(目标IP: 255.255.255.255)
  2. 中继接收:R1的G0/0/1接口收到广播,识别为DHCP请求
  3. 修改转发
    • 将广播改为单播,目标IP = 192.168.100.2(服务器)
    • 在DHCP报文中插入giaddr字段 = 10.1.1.1(中继接口IP)
  4. 服务器处理:DHCP服务器根据giaddr确定客户端所属网段,从对应地址池分配IP
  5. 响应返回:服务器单播回复R1,R1再转发给PC1

关键点:

  • giaddr字段是中继的核心,它告诉服务器客户端所在的子网
  • 中继代理会修改DHCP报文中的源IP,使其显示为中继接口IP
  • 服务器必须有到客户端网络的路由,才能正常响应

验证与排错命令

1. 基础验证命令

复制代码
# 查看地址池分配情况
display ip pool name vlan10

# 检查DHCP中继
display dhcp relay all
# 查看中继接口状态和信息

# display dhcp server statistics 

# 查看已分配的IP地址

# 检查DHCP Snooping表
display dhcp snooping user-bind all

2. 客户端验证

复制代码
# 在PC上
ipconfig /release
ipconfig /renew

4. 典型排错案例

案例:PC获取到169.254.x.x地址

  • 分析:此为APIPA地址,表明DHCP请求未成功
  • 排查步骤
    1. 检查PC与网关连通性: ping 10.1.1.1
    2. 检查R1上DHCP中继配置: display dhcp relay
    3. 验证R1到DHCP服务器的连通性: ping 192.168.100.2
    4. 检查DHCP服务器地址池是否耗尽: display ip pool
    5. 若启用Snooping,检查信任端口配置

常见问题与解决方案

问题现象 可能原因 解决方法
客户端获取不到IP DHCP服务未开启 执行dhcp enable
获取到错误网段IP 地址池配置错误 检查地址池的network和网关
中继不工作 未指定服务器IP 确认dhcp relay server-ip配置正确
服务器收不到请求 路由不可达 确保服务器与中继间路由畅通
部分PC无法获取IP DHCP Snooping误拦 检查信任口配置
地址分配速度慢 DHCP请求/响应丢失 检查网络拥塞或配置DHCP中继备份

企业网络最佳实践

1. 地址池规划

  • 保留10-15%的地址空间不分配,用于服务器和网络设备静态IP
  • 为不同类型的设备创建不同的地址池(如办公设备、IoT设备、访客设备)

2. 租期设置指南

  • 办公终端:8小时(工作日时长)
  • 移动设备/访客:2小时
  • 重要服务器:应使用静态IP,不通过DHCP分配
  • IP电话:7天(减少不必要的重注册)

3. 高可用设计

  • 部署多台DHCP服务器,使用80/20规则分配地址池
  • 配置DHCP中继备份(多台中继路由器)
  • 监控地址池使用率,当达到75%时触发告警

4. 安全加固

  • 始终启用DHCP Snooping
  • 配置Option 82以支持更精细的控制
  • 结合IPSG和DAI实现全面安全防护
  • 限制每端口可获取的IP数量,防止地址耗尽攻击

实验总结

核心知识点

  1. DHCP基础:掌握地址池创建、网关/DNS分配、租约设置
  2. 中继核心:理解giaddr的作用,掌握跨网段IP分配的流程
  3. 安全加固:通过DHCP Snooping防止网络中的非法DHCP服务器
  4. 排错技能:熟练使用display和debugging命令定位问题

提示:在实际企业环境中,DHCP服务通常由专用服务器(如Windows Server或Linux)提供,而非路由器。本实验通过路由器模拟,重点在于理解工作原理与配置逻辑。

相关推荐
liulilittle8 小时前
XDP VNP虚拟以太网关(章节:一)
linux·服务器·开发语言·网络·c++·通信·xdp
jghhh019 小时前
基于C#实现与三菱FX系列PLC串口通信
开发语言·算法·c#·信息与通信
应用市场9 小时前
图片格式完全指南——从JPEG到AVIF的技术原理与选型
网络·人工智能·安全·汽车
剑之所向9 小时前
c# modbus大小端
linux·运维·网络
焦糖码奇朵、9 小时前
课设:基于Arduino的无线LED开关控制系统
嵌入式硬件·物联网·arduino·信息与通信·信号处理
xixixi7777710 小时前
CDN(内容分发网络)——缓存和分发网站、应用程序、视频等内容,以提高用户访问速度和稳定性,减少网络延迟和拥塞,同时减轻源服务器的压力
网络·缓存·架构·系统架构·cdn·业务·内容分发网络
-To be number.wan10 小时前
【补漏版】计算机网络期末大题预测合集
网络·计算机网络
liulilittle10 小时前
OPENPPP2 Code Analysis Two
网络·c++·网络协议·信息与通信·通信
爱怪笑的小杰杰11 小时前
紧急补救:TCP心跳检测失效问题复盘与彻底解决
网络
学烹饪的小胡桃11 小时前
WGCAT工单系统 v1.2.7 更新说明
linux·运维·服务器·网络·工单系统