DHCP部署与安全详解
文章目录
- 一、DHCP是什么?
- 二、DHCP相关概念
- 三、DHCP优点
- 四、DHCP原理
- 1. 客户机发送DHCP Discovery广播包(发现谁是DHCP服务器)
- 2. 服务器响应DHCP Offer广播包
- 3. 客户机发送DHCP Request广播包
- 4. 服务器发送DHCP ACK广播包
- 五、DHCP续约
- 六、部署DHCP服务器
- 1. IP地址固定(服务器必须固定IP地址)
- 2. 安装DHCP服务插件
- 3. 新建作用域及作用域选项
- 4. 激活
- 5. 客户机验证
- 七、地址保留
- 八、选项优先级
- 九、DHCP备份
一、DHCP是什么?
DHCP(Dynamic Host Configuration Protocol)动态主机配置协议,是 RFC 2131定义的标准协议,该协议允许服务器向客户端动态分配 IP 地址和配置信息,作用说通俗点就是自动分配IP地址。为什么要自动分配呢?主要是因为除了专业的网络工程师,很多普通人是不会配置IP的,所以有这个协议,就很方便普通人去使用互联网。
二、DHCP相关概念
地址池/作用域:(IP、子网掩码、网关、DNS、租期),DHCP协议端口是UDP 67/68
三、DHCP优点
减少工作量、避免IP冲突、提高地址利用率
四、DHCP原理
DHCP原理也称为DHCP租约过程,分为4个步骤:
1. 客户机发送DHCP Discovery广播包(发现谁是DHCP服务器)
客户机广播请求IP地址(包含客户机的MAC地址)
2. 服务器响应DHCP Offer广播包
服务器响应提供的IP地址(但无子网掩码、网关等参数)
3. 客户机发送DHCP Request广播包
客户机选择IP(也可认为确认使用哪个IP)
4. 服务器发送DHCP ACK广播包
服务器确定了租约,并提供网卡详细参数IP、掩码、网关、DNS、租期等
五、DHCP续约
当租期50%过后,客户机会再次发送DHCP Request包,进行续约,如服务器无响应,则继续使用并在87.5%再次发送DHCP Request包,进行续约,如仍然无响应,则客户机释放IP地址,重新发送DHCP Discovery广播包来获取IP地址
当无任何服务器响应时,自动给自己分配一个169.254.x.x/16,属于全球统一无效地址,用于临时内网通信
六、部署DHCP服务器
1. IP地址固定(服务器必须固定IP地址)
如果要将某主机设置为DHCP服务器,则该IP地址必须固定,否则无法设置为DHCP服务器。同理,所有的服务器IP地址必须是固定的,试想,如果我们访问的百度、京东等网站IP地址经常变换,用户还能用吗
2. 安装DHCP服务插件
以Windows2003服务器为例,DHCP服务插件的安装过程如下:
- 双击打开2003的镜像光盘,如下图所示

- 鼠标点击【安装可选的Windows组件】,如下图

- 往下滑动找到【网络服务】,然后鼠标双击打开

- 找到【动态主机配置协议(DHCP)】,并且勾选上,然后点击【确定】、【下一步】安装即可

5.验证DHCP服务插件是否安装好,cmd命令打开控制台,输入命令:netstat -an,然后回车,可以看到如下图所示,其中端口号为67和68的就是DHCP服务端口号,证明该服务已开启

3. 新建作用域及作用域选项
DHCP服务打开之后,还无法为用户提供服务,因为没有IP地址池,接下来要创建地址池,也就是作用域(在Linux系统中称为地址池,在Windows系统中称为作用域)。
新建作用域的步骤如下:
- 鼠标点击左下角【开始】,然后点击【管理工具】,找到上一步安装好的【DHCP】插件,然后点击打开

- 进入DHCP服务页面,鼠标右键点击DHCP服务器名,在下拉列表中选择【新建作用域】

- 点击【下一步】

- 这里的作用域名和描述,自己随便写,如果在实际生产场景中,一般是写公司名,然后【下一步】

- 定义地址范围,准备给客户机的可用地址范围区间,比如下图所示,范围区间从10.1.1.21-10.1.1.250。以及子网掩码长度用以决定网段。然后点击【下一步】

- 用以排除的IP地址范围,也就是不给客户机使用的IP地址范围。如下图所示,排除了10.1.1.222,也就是该地址不予分配。然后点击【下一步】

- 定义租期,也就是IP地址使用时间,如下图租期设定为1小时。然后点击【下一步】

- 该页面是询问是否要现在开始给IP配置对应的网关,DNS等其他参数,这里点击【是】,然后点击【下一步】

- 配置网关,要咨询公司工程师,网关地址是多少,不配置的话,可以内部通信,但是无法上网,配置好之后,点击【下一步】

- 配置DNS服务器,页面中的【父域】不用管,只需配置DNS服务器的IP地址。DNS的IP地址要首先知道自己公司的网络运营商是哪家,比如电信、移动等等,然后网上查询所在城市该运营商的DNS服务器地址,配置进来即可,也可以如下图所示,配置两个服务器IP,如果第一个出现故障无法使用,则默认使用第二个替补。然后点击【下一步】

- 如下图所示wins服务器是早期的一种古老服务器,它是DNS服务器的上一代产品,现在市面已经淘汰,不做使用,所以这里直接跳过,点击【下一步】

4. 激活
- 是否要现在激活地址池(作用域),因为我们现在是做实验,所以直接激活即可。如果是现实工作中,先不要激活,可以先检查一遍作用域有没有配置正确,没问题再激活。如果没有激活的话,即使配置好了,但是其他客户机也是无法使用的,一旦激活,是可以正常使用的。然后点击【下一步】

- 点击【完成】,配置完毕

- 然后回到DHCP服务页面,则可以看到服务器名下方多了作用域,点开即可看到刚才配置的所有参数



5. 客户机验证
ipconfig /release 释放IP(取消租约,或者改为手动配置IP,也可以释放租约)
ipconfig /renew 重新获取IP(有IP时,发送request续约,无IP时发送Discovery重新获取)
七、地址保留
针对指定的MAC地址,动态分配固定IP地址。假如公司老板喜欢168这个数字,就想要10.1.1.168这个IP,那该怎么办呢?

有的小伙伴可能会说:那就直接把IP手动配置成10.1.1.168不就行了。那就坏事了,老板回家之后发现上不了网,第二天回来大发雷霆。很简单,回到家里,和公司根本不在一个局域网,家里是没有10.1.1.168这个IP的,所以就上不了网了。
所以这里就要用到动态地址保留了,什么意思呢?就是IP地址还是动态分配,但是只要该电脑接入该局域网,则给他专门分配10.1.1.168这个IP地址,而不是随机给他一个。而因为是自动分配的模式,所以回到家依然可以上网。
地址保留配置步骤如下:
- 鼠标右键点击【保留】,然后在下拉列表中点击【新建保留】

- 保留名称任意定义,IP地址就填写10.1.1.168,然后MAC地址要填写需要固定保留IP地址的那台电脑的MAC地址,这样就把IP地址和那台电脑捆绑在一起了,比如老板的电脑MAC地址。MAC地址查找方式是cmd,在控制台里面输入ipconfig /all命令,即可看到MAC地址,描述这里可以不填写,然后点击【添加】

- 添加完了之后,即可看到保留选项里面就有了设置好的保留地址,如下图

- 验证一下,如下图所示

八、选项优先级
上一步我们配置了保留IP地址,也就是10.1.1.168,但是大家应该注意到我是没有给这个IP配置网关、DNS等参数,那该IP地址有这些参数吗?答案是有的,我们可以点开该保留IP可以看到如下图所示

那为什么会有这些参数呢?其实是因为保留IP也是在该作用域当中,所以会继承该作用域所有配置选项,比如我们可以点开作用域选项,如下图所示,和上面的保留IP配置是一样的。

现在做个小实验:假设公司有两个作用域(地址池),比如10、20网段开头的作用域,我希望公司所有人都从我这台服务器上拿IP,那我就在这里创建2个作用域,先把原来的作用域删掉,逐个开始创建新的。
先创建第一个作用域,名称就叫IT,也就是公司IT部门

IP范围设置为10开头的网段,配置如下图所示,然后点击【下一步】

排除这里也不写了,直接【下一步】

租约这里也是默认,直接【下一步】

设置选项这里点击【否】,也就是我们暂时不给该作用域设置网关、DNS等参数,然后点击【下一步】

点击【完成】

然后鼠标右键点击【作用域】,在下来列表中点击【激活】,激活该作用域

我们点开【作用域选项】,可以看到没有任何东西,因为刚才除了IP,其他的都没有配置。如果客户机从这台服务器上获取IP的话,将只有IP地址和子网掩码,没有网关和DNS,那我们就必须在作用域选项中添加网关和DNS配置信息,这里呢先不添加

然后回到服务器,再右键新建作用域,名字就叫财务,就是给财务部门做的网段,点击【下一步】

IP地址配置为20开头的网段,配置如下图,点击【下一步】

后面都是【下一步】,直到最后,配置选项页面,更改为【否】,也就是先不配置网关、DNS等,然后【下一步】,【完成】

也把该作用域激活一下,可以看到该【作用域选项】也是为空

可以看到两个【作用域选项】都为空,然后下面有个【服务器选项】,鼠标右键点击【服务器选项】,在下拉列表中点击【配置选项】,来配置服务器选项

往下滑动,找到【DNS服务器】,勾选上,然后在IP地址中配置进来DNS服务器IP地址,点击【添加】,点击【确定】

我们可以看到在【服务器选项】里面指定了一个DNS服务器IP参数,如下图

然后分别右键点击两个作用域的【作用域选项】,在下拉列表中点击【刷新】,如下图

刷新之后,可以看到两个作用域选项里面都有了刚才给【服务器选项】配置的DNS参数

看到这里我们就明白了,【作用域选项】是继承自【服务器选项】的。也就意味着,如果该服务器上作用域特别多的话,我们不必单独给每个作用域都设置参数,只需给【服务器选项】设置一次,其他都有了这些配置参数。其实这些部门都是隶属于一家企业,所以指向的DNS服务器一般都是同一台。
那么问题来了:不同的网段可以指向同一个网关吗?比如10开头的和20开头的网段可以指向同一个网关吗?肯定不可以,只能回到每个【作用域选项】单独来配置网关。鼠标右键点击【作用域选项】,在下拉列表中点击【配置选项】

然后勾选【路由器】,配置网关IP地址

现在问题又来了:假设IT部门不想用222.146.129.80这台DNS服务器,就想用114.114.114.114这台服务器做DNS。那怎么办呢?
那就在IT部门所在的网段作用域中单独配置【作用域选项】,鼠标右键点击【作用域选项】,在下拉列表中点击【配置选项】,然后进去下滑,找到【DNS服务器】并勾选,将IP配置为114.114.114.114,然后【添加】,点击【确定】

就可以看到IT部门的【作用域选项】这里就改成了114.114.114.114

也就是说,如果我的【作用域选项】没有配置的话,直接使用的就是【服务器选项】配置好的,如果我的【作用域选项】配置了,那就使用我自己的,不再使用【服务器选项】配置的。总结就是:【作用域选项】的优先级高于【服务器选项】的优先级
九、DHCP备份
在企业工作中经常免不了要在DHCP上配置多个地址池,每个里面配置参数都各有不同,配置的工作量就比较大。如果某天该服务器突然坏了,那我们就要重新配置所有地址池,这样会非常麻烦。所以我们可以对DHCP服务器进行备份,如果服务器出了问题,若要修复的话,直接还原原有备份就行。
做备份步骤如下:
1.鼠标右键点击服务器名称,在下拉列表中点击【备份】

- 在【浏览文件夹】窗口中选择指定要存放备份数据的目录,如没有,也可以点击【新建文件夹】来创建目录,然后点击【确定】

- 打开对应的目录就可以看到已经备份好了

- 鼠标右键点击【作用域】,在下拉列表中点击【删除】,然后点击【是】,点击【是】,删除刚才配置好的作用域

- 删除之后如下图所示,作用域已经没有了

- 鼠标右键点击服务器名称,在下拉列表中点击【还原】

- 在文件夹窗口中选中刚才备份数据的所在目录,然后点击【确定】,点击【是】,开始还原

- 可以看到已经还原好了,所有配置完好如初

相关文章:
DHCP部署与安全详解
文章目录 一、DHCP是什么?二、DHCP相关概念三、DHCP优点四、DHCP原理1. 客户机发送DHCP Discovery广播包(发现谁是DHCP服务器)2. 服务器响应DHCP Offer广播包3. 客户机发送DHCP Request广播包4. 服务器发送DHCP ACK广播包 五、DHCP续约六、部…...
华为数通HCIP-PIM原理与配置
组播网络概念 组播网络由组播源,组播组成员与组播路由器组成。 组播源的主要作用是发送组播数据。 组播组成员的主要作用是接收组播数据,因此需要通过IGMP让组播网络感知组成员位置与加组信息。 组播路由器的主要作用是将数据从组播源发送到组播组成员。…...
linux 权限
一个文件的权限 我们知道一个文件分为两个部分:1. 文件的内容。 2. 文件的属性 我们对一个文件的操作也就存在以下的一些属性: 这个文件可以被你看到--------- 可读–read—r这个文件可以被你修改----------可写–write–w这个文件可以被编译器编译并执…...
SQL基础使用
SQL的概述 SQL全称: Structured Query Language,结构化查询语言,用于访问和处理数据库的标准的计算机语言。 SQL语言1974年由Boyce和Chamberlin提出,并首先在IBM公司研制的关系数据库系统SystemR上实现。 经过多年发…...
金蝶云星空任意文件读取漏洞复现(0day)
0x01 产品简介 金蝶云星空是一款云端企业资源管理(ERP)软件,为企业提供财务管理、供应链管理以及业务流程管理等一体化解决方案。金蝶云星空聚焦多组织,多利润中心的大中型企业,以 “开放、标准、社交”三大特性为数字…...
linux中readelf命令详解
readelf 用于显示elf格式文件的信息 补充说明 readelf命令 用来显示一个或者多个elf格式的目标文件的信息,可以通过它的选项来控制显示哪些信息。这里的elf-file(s)就表示那些被检查的文件。可以支持32位,64位的elf格式文件,也支持包含elf…...
Python 教程之标准库概览
概要 Python 标准库非常庞大,所提供的组件涉及范围十分广泛,使用标准库我们可以让您轻松地完成各种任务。 以下是一些 Python3 标准库中的模块: 「os 模块」 os 模块提供了许多与操作系统交互的函数,例如创建、移动和删除文件和…...
MySQL~数据库的基本概念
一、数据库的基本概念 1、数据库的英文单词: DataBase 【 DB】 2、什么数据库? 用于存储和管理数据的仓库。 3、数据库的特点: 持久化存储数据的 数据库就是一个文件系统 方便存储和管理数据 使用统一的方式操作数据库 -- SQL 4、常…...
uniapp文件下载
使用uniapp提供给我们的uni.downloadFile、uni.saveFile和uni.openDocument三个API就可以了 也很简单,直接贴一下代码,安修修改一下即可 <template><view><image tap"pdfDownLoad" style"width: 35rpx;height: 35rpx;&…...
让GPT人工智能变身常用工具-下
...
el-table 表格头部合并
<el-table v-loading"listLoading" :key"tableKey" :data"list" stripe border fit highlight-current-rowstyle"width: 100%;" size"mini"><el-table-column label"第一行" align"center">…...
【机器学习】Linear Regression
Model Representation 1、问题描述2、表示说明3、数据绘图4、模型函数5、预测总结附录 1、问题描述 一套 1000 平方英尺 (sqft) 的房屋售价为300,000美元,一套 2000 平方英尺的房屋售价为500,000美元。这两点将构成我们的数据或训练集。面积单位为 1000 平方英尺&a…...
STM32 中断优先级管理(二)
NVIC中断管理相关函数主要在HAL库关键文件stm32f1xx_hal_cortex.c中定义。 中断优先级分组函数 void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup);这个函数的作用是对中断的优先级进行分组,这个函数在系统中只需要被调用一次。 void HAL_NVIC_SetPrio…...
17-汽水瓶
题目 某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。 小张手上有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。 数据范围:输入的正整数满足 1≤n≤100 注意&…...
Mindar.JS——实现AR图像追踪插入图片或视频
Mindar.JS使用方式 注意:此篇文章需要启动https才可调用相机权限 图像追踪示例 需要用到两个js库 <script src"./js/aframe.min.js"></script><script src"./js/mindar-image-aframe.prod.js"></script>下面看一下标签…...
JVM源码剖析之JIT工作流程
版本信息: jdk版本:jdk8u40思想至上 Hotspot中执行引擎分为解释器、JIT及时编译器,上篇文章描述到解释器过度到JIT的条件。JVM源码剖析之达到什么条件进行JIT优化 这篇文章大致讲述JIT的编译过程。在JDK中javac和JIT两部分跟编译原理挂钩&a…...
【投资笔记】(23/7/31)下半年消费复苏的机会来了?
本文为本人投资逻辑验证,不作为任何建议; 政策面 汽车:(一)优化汽车购买使用管理(二)扩大新能源汽车消费,重点在于新能源汽车;房地产:(三&#x…...
MySQL二进制日志(binlog)配置、二进制日志binlog查看、mysqlbinlog查看二进制日志、二进制日志binlog清理等详解
提示:MySQL 中的日志比较重要的有 binlog(归档日志)、redo log(重做日志)以及 undo log,那么跟我们本文相关的主要是 binlog,另外两个日志松哥将来有空了再和大家详细介绍。 文章目录 1、二进制…...
Python内存管理解析:高效利用资源的关键
推荐阅读 AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画、AI讲话、翻译,GPU点亮AI想象空间 引言 在当今互联网时代,Python已经成为最受欢迎的编程语言之一。它的简洁、灵活和强大的生态系统使其成为…...
解决Debian10乱码以及远程连接ssh的问题
文章目录 解决Debian10乱码Debian10配置ssh 解决Debian10乱码 下载locales apt-get install locales配置语言 dpkg-reconfigure locales输入上述命令后会进入到以下页面【空格为选中,回车下一个页面】 在这个页面里我们按空格选中如图的选项,然后回…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...
