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

DHCP简介

定义

动态主机配置协议DHCP(Dynamic Host Configuration Protocol)是一种用于集中对用户IP地址进行动态管理和配置的技术。即使规模较小的网络,通过DHCP也可以使后续增加网络设备变得简单快捷。

DHCP是在BOOTP(BOOTstrap Protocol)基础上发展而来,但BOOTP运行在相对静态(每台主机都有固定的网络连接)的环境中,管理员为每台主机配置专门的BOOTP参数文件,该文件会在相当长的时间内保持不变。DHCP从以下两方面对BOOTP进行了扩展:

  • DHCP允许计算机动态地获取IP地址,而不是静态为每台主机指定地址。
  • DHCP能够分配其他配置参数,例如客户端的启动配置文件,使客户端仅用一个消息就获取它所需要的所有配置信息。

DHCP协议由RFC 2131定义,采用客户端/服务器通信模式,由客户端(DHCP Client)向服务器(DHCP Server)提出配置申请,服务器返回为客户端分配的配置信息。

DHCP可以提供两种地址分配机制,网络管理员可以根据网络需求为不同的主机选择不同的分配策略。

  • 动态分配机制:通过DHCP为主机分配一个有使用期限(这个使用期限通常叫做租期)的IP地址。

    这种分配机制适用于主机需要临时接入网络或者空闲地址数小于网络主机总数且主机不需要永久连接网络的场景。

  • 静态分配机制:网络管理员通过DHCP为指定的主机分配固定的IP地址。

    相比手工静态配置IP地址,通过DHCP方式静态分配机制避免人工配置发生错误,方便管理员统一维护管理。

受益

DHCP受益主要有以下两点:

  • 降低客户端的配置和维护成本

    DHCP易配置部署,对于非技术用户,DHCP能够将客户端与配置相关的操作降至最低,并能够降低远程部署和维护成本。

  • 集中管理

    DHCP服务器可以管理多个网段的配置信息,当某个网段的配置发生变化时,管理员只需要更新DHCP服务器上的相关配置即可。

组网需求

如图1所示,某企业为办公终端规划了两个网段,网段10.1.1.0/24内PC为员工固定办公终端,网段10.1.2.0/24供企业出差人员临时接入网络。为方便管理员统一,希望企业终端能够自动获取IP地址和DNS服务器IP地址(当用户希望以域名方式访问时需要配置域名解析的DNS服务器)。其中,企业管理者的办公PC(Client_1)由于业务需要,希望使用固定IP地址为10.1.1.100/24。

配置思路

基于接口地址池的DHCP服务器的配置思路如下:

通过在Switch上配置DHCP服务器,实现为企业的两个网段内终端动态分配IP地址和DNS服务器地址。其中,网段10.1.1.0/24内PC为员工固定办公终端,IP地址租期配置为30天,并通过DHCP静态方式为DHCP Client_1分配固定IP地址(10.1.1.100/24);网段10.1.2.0/24供企业出差人员临时接入网络,IP地址租期配置为2天。

操作步骤
  1. 使能DHCP服务

    <HUAWEI> system-view
    [HUAWEI] sysname Switch
    [Switch] dhcp enable
  2. 配置接口加入VLAN

    # 配置GE0/0/1接口加入VLAN10。

    [Switch] vlan batch 10 to 11
    [Switch] interface gigabitethernet 0/0/1
    [Switch-GigabitEthernet0/0/1] port link-type hybrid
    [Switch-GigabitEthernet0/0/1] port hybrid pvid vlan 10
    [Switch-GigabitEthernet0/0/1] port hybrid untagged vlan 10
    [Switch-GigabitEthernet0/0/1] quit

    # 配置GE0/0/2接口加入VLAN11。

    [Switch] interface gigabitethernet 0/0/2
    [Switch-GigabitEthernet0/0/2] port link-type hybrid
    [Switch-GigabitEthernet0/0/2] port hybrid pvid vlan 11
    [Switch-GigabitEthernet0/0/2] port hybrid untagged vlan 11
    [Switch-GigabitEthernet0/0/2] quit
  3. 配置VLANIF接口IP地址

    # 配置VLANIF10接口地址。

    [Switch] interface vlanif 10
    [Switch-Vlanif10] ip address 10.1.1.1 24
    [Switch-Vlanif10] quit

    # 配置VLANIF11接口地址。

    [Switch] interface vlanif 11
    [Switch-Vlanif11] ip address 10.1.2.1 24
    [Switch-Vlanif11] quit
  4. 配置接口地址池

    # 配置VLANIF10接口下的客户端从接口地址池中获取IP地址和相关网络参数。

    [Switch] interface vlanif 10
    [Switch-Vlanif10] dhcp select interface
    [Switch-Vlanif10] dhcp server gateway-list 10.1.1.1
    [Switch-Vlanif10] dhcp server lease day 30
    [Switch-Vlanif10] dhcp server domain-name example.com
    [Switch-Vlanif10] dhcp server dns-list 10.1.3.1
    [Switch-Vlanif10] dhcp server static-bind ip-address 10.1.1.100 mac-address 00e0-fc12-3456
    [Switch-Vlanif10] quit

    # 配置VLANIF11接口下的客户端从接口地址池中获取IP地址和相关网络参数。

    [Switch] interface vlanif 11
    [Switch-Vlanif11] dhcp select interface
    [Switch-Vlanif11] dhcp server gateway-list 10.1.2.1
    [Switch-Vlanif11] dhcp server lease day 2
    [Switch-Vlanif11] dhcp server domain-name example.com
    [Switch-Vlanif11] dhcp server dns-list 10.1.3.1
    [Switch-Vlanif11] quit
  5. 配置DHCP数据保存功能,设备发生故障时,可以在系统重启后,执行命令dhcp server database recover,从存储设备文件恢复DHCP数据。

    [Switch] dhcp server database enable
  6. 验证配置结果

    # 在Switch上执行命令display ip pool来查看接口地址池的分配情况,“Used”字段显示已经分配出去的IP地址数量。假设企业员工固定办公终端有100个,出差人员接入3个。

    [Switch] display ip pool interface vlanif10Pool-name        : Vlanif10Pool-No          : 0Lease            : 30 Days 0 Hours 0 MinutesDomain-name      : example.comDNS-server0      : 10.1.3.1NBNS-server0     : -Netbios-type     : -Position         : InterfaceStatus           : UnlockedGateway-0        : 10.1.1.1Network          : 10.1.1.0Mask             : 255.255.255.0VPN instance     : --Logging          : DisableConflicted address recycle interval: -Address Statistic: Total       :253       Used        :100Idle        :153       Expired     :0Conflict    :0         Disabled     :0-------------------------------------------------------------------------------Network sectionStart           End       Total    Used Idle(Expired) Conflict Disabled-------------------------------------------------------------------------------10.1.1.1      10.1.1.254     253     100        153(0)       0     0-------------------------------------------------------------------------------
    [Switch] display ip pool interface vlanif11Pool-name        : Vlanif11Pool-No          : 1Lease            : 2 Days 0 Hours 0 MinutesDomain-name      : example.comDNS-server0      : 10.1.3.1NBNS-server0     : -Netbios-type     : -Position         : InterfaceStatus           : UnlockedGateway-0        : 10.1.2.1Network          : 10.1.2.0Mask             : 255.255.255.0VPN instance     : --Logging          : DisableConflicted address recycle interval: -Address Statistic: Total       :253       Used        :3Idle        :250       Expired     :0Conflict    :0         Disabled     :0-------------------------------------------------------------------------------Network sectionStart           End       Total    Used Idle(Expired) Conflict Disabled-------------------------------------------------------------------------------10.1.1.1      10.1.1.254    253       3        250(0)       0     0-------------------------------------------------------------------------------

    在Client_1(操作系统以Windows 7为例)上查看IP地址信息,可以看到Client_1已经获取到IP地址10.1.1.100/24。

    C:\Documents and Settings\Administrator>ipconfigWindows IP ConfigurationEthernet adapter Local Area Connection 2:Connection-specific DNS Suffix  . :IPv4 Address. . . . . . . . . . . : 10.1.1.100Subnet Mask . . . . . . . . . . . : 255.255.254.0Default Gateway . . . . . . . . . : 10.1.1.1

    在其他DHCP客户端(以10.1.1.0/24网段中操作系统为Windows 7的某终端为例)上查看IP地址信息,可以看到已经成功获取到IP地址。

    C:\Documents and Settings\Administrator>ipconfigWindows IP ConfigurationEthernet adapter Local Area Connection 2:Connection-specific DNS Suffix  . :IPv4 Address. . . . . . . . . . . : 10.1.1.51Subnet Mask . . . . . . . . . . . : 255.255.254.0Default Gateway . . . . . . . . . : 10.1.1.1

配置文件

Switch的配置文件

#
sysname Switch
#
vlan batch 10 to 11
#
dhcp enable
#
dhcp server database enable
# 
interface Vlanif10ip address 10.1.1.1 255.255.255.0dhcp select interfacedhcp server gateway-list 10.1.1.1dhcp server static-bind ip-address 10.1.1.100 mac-address 00e0-fc12-3456dhcp server lease day 30 hour 0 minute 0dhcp server dns-list 10.1.3.1dhcp server domain-name example.com
#
interface Vlanif11ip address 10.1.2.1 255.255.255.0dhcp select interfacedhcp server gateway-list 10.1.2.1dhcp server lease day 2 hour 0 minute 0dhcp server dns-list 10.1.3.1dhcp server domain-name example.com
#
interface GigabitEthernet0/0/1port link-type hybridport hybrid pvid vlan 10port hybrid untagged vlan 10
#
interface GigabitEthernet0/0/2port link-type hybridport hybrid pvid vlan 11port hybrid untagged vlan 11
#
return

相关文章:

DHCP简介

定义 动态主机配置协议DHCP&#xff08;Dynamic Host Configuration Protocol&#xff09;是一种用于集中对用户IP地址进行动态管理和配置的技术。即使规模较小的网络&#xff0c;通过DHCP也可以使后续增加网络设备变得简单快捷。 DHCP是在BOOTP&#xff08;BOOTstrap Protoc…...

Hadoop生态系统中一些关键组件的详细解析

1. Hadoop核心组件 HDFS&#xff08;Hadoop Distributed File System&#xff09;: 分布式文件存储系统。提供高吞吐量的数据访问&#xff0c;非常适合用于大规模数据集。有高容错性&#xff0c;通过在多个节点间复制数据块来实现。 MapReduce: 一种编程模型&#xff0c;用于在…...

功能强大的开源数据中台系统 DataCap 2024.01.1 发布

推荐一套基于 SpringBoot 开发的简单、易用的开源权限管理平台&#xff0c;建议下载使用: https://github.com/devlive-community/authx 推荐一套为 Java 开发人员提供方便易用的 SDK 来与目前提供服务的的 Open AI 进行交互组件&#xff1a;https://github.com/devlive-commun…...

Redis的bitmap使用不当,我内存爆了

背景 最近发现Redis的内存持续暴涨&#xff0c; 涨的有点吓人&#xff0c;机器都快扛不住了&#xff0c;不得不进行Redis内存可视化分析&#xff0c;发现大量的String类型的大key 经分析&#xff0c;最近上线了页面UV的统计&#xff0c;那目前如何做的呢&#xff1f; 通过访…...

基于python的新闻爬虫

咱们这个任务啊&#xff0c;就是要从一个指定的网站上&#xff0c;抓取新闻内容&#xff0c;然后把它们整整齐齐地保存到本地。具体来说&#xff0c;就是要去光明网的板块里&#xff0c;瞅瞅里面的新闻&#xff0c;把它们一条条地保存下来。 首先&#xff0c;咱得有个网址&…...

C#基础题

值类型和引用类型之间的区别是什么&#xff1f; 值类型在内存中存储实际值&#xff0c;而引用类型存储对对象的引用。值类型在栈上分配内存&#xff0c;而引用类型在堆上分配内存。值类型是不可变的&#xff0c;而引用类型是可变的。值类型的大小是固定的&#xff0c;而引用类型…...

AI大语言模型学习笔记之三:协同深度学习的黑魔法 - GPU与Transformer模型

Transformer模型的崛起标志着人类在自然语言处理&#xff08;NLP&#xff09;和其他序列建模任务中取得了显著的突破性进展&#xff0c;而这一成就离不开GPU&#xff08;图形处理单元&#xff09;在深度学习中的高效率协同计算和处理。 Transformer模型是由Vaswani等人在2017年…...

c++阶梯之auto关键字与范围for

auto关键字&#xff08;c11&#xff09; 1. auto关键字的诞生背景 随着程序的逐渐复杂&#xff0c;程序代码中用到的类型也越来越复杂。譬如&#xff1a; 类型难以拼写&#xff1b;含义不明确容易出错。 比如下面一段代码&#xff1a; #include <string> #include &…...

第八篇:node模版引擎Handlebars及他的高级用法(动态参数)

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! ​ 目录 &#x1f4d8; 引言&#xff1a; &#x1f…...

css3 属性 backface-visibility 的实践应用

backface-visibility 是一个用于控制元素在面对屏幕不同方向时的可见性的CSS3特性。它有两个可能的值&#xff1a; visible&#xff1a;当元素不面向屏幕&#xff08;即背面朝向用户&#xff09;时&#xff0c;元素的内容是可以被看到的。hidden&#xff1a;当元素不面向屏幕…...

嵌入式学习第十七天

C语言小项目&#xff1a; 制作俄罗斯方块小游戏&#xff08;全部&#xff09; 主函数部分 #include <stdio.h> #include <unistd.h> #include <string.h> #include <signal.h> #include <stdlib.h> #include <time.h> #include "b…...

使用Python的Turtle模块简单绘制烟花效果

import turtle import random# 初始化屏幕 screen turtle.Screen() screen.bgcolor("black") screen.title("烟花模拟")# 创建一个Turtle来绘制烟花 firework turtle.Turtle() firework.hideturtle() firework.speed(0) # 设置绘图速度为最快# 绘制烟花…...

数学建模-退火算法和遗传算法

退火算法和遗传算法 一&#xff0e;退火算法 退火算法Matlab程序如下&#xff1a; [W]xlsread(D:100个目标经度纬度);>> x[W(:,1)];>> y[W(:,2)];>> w[x y];;d1[70, 40];>> w[d1;w;d1]ww*pi/180;%角度化成弧度dzeros(102);%距离矩阵初始化for i1:101…...

Qt开源版 vs 商业版 详细比较!!!!

简单整理Qt开源版与商业版有哪些差别&#xff0c;仅供参考。 简单对比 开源版商业版许可证大部分采用对商业使用不友好的LGPLv3具备商业许可证保护代码专有许可证相关大部分模块使用LGPLv3和部分模块使用GPL组成仅第三方开源组件使用Qt的其他许可证Qt模块功能支持支持技术支持…...

华为云CodeArts Snap荣获信通院优秀大模型案例及两项荣誉证书

2024年1月25日&#xff0c;中国人工智能产业发展联盟智能化软件工程工作组&#xff08;AI for Software Engineering&#xff0c;下文简称AI4SE&#xff09;在京召开首届“AI4SE创新巡航”活动。在活动上&#xff0c;华为云大模型辅助系统测试代码生成荣获“2023AI4SE银弹优秀案…...

小程序的应用、页面、组件生命周期(超全版)

小程序生命周期 应用的生命周期 onLaunch: 初始化小程序完成时触发&#xff0c;且全局只触发一次&#xff1b; onShow: 小程序初始化完成&#xff08;启动&#xff09;或从后台切换到前台显示时触发&#xff1b; onHide: 小程序从前台切换到后台隐藏时触发&#xff08;如切换…...

TCP四次握手

TCP 协议在关闭连接时&#xff0c;需要进行四次挥手的过程&#xff0c;主要是为了确保客户端和服务器都能正确地关闭连接。 # 执行流程 四次挥手的具体流程如下&#xff1a; 客户端发送 FIN 包&#xff1a;客户端发送一个 FIN 包&#xff0c;其中 FIN 标识位为 1&#xff0c…...

EBC金融英国CEO:高波动性周期下,如何寻找市场的稳定性?

利率主导的市场&#xff0c;将在2024年延续。目前&#xff0c;固收市场对于降息的定价&#xff0c;正通过利率传导至不同资产中。尽管市场迫切利用通胀去佐证降息&#xff0c;但各国央行仍囿于通胀目标的政策桎梏。政策和市场预期的博弈将继续牵动市场脉搏&#xff0c;引发价格…...

C++ Web 编程

什么是 CGI&#xff1f; 公共网关接口&#xff08;CGI&#xff09;&#xff0c;是一套标准&#xff0c;定义了信息是如何在 Web 服务器和客户端脚本之间进行交换的。CGI 规范目前是由 NCSA 维护的&#xff0c;NCSA 定义 CGI 如下&#xff1a;公共网关接口&#xff08;CGI&…...

docker笔记整理

Docker 安装 添加yum源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 安装docker yum -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin 启动docker systemctl start docker 查看docker状态 s…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

[特殊字符] Spring Boot底层原理深度解析与高级面试题精析

一、Spring Boot底层原理详解 Spring Boot的核心设计哲学是约定优于配置和自动装配&#xff0c;通过简化传统Spring应用的初始化和配置流程&#xff0c;显著提升开发效率。其底层原理可拆解为以下核心机制&#xff1a; 自动装配&#xff08;Auto-Configuration&#xff09; 核…...