DHCP 中继(DHCP Relay)是一种允许跨网段分配 IP 地址的技术,无需在每个子网部署 DHCP 服务器。以下是其原理和配置方法的详细说明:
一、核心原理
1. 为什么需要 DHCP 中继?
- 问题:DHCP 客户端通过广播(255.255.255.255)寻找服务器,但广播无法跨网段传播。
- 解决方案:在子网边界设备(如路由器、三层交换机)上配置 DHCP 中继,将广播请求转换为单播转发给 DHCP 服务器。
2. 工作流程
- 客户端请求:DHCP 客户端发送广播请求(Discover)。
- 中继接收:中继设备(如路由器)收到广播后,封装请求为单播(添加 giaddr 字段,即中继接口 IP)。
- 服务器响应:DHCP 服务器收到单播请求,根据 giaddr 字段选择合适的地址池,回复单播响应。
- 中继转发:中继设备将响应转发给客户端。
DHCP中继实验
一、项目背景
Langlang需要对DHCP的客户端进行地址分配,但DHCP服务器与DHCP客户端不在同一个网络范围,Langlang不知道怎么解决这个问题,请你帮帮他。
二、项目拓扑图
三、设备命名与IP地址规划
设备名 | 接口编号 | IP地址规划 |
R1 | GE0/0 | 192.168.1.1/24 |
R2 | GE0/0 | 192.168.1.2/24 |
GE0/1 | 192.168.2.254/24 | |
R3 | GE0/0 | DHCP获取 |
四、项目需求
1. 按照图示连接好线缆
2. 配置DHCP,R1为DHCP服务器,需要跨越网段为R3分配IP地址
3. 假设192.168.2.1~192.168.2.9已经被其他设备固定使用,所以需要排除该地址段
五、配置思路
第一步:按照图示连接好线缆并配置IP地址
第二步:在R1上使用DHCP功能,配置DHCP地址池,并配置相关参数信息
第三步:在R2上使用DHCP中继功能,使其知道服务器在网络中的位置
第四步:需要使Server与Client之间网络连通
第五步:设置Forbidden IP,排除192.168.2.1~192.168.2.9
六、具体实施
步骤一:首先配置好每个接口IP地址
R1:
<H3C>sys
System View: return to User View with Ctrl+Z.
[H3C]sysname R1
[R1]int g0/0
[R1-GigabitEthernet0/0]ip add 192.168.1.1
R2:
<H3C>sys
System View: return to User View with Ctrl+Z.
[r2]sysname R2
[R2]int g0/0
[R2-GigabitEthernet0/0]ip add 192.168.1.2
[R2-GigabitEthernet0/0]quit
[R2]int g0/1
[R2-GigabitEthernet0/1]ip add 192.168.2.254 24
[R2-GigabitEthernet0/1]quit
步骤二:在R1上使用DHCP功能
R1]dhcp enable
#使能DHCP功能,缺省未使能该功能
步骤三:在R1配置ip地址池
[R1]dhcp server ip-pool 1
#DHCP服务IP地址池名为1
[R1-dhcp-pool-1]network 192.168.2.0 mask 255.255.255.0
#该地址池地址范围为192.168.2.0~192.168.2.255
[R1-dhcp-pool-1]gateway-list 192.168.2.254
#网关为192.168.2.254
[R1-dhcp-pool-1]dns-list 114.114.114.114
#DNS为114.114.114.114
[R1-dhcp-pool-1]expired day 1
#设置租期时间为1天
[R1-dhcp-pool-1]quit
#返回上一级视图
[R1]dhcp server forbidden-ip 192.168.2.1 192.168.2.9
#DHCP服务器排除地址192.168.2.1~192.168.2.9
步骤四:在R2配置DHCP中继
[R2]dhcp enable
#使能DHCP功能
[R2]interface GigabitEthernet 0/1
#进入GE0/1接口视图
[R2-GigabitEthernet0/1]dhcp select relay
#设置GE0/1接口为DHCP中继接口,后续收到DHCP报文会进行代理转发
[R2-GigabitEthernet0/1]dhcp relay server-address 192.168.1.1
#告诉中继接口,DHCP服务器的IP地址为192.168.1.1
步骤五:在R3上设置接口IP地址为DHCP获取
[R3]interface GigabitEthernet 0/0
#进入GE0/0接口视图
[R3-GigabitEthernet0/0]ip address dhcp-alloc
#设置接口IP地址为DHCP获取
步骤六:查看DHCP客户端IP地址获取情况
#此时获取了一个以169.254.X.X/16的地址,此地址代表没有正确获取到DHCP地址所产生的地址(配置错误、地址池没有空闲的地址、网络不通均有可能等情况)
#此环境中是因为DHCP Server与DHCP Client之间的网络不通导致
[R3]display ip interface brief
*down: administratively down
(s): spoofing (l): loopback
Interface Physical Protocol IP address/Mask VPN instance Description
GE0/0 up up 169.254.3.0/16 -- --
………………
步骤七:在DHCP Server上配置一条去往DHCP Client的路由,使其网络互通
R1:
R1]ip route-static 192.168.2.0 24 192.168.1.2
#手动配置IP路由目标网络为192.168.2.0/24,下一跳为192.168.1.2
步骤八:重启DHCP Client接口
R3
[R3]interface GigabitEthernet 0/0
#进入GE0/0接口视图