Linux网络的DHCP配置

文章目录

    • DHCP配置
      • DHCP流程简述
      • DHCP优点
      • DHCP的分配方式
      • DHCP的租约过程
      • DHCP配置实验
        • 实验1
        • 实验2

DHCP配置

DHCP:动态主机配置协议

服务端和客户端

  • 服务端:server,提供某种特定的服务

  • 客户端:client,使用服务端提供的服务

  • c/s架构 :client / server :客户端和服务端,应用程序之间,通过端口实现通信。

  • b/s架构 :browser / server :浏览器和服务端,页面展示。

DHCP流程简述

服务器配置好了地址池:如:192.168.233.10 - 192.168.233.20

客户端从地址池当中随机获取一个IP地址,IP地址会发生变化,使用服务器提供的IP地址,有时间限制,重启之后也会更换。

DHCP优点

  1. 降低了配置和部署的时间
  2. 降低了发生配置错误的可能性
  3. IP地址可以进行集中化管理
  4. 提高了IP地址的利用率

DHCP的分配方式

  • 自动分配:分配到一个IP地址后永久使用
  • 手动分配:由DHCP服务器管理员专门指定IP地址,脱裤子放屁
  • 动态分配:使用完后释放该IP地址,供其他客户机使用

DHCP的租约过程

客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程。

DHCP 租约过程包括四个主要阶段:发现(Discover)、提供(Offer)、请求(Request)和确认(Acknowledge)。下面是这些阶段的详细解释:

  1. 发现(Discover):当一个设备加入一个网络时,它会广播一个 DHCP Discover 消息,以寻找可用的 DHCP 服务器。这个消息包含了设备的 MAC 地址等信息。
  2. 提供(Offer):DHCP 服务器接收到 Discover 消息后,会向网络广播一个 DHCP Offer 消息,其中包含一个可用的 IP 地址、子网掩码、默认网关等网络配置信息。这些配置信息被 DHCP 服务器从其 IP 地址池中分配。如果是华为设备,发送的Offer 报文是单播,只发给发出请求的客户端。
  3. 请求(Request):设备接收到一个或多个 DHCP Offer 后,会选择其中一个 Offer,并向 DHCP 服务器发送一个 DHCP Request 消息,请求使用该服务器提供的网络配置。
  4. 确认(Acknowledge):DHCP 服务器收到设备发送的 Request 消息后,将选定的IP地址标记为“已用”,设定租期,并向设备发送一个 DHCP Acknowledgement(ACK)消息,确认分配给设备的 IP 地址和其他网络配置信息。此时,设备完成了 DHCP 租约过程,并开始使用分配的 IP 地址和其他配置。

在租约过程中,还包括租期的管理、租约更新等功能,以确保网络资源的有效分配和管理。DHCP 租约通常是有限期的,在租约到期之前,设备可以选择续约租约,以保持网络连接。

租约到期后,如果不续约,DHCP会重启,客户端重新从服务端获取IP地址。客户端发送一个renew request,服务端收到请求,从地址池当中获取一个IP,标记为已用,设置租约,发送ACK消息,客户端获取并使用IP地址。

问:如果地址池当中可分配IP用尽,此时收到新的请求会怎么样?

答:等待新的可用IP。或者手动扩展地址池。

DHCP配置实验

实验1

要求:

test1:服务端,DHCP服务,IP:20.0.0.10,地址池:20.0.0.100-20.0.0.110

test2:客户端,修改获取IP地址的方式,通过dhcp服务获取IP地址。

注:DHCP服务端的端口是67,客户端的端口是68

实现:

首先,test1test2关闭防火墙和守护进程

systemctl stop firewalld
setenforce 0

test1:安装dhcp服务

yum -y install dhcp

安装dhcp后,把样板文件/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example复制到/etc/dhcp/目录并覆盖文件/etc/dhcp/dhcpd.conf

cd /usr/share/doc/dhcp-4.2.5/
cp dhcpd.conf.example /etc/dhcp/dhcpd.conf

修改配置文件/etc/dhcp/dhcpd.conf前,先备份:

cp dhcpd.conf dhcpd.conf.bak.20240604

vim /etc/dhcp/dhcpd.conf对dhcp配置文件进行修改

在这里插入图片描述

保存退出后,重启dhcp服务

systemctl restart dhcpd

test2:配置网卡ens33,使用dhcp服务自动获取IP地址

编辑网卡配置文件

vim /etc/sysconfig/network-scripts/ifcfg-ens33

在这里插入图片描述

保存退出,重启网卡 systemctl restart network

查看IP地址

在这里插入图片描述

查看租约

less /var/lib/dhcpd/dhcpd.leases
实验2

要求:

test1通过dhcp为test2分配固定的IP地址

实现:

分配固定IP地址通过test2网卡的MAC地址进行分配。

先获取test2网卡ens33MAC地址:

在这里插入图片描述

test1:配置dhcp服务

修改配置文件/etc/dhcp/dhcpd.conf前,先备份:

cp dhcpd.conf dhcpd.conf.bak.20240604

vim /etc/dhcp/dhcpd.conf对dhcp配置文件进行修改

给单机分配固定的 IP 地址格式:

#host主机声明(给单机分配固定的 IP 地址)
host hostname {					#指定需要分配固定 IP地址的客户机名称
  hardware ethernet 00:c0:c3:22:46:81;		#指定该主机的 MAC地址
  fixed-address 20.0.0.110;				#指定保留给该主机的 IP地址
}

在这里插入图片描述

保存退出,重启dhcp服务

systemctl restart dhcpd

test2:重启网络后,查看IP地址

在这里插入图片描述

IP地址变为指定的IP地址。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/679695.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

R语言探索与分析18-基于时间序列的汇率预测

一、研究背景与意义 汇率是指两个国家之间的货币兑换比率,而且在国家与国家的经济交流有着举足轻重的作用。随着经济全球化的不断深入,在整个全球经济体中,汇率还是一个评估国家与国家之间的经济状况和发展水平的一个风向标。汇率的变动会对…

Thread Local六连问,你扛得住吗?

一、Thread Local 是什么? 线程本地变量。当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每个线程都可以独立地改变自己的副本,而不影响其他线程,做到了线程隔离。 二、Thread Local …

HTB 靶场 Mailing 未完待续

访问网页 在/etc/hosts 添加ip和域名 hosts 文件包含ip地址与主机名之间的映射,还包括主机的别名。 Linux系统所有程序查询/etc/hosts文件解析对主机名或者域名的IP地址。没有找到就需要使用DNS服务器解释域名。 DNS原理 1 输入域名,在本地缓存服务…

【工具】Vmware17 安装mac(13.6.7)虚拟机

目录 0.简介 1.环境 2.详细步骤 2.1下载mac镜像(可以选择你所需要的) 2.2 VMware安装 1)创建新的虚拟机 2)选择【典型】,点击下一步 3)选择【安装程序光盘映像文件】,点击浏览&#xff…

公派/自费访问学者申请出国访学的常见问题解答(下)

06、学术背景和研究成果要求? 访学是面向学术单位和企事业单位开放的。 针对学术单位,比如高校与科研院所,学科内涉及的论文发表,课题研究,专利,著作,含金量较高的奖项等背景都是国外比较看重…

rollup.js(入门篇)

前沿 Rollup 是一个用于 JavaScript 的模块打包工具,它将小的代码片段编译成更大、更复杂的代码,例如库或应用程序。它使用 JavaScript 的 ES6 版本中包含的新标准化代码模块格式,而不是以前的 CommonJS 和 AMD 等特殊解决方案。ES 模块允许…

亚马逊云,不想失去云计算的“铁王座”

文|白 鸽 编|王一粟 “生成式AI时代的黎明已经来临。” 亚马逊全球副总裁、亚马逊云科技大中华区总裁储瑞松在2024年亚马逊云中国科技峰会上,再次强调了生成式AI对于亚马逊云科技和整个行业的重要性。 事实上,从去年开始&a…

JVM 运行流程

JVM 是 Java 运行的基础,也是实现一次编译到处执行的关键,那么 JVM 是如何执行的呢? JVM 执行流程 程序在执行之前先要把java代码转换成字节码(class 文件), JVM 首先需要把字节码通过一定的 方式 类加…

独立游戏之路 -- 上架TapTap步骤和注意事项

个人开发者游戏上架TapTap上架步骤和注意事项 一、TapTap 介绍二、独立游戏上架 TapTap 的步骤2.1 创建游戏2.2 提交游戏审核2.3 TapTap 平台上发布。 三、注意事项3.1 关于备案3.2 遵守 TapTap 的规定3.3 保证游戏质量 四、常见问题4.1 隐私政策问题4.2 先发布还是先优化&…

Mybatis02-CRUD操作及配置解析

1、CRUD 1.namespace namespace中的包名要和Dao/Mapper 接口的包名一致! 1个Dao接口类对应1个mapper,也对应1个namespace, 1个Dao接口中的方法对应1个namespace中一个SQL语句 2.CRUD id:对应的namespace接口中的方法名resul…

【读书笔记】曼陀罗思考法

目录 1 起源2 路径示例——人生规划设计 3 分类3.1 扩展型“扩展型”曼陀罗——使用方法 3.2 围绕型 4 注意事项 1 起源 曼陀罗在梵文中意味着“圣地”,象征着宇宙的秩序和内心的神圣结构。 “曼陀罗思考法”,是由日本学者今泉浩晃发明的方法&#xff…

从零开始实现自己的串口调试助手(6) -换行问题

解决接收的自动换行 自动换行原因 --> 我们以append发送 会自动换行 换个api 即可 --> 我们换成 insertPlainText 添加自动换行 实现添加新行 修改的函数代码: on_btnSendContext_clicked void Widget::on_btnSendContext_clicked() {// const char * sendData ui->…

C#WPF数字大屏项目实战10--不良指标分页

1、区域划分 2、区域布局 3、视图模型 4、控件绑定 5、运行效果 走过路过,不要错过,欢迎点赞,收藏,转载,复制,抄袭,留言,动动你的金手指,财务自由

java常见api :Math System

一. Math类 1.定义在那个包 java.lang包下 2.作用 (1)是一个帮助我们用于进行数学计算的工具类 (2)私有化构造方法,所有的方法都是静态的 3.常用的方法 (1)获取绝对值 System.out.println(Math.abs(-88)); 取值范围: -2147483648到21…

工信部《工业和信息化领域数据安全风险评估实施细则(试行)》实行,行云管家数据产品助力企业数据安全

2024年6月1日,工信部颁布的《工业和信息化领域数据安全风险评估实施细则(试行)》(以下简称《细则》)开始实行,旨在引导工业和信息化领域数据处理者规范开展数据安全风险评估工作,提升数据安全管…

精打细算:可燃气体报警器检验收费的合理规划与管理

随着工业化的快速发展,可燃气体报警器已经成为各类工业场所不可或缺的安全设备。 它的主要功能是在可燃气体浓度超标时发出警报,有效预防和减少火灾、爆炸等安全事故的发生。 然而,为了确保报警器能够持续、准确地发挥作用,定期…

【Python】 Python单元测试入门:运行典型的测试目录结构

基本原理 单元测试是软件开发中不可或缺的一部分,它帮助开发者确保每个单元(通常是函数或类方法)在修改后仍然按预期工作。Python 的 unittest 模块提供了一套丰富的工具来帮助开发者编写和运行单元测试。 在 Python 项目中,一个…

godot的安装和使用 1

今天是第一节,因此呢先做godot的安装,其实很简单 godot官网:https://godotengine.org/ 进入官网, 安装好之后呢,会有两个文件 打开第一个就是可视化界面的,进入后是这个样子 说明安装成功了

try…except…finally语句

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 完整的异常处理语句应该包含finally代码块,通常情况下,无论程序中有无异常产生,finally代码块中的代码都会被执行…

实战:一款唯美的个人主页-home2.0-2024.6.4(测试成功)

目录 文章目录 目录实验软件前提条件效果说明1、背景2、配置1、克隆代码库2、配置并构建镜像3、部署测试方案1:从docker容器拷贝生成的静态文件放到网站/目录方案2:启动容器,nginx里配置反向代理(推荐) 4、访问 3、总结…