Linux实验记录:使用DHCP动态管理主机地址

前言:

本文是一篇关于Linux系统初学者的实验记录。

参考书籍:《Linux就该这么学》

实验环境:

VmwareWorkStation 17——虚拟机软件

RedHatEnterpriseLinux[RHEL]8——红帽操作系统

备注:

  动态主机配置协议(DHCP,Dynamic Host Configuration Protocol),该协议用于自动管理局域网内主机的IP地址、子网掩码、网关地址及DNS地址等参数,可以有效地提升IP地址的利用率,提高配置效率,并降低管理与维护成本。

  动态主机配置协议(DHCP)是一种基于UDP协议且仅限于在局域网内部使用的网络协议,主要用于大型局域网环境或者存在较多移动办公设备的局域网环境中,用途是为局域网内部的设备或网络供应商自动分配IP地址等参数。

正文 :

  常见术语:

作用域:一个完整的IP地址段,DHCP根据作用域来管理网络的分布、IP地址的分配及其他配置参数。

超级作用域:用于管理处于同一个物理网络中的多个逻辑子网段,它包含了可以统一管理的作用域列表。

排除范围:把作用域中的某些IP地址排除,确保这些IP地址不会分配给DHCP客户端。

地址池:在定义了DHCP的作用域并应用了排除范围后,剩余的用来动态分配给客户端的IP地址范围。

租约:DHCP客户端能够使用动态分配的IP地址的时间。

预约:保证网络中的特定设备总是获取到相同的IP地址。

目录

前言:

备注:

正文 :

实验1:部署DHCP服务程序

实验2:自动管理IP地址

实验3:分配固定IP地址


 

实验1:部署DHCP服务程序

dnf install -y dhcp-server
cat /etc/dhcp/dhcpd.conf

 一个标准的配置文件应该包括全局配置参数、子网网段声明、地址配置选项以及地址配置参数。

其中,全局配置参数用于定义dhcpd服务程序的整体运行参数;子网网段声明用于配置整个子网段的地址属性。

实验2:自动管理IP地址

  DHCP的设计初衷是为了更高效地集中管理局域网内的IP地址资源。DHCP服务器会自动把IP地址、子网掩码、网关、DNS地址等网络信息分配给有需要的客户端,而且当客户端的祖约时间到期后还可以自动回收所分配的I地址,以便交给新加入的客户端。

  模拟情景:

  机房运营部门:明天100人来,保证他们的电脑使用机房的本地DHCP服务器自动获取IP并正常上网。

机房用的网络地址及参数信息:

参数名称
默认租约时间21600秒
最大租约时间43200秒
IP地址范围192.168.10.50~192.168.10.150
子网掩码255.255.255.0
网关地址192.168.10.1
DNS服务器地址192.168.10.1
搜索域linuxprobe.com
主机类型操作系统IP地址
DHCP服务器RHEL 8192.168.10.1
DHCP客户端Windows 7使用DHCP自动获取

   作用域一般是个完整的IP地址段,而地址池中的IP地址才是真正供客户端使用的,因此地址池应该小于或等于作用域的IP地址范围。

由于VMware Workstation虚拟机软件自带DHCP服务,为了避免冲突,因该先将该功能关闭。

vim /etc/dhcp/dhcpd.conf
ddns-update-style none;
ignore client-updates;
subnet 192.168.10.0 netmask 255.255.255.0 {
        range 192.168.10.50 192.168.10.150;
        option subnet-mask 255.255.255.0;
        option routers 192.168.10.1;
        option domain-name "linuxprobe.com";
        option domain-name-servers 192.168.10.1;
        default-lease-time 21600;
        max-lease-time 43200;
}
systemctl start dhcpd
systemctl enable dhcpd

 现在在客户端就可以检查DHCP分配到的网卡信息了:

实验成功。 

如果在生成环境中配置DHCP服务,则有可能会因为DHCP没有被防火墙放行而失败,此时:

firewall-cmd --zone=public --permanent --add-service=dhcp
firewall-cmd --reload

正常情况下,DHCP的运作会经历4个过程:请求、提供、选择和确认。

当客户端获取得到一个IP地址及相关的网络信息后,就会发送一个ARP(Address Resolution Protocol,地址解析协议)请求给服务器。

在DHCP服务程序收到这条信息后,也不会再把这个Ip地址分配给其他主机,从根源上避免了IP地址冲突。 

实验3:分配固定IP地址

  术语“预约”,它用来确保局域网中特定的设备总是获取到固定的IP地址。

DHCP服务程序会把某个IP地址隐藏下来,只将其用于匹配特定的设备。

要想把某个IP地址与某台主机进行绑定,就需要用到这台主机的MAC地址。

这个MAC地址即网卡上一串独立的标识符,具备唯一性,因此不会存在冲突的情况。

查看mac地址:

 

vim /etc/dhcp/dhcpd.conf
        host linuxprobe {
                hardware ethernet 00:0c:29:a3:0c:18;
                fixed-address 192.168.10.88;
                }

 禁用后再启用:

 

实验完成: 

 

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

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

相关文章

MongoDB从入门到实战之Docker快速安装MongoDB

前言 在上一篇文章中带领带同学们快速入门MongoDB这个文档型的NoSQL数据库,让大家快速的了解了MongoDB的基本概念。这一章开始我们就开始实战篇教程,为了快速把MongoDB使用起来我将会把MongoDB在Docker容器中安装起来作为开发环境使用。然后我这边MongoD…

关于RabbitMQ面试题汇总

什么是消息队列?消息队列有什么用? 消息队列是一种在应用程序之间传递消息的通信机制。它是一种典型的生产者-消费者模型,其中生产者负责生成消息并将其发送到队列中,而消费者则从队列中获取消息并进行处理。消息队列的主要目的是…

【无标题】卫星数据链开发平台设计方案:522-基于AD9988的四通道1G带宽卫星数据链开发平台基于AD9988的四通道1G带宽卫星数据链开发平台

卫星数据链开发平台设计方案:522-基于AD9988的四通道1G带宽卫星数据链开发平台 基于AD9988的四通道1G带宽卫星数据链开发平台 一、卫星数据链综 卫星通信是卫星互联网的重要应用之一,主要指通过或借助卫星进行数据通信,可广泛应用于移…

紫光展锐摘得多项行业桂冠,综合实力获认可

近期,紫光展锐凭借在技术和产品创新领域的实力和成果,接连斩获多项行业重要荣誉。 紫光展锐首颗5G NTN-IoT卫星通信SoC芯片V8821荣获第11届手机设计大赛天鹅奖“2023年度最佳终端解决方案奖”、2023年度ICT产业龙虎“2023年度最佳5G技术创新”、2023年度…

【机器学习】基于集成学习的 Amazon 用户评论质量预测

实验六: 基于集成学习的 Amazon 用户评论质量预测 1 案例简介 ​ 随着电商平台的兴起,以及疫情的持续影响,线上购物在我们的日常生活中扮演着越来越重要的角色。在进行线上商品挑选时,评论往往是我们十分关注的一个方面。然而目前电商网站的…

论文阅读——MP-Former

MP-Former: Mask-Piloted Transformer for Image Segmentation https://arxiv.org/abs/2303.07336 mask2former问题是:相邻层得到的掩码不连续,差别很大 denoising training非常有效地稳定训练时期之间的二分匹配。去噪训练的关键思想是将带噪声的GT坐标…

对象存储minio

参考Linux搭建免费开源对象存储 wget https://dl.minio.io/server/minio/release/linux-amd64/minio yum install -y wget yum install -y wget wget https://dl.minio.io/server/minio/release/linux-amd64/minio chmod x minio sudo mv minio /usr/local/bin/ minio --vers…

编译DuiLib库遇到的变量定义位置问题

C89 规定,所有局部变量都必须定义在函数开头,在定义好变量之前不能有其他的执行语句; C99 标准取消这这条限制,但是 VC/VS 对 C99 的支持不是很积极; C99 是 C89 的升级版; 如图是修改之后的代码&#xff1…

海光--性能领先实干者

这是ren_dong的第26篇原创 1、概述 国产X86 CPU领航者 海光信息是一家从事高端处理器、加速器等计算芯片产品和系统研发的公司 ,是国产X86 CPU领航者海光处理器兼容市场主流的 X86 指令集,具有成熟而丰富的应用生态环境公司股权结构合理 ,聚集…

python复制别人的虚拟环境

虚拟环境的结构 一个项目的虚拟环境是由以下组成的,如下图: 其中Lib文件夹里存放的就是我们安装的一些第三方库,Scripts文件夹很重要,它里面的activate文件是用于激活虚拟环境的,还有pyvenv.cfg文件是这个虚拟环境的…

第8节、双电机多段直线运动【51单片机+L298N步进电机系列教程】

↑↑↑点击上方【目录】,查看本系列全部文章 摘要:前面章节主要介绍了bresenham直线插值运动,本节内容介绍让两个电机完成连续的直线运动,目标是画一个正五角星 一、五角星图介绍 五角星总共10条直线,10个顶点。设定左下角为原点…

seata分布式事务

文章目录 1、分布式事务1.1 事务的ACID原则原子性一致性隔离性持久性 1.2 分布式事务的问题示例代码准备环境1. seata_demo数据库2. 启动nacos seata-demo父工程pom.xml order-servicepom.xmlapplication.ymlOrderApplicationOrderControllerOrderServiceImplAccountClientStor…

leetcode1079:游戏玩法分析——求留存率

求留存率 题目描述题解 题目描述 表:Activity --------------------- | Column Name | Type | --------------------- | player_id | int | | device_id | int | | event_date | date | | games_played | int | --------------------- (player_id&…

用的到的linux-删除文件-Day3

前言: 上一节,我们讲到了怎么去移动文件,其中使用到两大类的脚本命令即cp和mv。各两种命令都可以完成移动,但是cp是复制粘贴的方式,可以选择原封不动的复制粘贴过来,即不修改文件及文件夹的创建时间等&…

项目 高并发内存池

目录 项目背景 项目介绍 定长内存池 定长内存池整体架构 New 方法 Delete 方法 线程缓存 TLS 线程缓存整体结构 FreeList 设计 线程缓存模型 Allocate 申请内存 计算对齐大小 计算映射位置 申请内存流程 申请内存时创建线程缓存 中心缓存 中心缓存模型 中心…

从零开始手写mmo游戏从框架到爆炸(一)— 开发环境

一、创建项目 1、首先创建一个maven项目&#xff0c;pom文件如下&#xff1a; <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0…

LeetCode 热题 100 | 链表(中下)

目录 1 19. 删除链表的倒数第 N 个节点 2 24. 两两交换链表中的节点 3 25. K 个一组翻转链表 4 138. 随机链表的复制 菜鸟做题第三周&#xff0c;语言是 C 1 19. 删除链表的倒数第 N 个节点 到底是节点还是结点。。。 解题思路&#xff1a; 设置双指针 left 和 ri…

Vue代理模式和Nginx反向代理(Vue代理部署不生效)

在使用axios时&#xff0c;经常会遇到跨域问题。为了解决跨域问题&#xff0c;可以在 vue.config.js 文件中配置代理&#xff1a; const { defineConfig } require(vue/cli-service) module.exports defineConfig({transpileDependencies: true,devServer: {port: 7070,prox…

Unity3D实现项目限制功能(使用次数限制和时间限制)

系列文章目录 unity工具 文章目录 系列文章目录前言一、时间限制1-1、代码如下&#xff1a; 二、次数限制2-1、 在Unity项目中需要对注册表进行操作&#xff0c;还需要设置一下API兼容级别设置成 .NET Framework2-2、设置如下图 Player里面2-3、代码如下&#xff1a; 三、同时…

python学习21

前言&#xff1a;相信看到这篇文章的小伙伴都或多或少有一些编程基础&#xff0c;懂得一些linux的基本命令了吧&#xff0c;本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python&#xff1a;一种编程语言&…