当前位置: 首页 > 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≤…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

day36-多路IO复用

一、基本概念 &#xff08;服务器多客户端模型&#xff09; 定义&#xff1a;单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用&#xff1a;应用程序通常需要处理来自多条事件流中的事件&#xff0c;比如我现在用的电脑&#xff0c;需要同时处理键盘鼠标…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效&#xff0c;稳定&#xff0c;易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

使用SSE解决获取状态不一致问题

使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件&#xff0c;这个上传文件是整体功能的一部分&#xff0c;文件在上传的过程中…...