当前位置: 首页 > news >正文

华为---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地址

[R2]dhcp server group dhcp-g        //创建DHCP服务组
[R2-dhcp-server-group-dhcp-g]dhcp-server 192.168.6.252        //添加DHCP服务器IP地址
[R2-GigabitEthernet0/0/2]dhcp select relay         //关联端口和DHCP中继代理
[R2-GigabitEthernet0/0/2]dhcp 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
quitsystem-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
quitsystem-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 
quitsystem-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 
[Huawei]sysname R1
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ip address 123.123.10.1 28
[R1-GigabitEthernet0/0/0]quit
[R1]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.6.254 24
[R1-GigabitEthernet0/0/1]quit
[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 192.168.6.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 123.123.10.0 0.0.0.15
[R1-ospf-1-area-0.0.0.0]quit

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

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

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

测试验证

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

 

相关文章:

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

DHCP中继代理简介 IP动态获取过程中&#xff0c;客户端&#xff08;DHCP Client&#xff09;总是以广播&#xff08;广播帧及广播IP报文&#xff09;方式来发送DHCPDISCOVER和DHCPREQUEST消息的。如果服务器&#xff08;DHCP Server&#xff09;和 客户端不在同一个二层网络(二…...

五、W5100S/W5500+RP2040树莓派Pico<UDP Client数据回环测试>

文章目录 1. 前言2. 协议简介2.1 简述2.2 优点2.3 应用 3. WIZnet以太网芯片4. UDP Client回环测试4.1 程序流程图4.2 测试准备4.3 连接方式4.4 相关代码4.5 测试现象 5. 注意事项6. 相关链接 1. 前言 UDP是一种无连接的网络协议&#xff0c;它提供了一种简单的、不可靠的方式来…...

死锁Deadlock

定义 死锁是指两个或多个线程互相持有对方所需的资源&#xff0c;从而导致它们无法继续执行的情况。如下图所示&#xff0c;现有两个线程&#xff0c;分别是线程A及线程B&#xff0c;线程A持有锁A&#xff0c;线程B持有锁B。此时线程A想获取锁B&#xff0c;但锁B需等到线程B的结…...

【spark客户端】Spark SQL CLI详解:怎么执行sql文件、注释怎么写,支持的文件路径协议、交互式模式使用细节

文章目录 一. Spark SQL Command Line Options(命令行参数)二. The hiverc File1. without the -i2. .hiverc 介绍 三. 支持的路径协议四. 支持的注释类型五. Spark SQL CLI交互式命令六. Examples1. running a query from the command line2. setting Hive configuration vari…...

虹科干货 | HK-TrueNAS版本大揭秘!一文教您如何选择合适的TrueNAS软件

文章来源&#xff1a;虹科网络基础设施 阅读原文&#xff1a;https://mp.weixin.qq.com/s/Iv0zDDmiDgE9vEGlAZs-sg 1&#xff0e;导语 TrueNAS是虹科iXsystems 设计和开发的NAS 操作系统&#xff0c;提供许多功能&#xff0c;例如文件存储、虚拟机 (VM) 和媒体服务器。它基于…...

前端html+css+js实现的2048小游戏,很完善。

源码下载地址 支持&#xff1a;远程部署/安装/调试、讲解、二次开发/修改/定制 逻辑用的是JavaScript&#xff0c;界面用canvas实现&#xff0c;暂时还没有添加动画。 视频浏览地址...

学习通签到

要在Vue中使用H5lock.js&#xff0c;首先需要将H5lock.js引入到项目中。可以通过以下步骤来使用&#xff1a; 1. 将H5lock.js文件保存到项目中的某个目录下&#xff0c;例如src/assets文件夹。 2. 在需要使用H5lock.js的组件中&#xff0c;通过import语句将H5lock.js引入进来…...

target采退、测评养号购物下单操作教程

1.点击右上角的Create account注册账号 2.填写账号信息 3. 进入自己需要购买的商品页面 点击pick it up购买 4. 进入购物车页面选择快递方式和地址后点击 check out按钮 5. 之后会提示绑定XYK&#xff0c;这里我是用虚拟XYK开卡平台进行支付的. 6. 确认订单无误后点击Place you…...

SEACALL海外呼叫中心系统的优势包括

SEACALL海外呼叫中心系统的优势包括 封卡封号问题解决 海外呼叫中心系统通过API开放平台能力&#xff0c;定制电话营销系统&#xff0c;提供多项功能如自动拨打、智能应答、真人语音交互等&#xff0c;帮助企业克服员工离职率高、客户资源流失严重等挑战。 - 高级管理者操控 …...

Painter:使用视觉提示来引导网络推理

文章目录 1. 论文2. 示意图3. 主要贡献4. 代码简化 1. 论文 paper:Images Speak in Images: A Generalist Painter for In-Context Visual Learning github:https://github.com/baaivision/Painter 2. 示意图 3. 主要贡献 在 In-context Learning 中&#xff0c;作为自然语言…...

Fedora Linux 38 安装数学动画制作工具manimgl工具包

manimgl可以制作数学动画&#xff0c;它使用的是Python编程语言。 这里介绍他在Fedora Linux 38下的安装过程。 1. sudo dnf update 2. sudo dnf install python3-devel python3-pip python3-tools -y 3. sudo dnf install python3-numpy python3-scipy python3-sympy -y …...

行业追踪,2023-10-26

自动复盘 2023-10-26 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…...

Android 和 iOS APP 测试的那些区别

目前市面上主流的移动操作系统就是 Android 和 iOS 两种&#xff0c;移动端测试本身就跟 Web 应用测试有自己的专项测试&#xff0c;比如安装、卸载、升级、消息推送、网络类型测试、弱网测试、中断测试、兼容性测试等都是区别于 Web 应用需要关注的测试领域。 那么&#xff0…...

利用nicegui开发ai工具示例

from fastapi import FastAPI import uvicorn from nicegui import uiclass PipRequirement:def __init__(self):ui.label("依赖安装与依赖展示")class BasicSettings:def __init__(self):self.project_select ui.select(["test"], label"项目选择&q…...

HarmonyOS鸿蒙原生应用开发设计- 流转图标

HarmonyOS设计文档中&#xff0c;为大家提供了独特的流转图标&#xff0c;开发者可以根据需要直接引用。 开发者直接使用官方提供的流转图标内容&#xff0c;既可以符合HarmonyOS原生应用的开发上架运营规范&#xff0c;又可以防止使用别人的图标侵权意外情况等&#xff0c;减…...

postgresql14管理(六)-备份恢复

定义 备份&#xff08;backup&#xff09;&#xff1a;通过物理复制或逻辑导出的方式&#xff0c;将数据库的文件或结构和数据拷贝到其他位置进行存储&#xff1b; 还原&#xff08;restore&#xff09;&#xff1a;是一种不完全的恢复。使用备份文件将数据库恢复到备份时的状…...

配置Sentinel 控制台

1.遇到的问题 服务网关 | RuoYi 最近调试若依的微服务版本需要用到Sentinel这个组件&#xff0c;若依内部继承了这个组件连上即用。 Sentinel是阿里巴巴开源的限流器熔断器&#xff0c;并且带有可视化操作界面。 在日常开发中&#xff0c;限流功能时常被使用&#xff0c;用…...

【漏洞复现】酒店宽带运营系统RCE

漏洞描述 安美数字 酒店宽带运营系统 server_ping.php 远程命令执行漏洞 免责声明 技术文章仅供参考&#xff0c;任何个人和组织使用网络应当遵守宪法法律&#xff0c;遵守公共秩序&#xff0c;尊重社会公德&#xff0c;不得利用网络从事危害国家安全、荣誉和利益&#xff…...

Autojs 利用OpenCV识别棋子之天天象棋你马没了

本例子通过代码像你介绍利用OpenCV实现霍尔找圆的方法定位棋子位置 通过autojs脚本实现自动点击棋子 开源地址 https://github.com/Liberations/TtxqYourHorseIsGone/blob/master/main.js AutoXJs https://github.com/kkevsekk1/AutoX/releasesauto() //安卓版本高于Android 9…...

好数组——尺取法

好数组 给定一个长度为 n 的数组 a&#xff0c;计算数组 a 中所有子数组中好数组的数目。 好数组定义如下&#xff1a; 对于数组 al ,al1, ⋯ ,ar &#xff0c;若数组中所有数的质因数种类数不超过 k&#xff0c;则称为好数组。 Input 输入的第一行包含两个正整数 n,k (1≤…...

【人生底稿 28】新疆出差终章:几番波折终汇报,尽兴踏归津门路

三日游玩尽数落幕&#xff0c;忙碌工作正式回归。轻松的闲暇时光悄然收尾&#xff0c;紧绷的工作状态再次上线。整趟新疆之行&#xff0c;在起伏辗转中迎来最终收尾。一、深夜复盘材料&#xff0c;彻夜待汇报游玩结束回到酒店&#xff0c;我没有松懈休息&#xff0c;静下心重新…...

深度解析Scarab:空洞骑士模组管理器的专业实现与架构设计

深度解析Scarab&#xff1a;空洞骑士模组管理器的专业实现与架构设计 【免费下载链接】Scarab An installer for Hollow Knight mods written with Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 空洞骑士模组管理器Scarab为玩家提供了高效、专业的模组…...

AI驱动代码审查:Cursor与Git工作流融合实践

1. 项目概述&#xff1a;当AI代码助手遇上代码审查最近在GitHub上看到一个挺有意思的项目&#xff0c;叫guinacio/cursor-review。光看名字&#xff0c;你可能会觉得这又是一个普通的代码审查工具&#xff0c;但点进去仔细研究&#xff0c;你会发现它的核心思路非常巧妙&#x…...

Go语言缓存雪崩:防止缓存失效

Go语言缓存雪崩&#xff1a;防止缓存失效 1. 雪崩防护 type CacheWithProtection struct {cache *RedisCachemu sync.Mutexlocks map[string]*sync.Mutex }func NewCacheWithProtection(cache *RedisCache) *CacheWithProtection {return &CacheWithProtect…...

终极指南:如何使用League-Toolkit英雄联盟工具箱快速提升游戏效率

终极指南&#xff1a;如何使用League-Toolkit英雄联盟工具箱快速提升游戏效率 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在为英雄联盟中…...

轻量级配置中心zcf:中小团队微服务配置管理实战指南

1. 项目概述&#xff1a;一个轻量级、高可用的配置中心最近在梳理团队内部的技术栈&#xff0c;发现一个挺有意思的现象&#xff1a;很多中小型项目&#xff0c;甚至是一些快速迭代的业务线&#xff0c;在配置管理上依然处于一种“原始”状态。要么是各种application.yml、appl…...

自建轻量级Docker镜像中心:聚合管理与加速部署实践

1. 项目概述&#xff1a;一个面向容器化开发者的中心化镜像仓库最近在和一些做容器化开发的朋友交流时&#xff0c;大家普遍提到一个痛点&#xff1a;随着团队项目增多&#xff0c;Docker镜像的管理变得越来越零散。有的镜像放在Docker Hub&#xff0c;有的放在阿里云镜像服务&…...

开源大语言模型实战指南:从部署到微调的全流程解析

1. 项目概述&#xff1a;一个为开源大语言模型而生的知识库最近在折腾各种开源大语言模型&#xff08;LLM&#xff09;的朋友&#xff0c;估计都遇到过类似的烦恼&#xff1a;模型太多了&#xff0c;从Meta的Llama系列、微软的Phi&#xff0c;到国内的一众优秀模型&#xff0c;…...

Agent 一接分布式缓存就开始数据不一致:从 Cache Coherence 到 Write-Through Guard 的工程实战

一、缓存不一致的生产陷阱 在生产环境中部署 Agent 系统时&#xff0c;一个常见的诡异现象是&#xff1a;Agent 从 Redis 缓存读取的业务状态与数据库实际值不一致&#xff0c;导致后续决策出现偏差。这个问题在缓存 TTL 到期前难以察觉&#xff0c;高并发下却反复出现。⚠️ 某…...

基于SpringBoot+Flowable的办公流程审批系统毕设源码

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在构建一个基于Spring Boot与Flowable框架的办公流程审批系统以解决传统审批模式中存在的效率低下问题。当前多数组织机构在日常运营中普遍采用人工审批…...