华为---DHCP中继代理简介及示例配置

DHCP中继代理简介

IP动态获取过程中,客户端(DHCP Client)总是以广播(广播帧及广播IP报文)方式来发送DHCPDISCOVER和DHCPREQUEST消息的。如果服务器(DHCP Server)和 客户端不在同一个二层网络(二层广播域)中,服务器不可能接收到DHCPDISCOVER和DHCPREQUEST消息。因此,DHCP工作流程只适合于服务器和客户端位于同一个二层网络的场景。

如果一个网络包含了多个二层网络,是不是要在每个二层网络中都至少部署一个DHCP服务器 呢?理论上讲这样做未尝不可,但实际上这样做是没有必要的,也是很不经济的。而DHCP协议除了定义了 DHCP客户端和 DHCP 服务器这两种角色之外,还定义了DHCP中继代理(DHCP Relay Agent)。DHCP中继代理的基本用途就是在DHCP 客户端和DHCP服务器之间进行DHCP消息的中转。

DHCP客户端利用 DHCP中继代理来从DHCP服务器获取IP地址等配置参数时,DHCP中继代理必须与DHCP客户端位于同一个二层网络,但DHCP服务器可以与DHCP中继代理位于同一个二层网络,也可以与 DHCP中继代理位于不同的二层网络。DHCP客户端与DHCP中继代理之间是以广播方式交换DHCP消息的,但 DHCP中继代理与 DHCP服务器之间是以单播方式交换 DHCP消息的(DHCP中继代理必须事先知道 DHCP服务器的IP地址)。DHCP中继代理通常是部署在路由器上或三层交换机上。

DHCP中继可以使客户端通过它与其他网段的DHCP服务器通信,最终获取IP地址,解决了DHCP客户端不能跨网段向服务器动态获取IP地址的问题。这样,在多个不同网络上的DHCP客户端可以使用同一个DHCP服务器,既节省了成本,又便于进行集中管理和维护。路由器或三层交换机都可以充当 DHCP中继设备。

以3个网段(3个二层网络)为例,讲述DHCP中继代理的工作过程

DHCP客户端首次向DHCP服务器请求IP地址时,通过以下四个阶段完成。

  1. 发现阶段:即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发DHCP_Discover报文,DHCP中继代理收到后,通过单播方式转发DHCP_Discover消息给所有DHCP服务器都会响应,非DHCP服务器设备不会响应。
  2. 提供阶段:即DHCP服务器向DHCP客户端提供IP地址等信息阶段。DHCP服务器接收到客户端的DHCP_Discover报文后,从IP地址池中选一个尚未分配的IP地址分配给客户端(华为设备倒序分配IP地址,如,IP地址池是192.168.1.1-192.168.1.254,DHCP服务器先分配192.168.1.254,再分配192.168.1.253,以此类推;思科设备正序分配IP地址。),向该客户端发送包含出租IP地址和其他设置的DHCP_Offer报文。DHCP中继代理收到后,通过广播方式转发DHCP_Offer消息给DHCP客户端。
  3. 选择阶段:即DHCP客户端选择IP地址的阶段。客户端收到DHCP_Offer报文后,以广播方式向各DHCP服务器回应DHCP_Request报文,DHCP中继代理收到后,通过单播方式转发DHCP_Request消息给所有DHCP服务器。
  4. 确认阶段:即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户端回答的DHCP_Request报文后,便向客户端发送包含它所提供的IP地址和其他设置的DHCP_ACK确认报文。DHCP中继代理收到后,通过广播方式转发DHCP_ACK消息给所有DHCP客户端。

DHCP中继代理配置命令

dhcp enable //开启DHCP功能
ip pool IP地址池名称 //创建DHCP的IP地址池
network IP地址 mask 子网掩码或子网掩码位数 //配置DHCP的IP地址池网段
gateway-list 网关IP地址 //配置全局地址池的网关
dhcp select global //关联端口和全局地址池
dhcp select relay //关联端口和DHCP中继代理
dhcp relay server-ip 需要中继的DHCP服务器IP地址 //在DHCP中继代理设备上配置DHCP服务器IP地址

R2dhcp server group dhcp-g //创建DHCP服务组
R2-dhcp-server-group-dhcp-gdhcp-server 192.168.6.252 //添加DHCP服务器IP地址
R2-GigabitEthernet0/0/2dhcp select relay //关联端口和DHCP中继代理
R2-GigabitEthernet0/0/2dhcp relay server-select dhcp-g //在DHCP中继代理设备上配置DHCP服务器组

DHCP中继代理示例

示例要求

把DHCP-R1和DHCP-R2路由器都配置为DHCP服务器,R2路由器配置为DHCP中继代理,PC1和PC2通过DHCP自动获取IP地址,DHCP-R1、DHCP-R2、R1和R2路由器上配置ospf路由协议,实现网络互联互通。

网络拓扑图

配置代码

复制代码
system-view 
sysname R1
interface GigabitEthernet 0/0/0
ip address 123.123.10.1 28
quit
interface GigabitEthernet 0/0/1
ip address 192.168.6.254 24
quit
ospf 1 router-id 1.1.1.1
area 0
network 192.168.6.0 0.0.0.255
network 123.123.10.0 0.0.0.15
quit

system-view 
sysname R2
interface GigabitEthernet 0/0/0
ip address 123.123.10.2 28
interface GigabitEthernet 0/0/1
ip address 192.168.7.254 24
interface GigabitEthernet 0/0/2
ip address 192.168.8.254 24
quit
ospf 1 router-id 2.2.2.2
area 0
network 192.168.7.0 0.0.0.255
network 192.168.8.0 0.0.0.255
network 123.123.10.0 0.0.0.15
quit
dhcp enable 
interface GigabitEthernet 0/0/1
dhcp select relay 
dhcp relay server-ip 192.168.6.253
quit
dhcp server group dhcp-g
dhcp-server 192.168.6.252
quit
interface GigabitEthernet 0/0/2
dhcp select relay 
dhcp relay server-select dhcp-g
quit

system-view 
sysname DHCP R1
interface GigabitEthernet 0/0/0
ip address 192.168.6.253 24
quit
ospf 1 router-id 3.3.3.3
area 0
network 192.168.6.0 0.0.0.255
quit
dhcp enable 
ip pool dhcp-pool-1
network 192.168.7.0 mask 24 
gateway-list 192.168.7.254
quit	
interface GigabitEthernet 0/0/0
dhcp select global 
quit

system-view 
sysname DHCP R2
interface GigabitEthernet 0/0/0
ip address 192.168.6.252 24
quit
ospf 1 router-id 4.4.4.4
area 0
network 192.168.6.0 0.0.0.255
quit
dhcp enable 
ip pool dhcp-pool-2
network 192.168.8.0 mask 24 
gateway-list 192.168.8.254
quit	
interface GigabitEthernet 0/0/0
dhcp select global 
quit

代码解析

<Huawei>system-view
Huaweisysname R1
R1interface GigabitEthernet 0/0/0
R1-GigabitEthernet0/0/0ip address 123.123.10.1 28
R1-GigabitEthernet0/0/0quit
R1interface GigabitEthernet 0/0/1
R1-GigabitEthernet0/0/1ip address 192.168.6.254 24
R1-GigabitEthernet0/0/1quit
R1ospf 1 router-id 1.1.1.1
R1-ospf-1area 0
R1-ospf-1-area-0.0.0.0network 192.168.6.0 0.0.0.255
R1-ospf-1-area-0.0.0.0network 123.123.10.0 0.0.0.15
R1-ospf-1-area-0.0.0.0quit

<Huawei>system-view
Huaweisysname R2
R2interface GigabitEthernet 0/0/0
R2-GigabitEthernet0/0/0ip address 123.123.10.2 28
R2-GigabitEthernet0/0/0interface GigabitEthernet 0/0/1
R2-GigabitEthernet0/0/1ip address 192.168.7.254 24
R2-GigabitEthernet0/0/1interface GigabitEthernet 0/0/2
R2-GigabitEthernet0/0/2ip address 192.168.8.254 24
R2-GigabitEthernet0/0/2quit
R2ospf 1 router-id 2.2.2.2
R2-ospf-1area 0
R2-ospf-1-area-0.0.0.0network 192.168.7.0 0.0.0.255
R2-ospf-1-area-0.0.0.0network 192.168.8.0 0.0.0.255
R2-ospf-1-area-0.0.0.0network 123.123.10.0 0.0.0.15
R2-ospf-1-area-0.0.0.0quit
R2-ospf-1quit
R2dhcp enable
R2interface GigabitEthernet 0/0/1
R2-GigabitEthernet0/0/1dhcp select relay //关联端口和DHCP中继代理
R2-GigabitEthernet0/0/1dhcp relay server-ip 192.168.6.253 //在DHCP中继代理设备上配置DHCP服务器IP地址为192.168.6.253
R2-GigabitEthernet0/0/1quit
R2dhcp server group dhcp-g //创建DHCP服务组
R2-dhcp-server-group-dhcp-gdhcp-server 192.168.6.252 //添加DHCP服务器IP地址为192.168.6.252
R2-dhcp-server-group-dhcp-gquit
R2interface GigabitEthernet 0/0/2
R2-GigabitEthernet0/0/2dhcp select relay
R2-GigabitEthernet0/0/2dhcp relay server-select dhcp-g //在DHCP中继代理设备上配置DHCP服务器组
R2-GigabitEthernet0/0/2quit

<Huawei>system-view
Huaweisysname DHCP R1
DHCP R1interface GigabitEthernet 0/0/0
DHCP R1-GigabitEthernet0/0/0ip address 192.168.6.253 24
DHCP R1-GigabitEthernet0/0/0quit
DHCP R1ospf 1 router-id 3.3.3.3
DHCP R1-ospf-1area 0
DHCP R1-ospf-1-area-0.0.0.0network 192.168.6.0 0.0.0.255
DHCP R1-ospf-1-area-0.0.0.0quit
DHCP R1-ospf-1dhcp enable
DHCP R1ip pool dhcp-pool-1 //创建DHCP的IP地址池
DHCP R1-ip-pool-dhcp-pool-1network 192.168.7.0 mask 24 //配置DHCP的IP地址池网段为192.168.7.0/24
DHCP R1-ip-pool-dhcp-pool-1gateway-list 192.168.7.254 //配置全局地址池的网关为192.168.7.254
DHCP R1-ip-pool-dhcp-pool-1quit
DHCP R1-ip-pool-dhcp-pool-1quit
DHCP R1interface GigabitEthernet 0/0/0
DHCP R1-GigabitEthernet0/0/0dhcp select global //关联端口和全局地址池
DHCP R1-GigabitEthernet0/0/0quit

<Huawei>system-view
Huaweisysname DHCP R2
DHCP R2interface GigabitEthernet 0/0/0
DHCP R2-GigabitEthernet0/0/0ip address 192.168.6.252 24
DHCP R2ospf 1 router-id 4.4.4.4
DHCP R2-ospf-1area 0
DHCP R2-ospf-1-area-0.0.0.0network 192.168.6.0 0.0.0.255
DHCP R2-ospf-1-area-0.0.0.0quit
DHCP R2-ospf-1quit
DHCP R2dhcp enable
DHCP R2ip pool dhcp-pool-2
DHCP R2-ip-pool-dhcp-pool-2network 192.168.8.0 mask 24
DHCP R2-ip-pool-dhcp-pool-2gateway-list 192.168.8.254
DHCP R2-ip-pool-dhcp-pool-2quit
DHCP R2-ip-pool-dhcp-pool-2quit
DHCP R2interface GigabitEthernet 0/0/0
DHCP R2-GigabitEthernet0/0/0dhcp select global
DHCP R2-GigabitEthernet0/0/0quit

测试验证

上图说明PC1和PC2通过DHCP中继代理分别从各自的DHCP服务器成功获取了IP地址。

相关推荐
IT大白鼠2 小时前
MSF二次开发与自定义模块编写
网络·安全·web安全·msf
Julien20043 小时前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
kekekzt4 小时前
TCP协议的粘包问题介绍,IP分片,MTU,MSS,滑动窗口的概念及之间的关系
网络·网络协议·tcp/ip
mooooooooooye6 小时前
2026 年跨平台 SSH 客户端怎么选?Xterminal、Termius、MobaXterm 谁更合适
服务器·网络·ssh
Blockchina7 小时前
Codex 实战:从一句需求到可验收的 Linux 主机巡检脚本
运维·服务器·网络
黑臂麒麟8 小时前
HarmonyOS鸿蒙实战应用7:随手账本——数据导出与分享
华为·app·arkts·鸿蒙
江安下小雨9 小时前
muduo网络库(十六):新增连接池模块
网络·c++
学传打活9 小时前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续3)
微信公众平台·1024程序员节·汉字·昆仑正义文化
aiot189189352189 小时前
机场候机大厅高空场景技术红线!蓝牙AOA不能做手机导航??!!
大数据·网络·人工智能·蓝牙aoa
从入门到退休9 小时前
企业远程控制选型:向日葵SDK vs RustDesk自建,谁是更务实的选择?
运维·服务器·网络·远程工作·远程控制