DHCP原理及配置
目录
一、DHCP原理
DHCP介绍
DHCP工作原理
DHCP分配方式
工作原理
DHCP重新登录
DHCP优点
二、DHCP配置
一、DHCP原理
1 DHCP介绍
大家都知道,现在出门很多地方基本上都有WIFI,那么有没有想过这样一个问题,平时在家里都是“固定”的ip地址,那么如果出门连接了公共的WIFI,会怎样获得,获得什么ip地址呢?
其实,这里就涉及到了DHCP动态分配。之前我们配置ens33网卡的时候,通常都是将网络分配方式由原来的 DHCP 改成 static 静态。为什么要这么做呢?如果不改成静态的话,我们这一次远程连接上了虚拟机,下一次开机就可能连不上了。说到这,大家可能隐约意识到,DHCP动态分配是个什么了,没错,就是字面意思,动态分配 ip 地址。
用官方一点的话说,就是动态主机配置协议,专门用于为 TCP/IP网络中的计算机自动分配TCP/IP参数的协议,是一个应用层协议。
DHCP使用67和68端口,用于简化主机地址分配管理。服务端和客户端使用端口不一样。
Server 端:DHCP Server(运行 dhcp 服务)
UDP 服务:监听端口 67(bootps)
Client 端:DHCP Client(运行 dhcp 程序)
UDP 服务:监听端口 68 (bootpc)
2 DHCP工作原理
DHCP分配方式
DHCP有三种分配方式
自动分配:当 DHCP 客户机第一次成功地从 DHCP 服务器获取到一个 IP 地址后, 就永久地使用这个 IP 地址。
手动分配:由 DHCP 服务器管理员专门指定 IP 地址。
动态分配:是当 DHCP 客户机第一次从 DHCP 服务器获取到 IP 地址后,并非永久地使用该地址,而是在每次使用完后,DHCP 客户机就会释放这个 IP 地址,供其他客户机使用
工作原理
说了这么多,DHCP究竟是如何工作的呢?
一开始,当一台机器启动时,它还没有 IP 地址,所以主机要通过 DHCP 获取一个合法的地址。此时主机以广播方式发送 DHCP Discover 信息来寻找 DHCP 服务器,当 DHCP 服务器接收到来自主机请求 IP 地址的信息时,它就在自己的 IP 地址池中查找是否有合法的 IP 地址提供给主机。如果有,DHCP 服务器就将此 IP 地址做上标记, 加入到即将反馈的消息中,然后将该消息广播出去。主机接收到消息后,选择 IP 地址,通常会选择接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的 DHCP 服务器将该地址保留,这样该地址就不能再分配给其他主机。之后主机会向服务器发送 DHCP Request 消息,表示选择该 ip 地址。服务器接收到 DHCP Request 消息后,以 DHCP ACK 消息的形式向主机广播成功确认,该消息包含有 IP 地址的有效租约和其他可配置的信息。当主机收到 DHCP ACK 消息时,它就配置了 IP 地址,完成 TCP/IP 的初始化。
整个过程都是以广播形式转发信息,这个过程被称为四次会话,其实有点类似于计算机网络中的,TCP建立连接的三次握手四次挥手过程。
DHCP重新登录
那么,前面也提到,为什么在家连网的时候,ip地址一直不变呢?不是说好了动态分配吗?其实,确实是动态分配,只不过每一次都是分配的同一个地址,因为一台主机或者是用户连接一个网络时,会有上次连接时的缓存,直接将该缓存信息发给DHCP服务端就可以了,服务端收到该信息就直接将上次分配的地址重新分配给该用户。
3 DHCP优点
说了这么多,DHCP有什么好处呢?为什么要使用这种分配方式?这个问题的答案其实很显然。因为每个人上网的时间都是不确定的,而且使用人员的技术水平也不同,假如我完全不懂什么ip地址什么路由器,我连个WiFi难道要我自己申请什么ip地址?这是不现实的。而且还会造成 IP 地址的浪费,很多会抢占什么66 88 这种数字吉利的地址。然后导致最后连接的人不管输什么都提示被占用,不知道哪个ip地址无人使用。而且也会为 ISP 服务商带来高额的维护成本。
所以,使用DHCP动态分配,可以减少管理员的工作量,同时会避免输入错误的情况,避免 IP 地址冲突,提高了 IP 地址的利用率。
二、DHCP配置
在配置之前我们首先要安装相关的服务
yum -y install dhcp
拷贝模板,名字为dhcpd.conf
cp -fp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
然后我们编辑该配置文件
vim /etc/dhcp/dhcpd.conf
我们来为他设置一下行号

我就直接用数字行号来代表这一行的字段了
7:指定客户端使用的DNS域名为 example.org
8:指定 DNS 服务器地址
10和11行分别时默认租约时间和最大租约时间
14:用于指定DHCP服务器是否以及如何进行动态DNS更新
以上为DHCP全局配置,下面我们进行DHCP局部配置,大概在四十多行的位置

47行是声明网段地址,我们直接改成我们所需修改的网段,不要忘了修改后面的子网掩码
48行是dhcp地址池映射范围,我这里随便设置了一个网段内的范围
49行定义DNS服务器
51行默认网关
52行广播地址
53和54依然是默认祖约时间和最大租约时间
这边都配置完成后就可以去客户端进行验证
ipconfig /release
ipconfig /renew
相关文章:
DHCP原理及配置
目录 一、DHCP原理 DHCP介绍 DHCP工作原理 DHCP分配方式 工作原理 DHCP重新登录 DHCP优点 二、DHCP配置 一、DHCP原理 1 DHCP介绍 大家都知道,现在出门很多地方基本上都有WIFI,那么有没有想过这样一个问题,平时在家里都是“固定”的…...
异步日志:性能优化的金钥匙
一、背景 2024 年 4 月的一个宁静的夜晚,正当大家忙完一天的工作准备休息时,应急群里“咚咚咚”开始报警,提示我们余利宝业务的赎回接口成功率下降。 通过 Monitor 监控发现,该接口的耗时已经超过了网关配置的超时阈值(2s)&#…...
matlab仿真 模拟调制(上)
(内容源自详解MATLAB/SIMULINK 通信系统建模与仿真 刘学勇编著第五章内容,有兴趣的读者请阅读原书) 1.幅度调制 clear all ts0.0025; %信号抽样时间间隔 t0:ts:10-ts;%时间矢量 fs1/ts;%抽样频率 dffs/length(t); %fft的频率分…...
【数据结构】--- 堆的应用
个人主页:星纭-CSDN博客 系列文章专栏 :数据结构 踏上取经路,比抵达灵山更重要!一起努力一起进步! 一.堆排序 在前一个文章的学习中,我们使用数组的物理结构构造出了逻辑结构上的堆。那么堆到底有什么用呢&…...
0基础学会在亚马逊云科技AWS上利用SageMaker、PEFT和LoRA高效微调AI大语言模型(含具体教程和代码)
项目简介: 小李哥今天将继续介绍亚马逊云科技AWS云计算平台上的前沿前沿AI技术解决方案,帮助大家快速了解国际上最热门的云计算平台亚马逊云科技AWS上的AI软甲开发最佳实践,并应用到自己的日常工作里。本次介绍的是如何在Amazon SageMaker上…...
护网HW面试——redis利用方式即复现
参考:https://xz.aliyun.com/t/13071 面试中经常会问到ssrf的打法,讲到ssrf那么就会讲到配合打内网的redis,本篇就介绍redis的打法。 未授权 原理: Redis默认情况下,会绑定在0.0.0.0:6379,如果没有采用相关…...
C++ //练习 15.8 给出静态类型和动态类型的定义。
C Primer(第5版) 练习 15.8 练习 15.8 给出静态类型和动态类型的定义。 环境:Linux Ubuntu(云服务器) 工具:vim 解释 静态类型:在编译时已知,是在变量声明时的类型或表达式生成的…...
阿里云ECS服务器安装jdk并运行jar包,访问成功详解
安装 OpenJDK 8 使用 yum 包管理器安装 OpenJDK 8 sudo yum install -y java-1.8.0-openjdk-devel 验证安装 安装完成后,验证 JDK 是否安装成功: java -version设置 JAVA_HOME 环境变量: 为了确保系统中的其他应用程序可以找到 JDK&…...
Windows系统上使用npm来安装和配置Yarn,在VSCode中使用
一、安装Yarn 1. 安装Node.js和npm 如果还没有安装Node.js和npm,可以从Node.js官方网站下载并安装最新版本的Node.js,npm会随Node.js一起安装。 2. 使用npm安装Yarn 打开命令提示符或PowerShell,运行以下命令来全局安装Yarn: …...
Unity ColorSpace 之 【颜色空间】相关说明,以及【Linear】颜色校正 【Gamma】的简单整理
Unity ColorSpace 之 【颜色空间】相关说明,以及【Linear】颜色校正 【Gamma】的简单整理 目录 Unity ColorSpace 之 【颜色空间】相关说明,以及【Linear】颜色校正 【Gamma】的简单整理 一、简单介绍 二、在Unity中设置颜色空间 三、Unity中的Gamma…...
JavaScript的学习(二)
今天继续学习JavaScript的第二天,还是打基础 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title…...
【接口自动化_06课_Pytest+Excel+Allure完整框架集成】
一、logging在接口自动化里的应用 1、设置日志的配置,并收集日志文件 日志的设置需要在pytest.ini文件里设置。这个里面尽量不要有中文 2、debug日志的打印 pytest.ini文件的开关一定得是true才能在控制台打印日志 import allure import pytest from P06_PytestFr…...
Profibus协议转Profinet协议网关模块连接智能电表通讯案例
一、背景 在工业自动化领域,Profibus协议和Profinet协议是两种常见的工业通讯协议,而连接智能电表需要用到这两种协议之间的网关模块。本文将通过一个实际案例,详细介绍如何使用Profibus转Profinet模块(XD-PNPBM20)实…...
【学习笔记】无人机(UAV)在3GPP系统中的增强支持(九)-无人机服务区分离
引言 本文是3GPP TR 22.829 V17.1.0技术报告,专注于无人机(UAV)在3GPP系统中的增强支持。文章提出了多个无人机应用场景,分析了相应的能力要求,并建议了新的服务级别要求和关键性能指标(KPIs)。…...
acrobat 中 PDF 复制时不能精确选中所选内容所在行的一种解决方法
现象:划取行的时候,自动扩展为多行 如果整段选中复制,粘贴后是乱码 解决步骤 识别完,保存 验证 可以按行复制了。 如果遇到仅使用 acrobat OCR 不能彻底解决的,更换其他自己熟悉的进行 OCR。...
安卓学习中遇到的问题【bug】
安卓学习中遇到的问题 1Gradle下载慢怎么办? Gradle下载慢怎么办? distributionUrlhttps://mirrors.cloud.tencent.com/gradle/gradle-7.5-bin.zip 2 Could not resolve all files for configuration ‘:classpath‘. > Could not resolv…...
【日常记录】【CSS】display:inline 的样式截断
文章目录 1. 案例2. css属性:box-decoration-break参考地址 1. 案例 现在有一篇文章,某些句子,是要被标记的,加一些css 让他突出一下 可以看到,在最后,断开了,那如若要让 断开哪里的样式 和 开始…...
数据库系统安全
数据库安全威胁 数据库作为信息系统中的核心组成部分,存储和管理着大量敏感和关键的数据,成为网络攻击者的主要目标之一。以下是常见的数据库安全威胁及其详细描述: 一、常见数据库安全威胁 SQL注入攻击(SQL Injectionÿ…...
Qt MV架构-代理模型
一、基本概念 代理模型可以将一个模型中的数据进行排序或者过滤,然后提供给视图进行显示。 Qt中提供了QSortFilterProxyModel作为标准的代理模型来完成模型中数据的排序和过滤。 要使用一个代理模型,则只需要为其设置源模型,然后再视图中使…...
WebSocket实现群聊功能、房间隔离
引用WebSocket相关依赖 <dependency><groupId>javax.websocket</groupId><artifactId>javax.websocket-api</artifactId><version>1.1</version></dependency><dependency><groupId>org.springframework</grou…...
LoRA训练零基础入门:lora-scripts工具5分钟快速上手,定制专属AI模型
LoRA训练零基础入门:lora-scripts工具5分钟快速上手,定制专属AI模型 1. 为什么选择lora-scripts进行LoRA训练 LoRA(Low-Rank Adaptation)技术已经成为AI模型微调的主流方法,但传统训练流程需要编写复杂代码和手动配置…...
C++的std--ranges适配器视图迭代器有效性保证与悬垂引用检测
C20引入的std::ranges库彻底改变了序列操作的范式,其中适配器视图(如filter、transform)通过惰性求值实现了高效的管道式编程。这种延迟执行特性也带来了迭代器有效性风险——视图可能持有悬垂引用或失效迭代器,导致未定义行为。本…...
基于三维空间智能体(3D Spatial Agent)的目标连续感知与主动控制技术体系研究与应用:答辩逐字稿
各位评委老师好。我先用一句可能有点“冒犯行业”的话开场:👉 今天绝大多数视频AI系统,并不知道“人在哪里”。它们可以识别一个人是谁, 但无法持续掌握他在真实空间中的位置、路径和下一步行为。👉 所以,本…...
【Overview Effect】 -在抵达月球之前,让我们最后一次眺望地球
“当我们前往月球时,我们专注于探索月球,但实际上我们发现的是地球。” —— 这种视角让人们意识到,地球不仅是家园,更是一艘在寒冷宇宙中孤立无援的“救生船”。在抵达月球之前,让我们最后一次眺望地球。这张地球照片…...
即时通信|自定义基于 Netty 的二进制协议(应用层协议)+心跳检测
基于IM仿微信聊天的场景:TCP(传输层)负责:把字节流可靠地从A送到B自定义协议(应用层)负责:规定字节流的含义┌──────────┬──────────┬─────────────────…...
A53安全启动基石——TrustZone在A53中的硬件实现
该文章同步至公众号OneChan 开篇:回答上篇进阶思考 在上一篇探讨复位启动的种种陷阱后,我们留下的五个进阶思考问题,现在结合安全启动和TrustZone的特性进行分析: 1. 量子不确定性对复位电路的影响 量子隧穿效应:在…...
RTOS实时操作系统核心机制与工程实践解析
1. RTOS基础概念与适用场景解析实时操作系统(Real-Time Operating System)是嵌入式开发中经常遇到的核心组件。作为一名在工业控制领域摸爬滚打多年的工程师,我见过太多项目因为RTOS选型不当而导致的灾难性后果。与通用操作系统不同ÿ…...
电压负反馈放大电路
电压负反馈放大电路 共发射极(Common Emitter, CE) 在电子电路中, 信号的传输通常需要一个参考点, 通常是地线GND: 对于输入信号, 它需要一个:正端和一个负端才能形成回路, 让电流流动;对于输出信号, 也需要一个参考点来测量电压的变化. 在共发射极电路中, 发射极通…...
C#的[ModuleInitializer]的静态构造函数执行顺序
在C#开发中,模块初始化器(ModuleInitializer)和静态构造函数的执行顺序是一个容易被忽视却至关重要的细节。理解它们的执行机制不仅能帮助开发者避免隐蔽的初始化陷阱,还能优化代码的启动性能。本文将从多个角度深入探讨这一主题&…...
MaterialSkin:让WinForms应用焕发现代设计光彩的主题框架
MaterialSkin:让WinForms应用焕发现代设计光彩的主题框架 【免费下载链接】MaterialSkin Theming .NET WinForms, C# or VB.Net, to Googles Material Design Principles. 项目地址: https://gitcode.com/gh_mirrors/ma/MaterialSkin 在传统Windows桌面应用开…...
