CentOS8.5.2111(3)实验之DHCP服务器架设
一、实验目标
1.掌握DHCP服务器的主配置文件各项申明参数及操作及其含义
2. 具备DHCP 服务器、中继服务器的配置能力
3. 具备测试客户端正常获取服务器分配地址的能力
4. 具备DHCP服务器故障排除能力
二、实训原理/流程
(一)项目背景
- 公司内部存在两个子网,分别为192.168.10.0/24,192.168.100.0/24,现在需要使用一台DHCP服务器为这两个子网客户机分配IP地址。如图3.1所示。

图 3.1
各服务器地址分配
| 主 机 名 称 | 操作系统 | IP地址 |
| dhcp-server | RHEL 8 | 192.168.学号.23(VMnet1) |
| dhcp-relay | RHEL8 | IP1:192.168.学号.24(VMnet1) IP2:192.168.100.1(VMnet8) |
| 客户端:Client1 | RHEL8 | 自动获取(VMnet8) |
| 客户端:物理机的VMnet1 | 自动获取 |
(二)任务要求:
1. 配置DHCP服务器多作用域。
2. 配置DHCP中继服务。
3. 客户端验证测试。
(三)实验步骤:
1.请保证物理机连上互联网的情况下,在dhcp-server、dhcp-relay两台服务器上安装DHCP服务软件包,以便后续使用。
| [root@dhcpsvr ~]# rpm -qa|grep dhcp dhcp-libs-4.3.6-45.el8.x86_64 dhcp-common-4.3.6-45.el8.noarch dhcp-server-4.3.6-45.el8.x86_64 |
如果没有安装,安装dhcp-servers
| dnf install -y dhcp-server |
在DHCP服务器上添加网关
| route add default gw 192.168.0.24 //route del default gw 192.168.0.24 设错了删除的方法 |
在dhcp-relay上安装除了安装dhcp-server还要安装dhcp-relay。
2. 将防火墙实验中外部client虚拟机名称改为client,中继服务器名称改为relay、内部ssh名称改为dhcpsvr,以免混淆。
3. 分别按上表“各服务器地址分配”的网卡连接方式、IP地址设置等,并激活网卡。Client上改为自动获取。
请分析三台设置的连通性。
//dhcp服务器可以ping通relay的两个接口vmnet0和vmnet10,但客户端client是无法ping通dhcp服务器的。
4.dhcp-server上配置多作用域
(1)查看dhcp主配置文件
| [root@dhcpsvr ~]# |

(2)复制样例文件到主配置文件
| [root@dhcpsvr ~]# cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf |
(3) 配置DHCP主配置文件
| [root@dhcp-server ~]# vi /etc/dhcp/dhcpd.conf //以192.168.0.0 和192.168.100.0 两个网段为例: ddns-update-style none; default-lease-time 21600; max-lease-time 43200; subnet 192.168.0.0 netmask 255.255.255.0 { range dynamic-bootp 192.168.0.31 192.168.0.88; option domain-name-servers 192.168.0.1; option domain-name "zlxie.com.cn"; //自已定义一个域名 option routers 192.168.0.2; } subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.31 192.168.100.88; option domain-name-servers 192.168.100.1; option domain-name "ruolan.com.cn"; //自已定义一个域名 option routers 192.168.100.2; } |
重要提醒:1. 除花括号外,每句后面都有;号(半角)
2. 确保网卡ip与地址池在同一网段
(4) 启动DHCP服务,并让系统启动时自动加载DHCP服务
| [root@dhcpsvr ~]# systemctl start dhcpd [root@dhcpsvr ~]#systemctl enable dhcpd |
5.配置DHCP中继代理和网关服务器relay
(1)配置网卡IP地址。(前面已配置则免去此步)
(2)启用IPv4的转发功能,设置net.ipv4.ip_forward数值为1。
| [root@relay ~]## vi /etc/sysctl.conf net.ipv4.ip_forward = 1 //由“0”改为“1” [root@relay ~]#sysctl -p //启用转发功能 [root@ relay ~]# cat /proc/sys/net/ipv4/ip_forward 1 |
(3)配置中继代理
中继代理默认不转发客户端的请求,需要使用dhcrelay指定DHCPserver的位置
| [root@relay ~]# cp /lib/systemd/system/dhcrelay.service /etc/systemd/system/ [root@relay ~]# cd /etc/systemd/system/ [root@relay ~]system]# vim dhcrelay.service [Service] ExecStart=/usr/sbin/dhcrelay -d --no-pid 192.168.学号.23 |

保存后退出。执行以下命令:
| [root@relay ~ system]# systemctl --system daemon-reload //重载配置信息 [root@relay ~]# systemctl restart dhcrelay //启动DHCP中继 [root@relay ~]# systemctl enable dhcrelay //设置随系统启动 |
- 客户端验证
(1)编辑网络编辑器,将VMnet0、VMnet10如下设置:
vmnet 0同理设置,不再赘述。
(2)在物理机上设置VMnet10为自动获取,禁用网卡后再启用,然后观察状态栏地址、网关等信息是否为dhcp-server分配地址。
在宿主机,选中中vmnet10,如下图
图 7.2
然后再cmd里用ipconfig /all查看

- 在Client客气端上用nmtui 设置网卡IP地址为自动获取,并激活网卡;
- 查看获取的ip地址、网关、域名系统



(5)观察dhcp-server上应答客户端报文情况:

实验成功完成。
撰写报告,将主配置文件即结果截图
将中继代理开启路由转发功能截图、配置中继、启动中继等截图;
WINDOWS客户端验证截图;
Centos客户端验证截图;
dhcp-server上应答客户端报文截图。
所有截图需要有步骤说明,即结果分析。
相关文章:
CentOS8.5.2111(3)实验之DHCP服务器架设
一、实验目标 1.掌握DHCP服务器的主配置文件各项申明参数及操作及其含义 2. 具备DHCP 服务器、中继服务器的配置能力 3. 具备测试客户端正常获取服务器分配地址的能力 4. 具备DHCP服务器故障排除能力 二、实训原理/流程 (一)项目背景 …...
机器学习(4):机器学习项目步骤(一)——定义问题
1. 机器学习项目的五大步骤 定义问题 收集数据和预处理 选择算法和确定模型 训练拟合模型 评估优化模型性能 2. 定义问题的主要任务 刨析业务场景,设定清晰目标,同时还要确定当前问题属于哪一种机器学习类型。 3. “易速鲜花”项目案例 项目任务&a…...
C#中Socket通信常用的方法
创建Socket 在C#中创建一个Socket对象的基本步骤如下: 引入命名空间: 首先,确保你的文件顶部包含了以下命名空间的引用: using System.Net; using System.Net.Sockets; 创建Socket实例: 你可以创建一个Socket实例&am…...
【JavaEE】——单例模式引起的多线程安全问题:“饿汉/懒汉”模式,及解决思路和方法(面试高频)
阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你! 目录 一:单例模式(singleton) 1:概念 二:“饿汉模…...
huggingface实现中文文本分类
目录 1 自定义数据集 2 分词 2.1 重写collate_fn方法 3 用BertModel加载预训练模型 4 模型试算 5 定义下游任务 6 训练 7 测试 #导包 import torch from datasets import load_from_disk #用于加载本地磁盘的datasets文件 1 自定义数据集 #自定义数据集 #…...
基于python+控制台+txt文档实现学生成绩管理系统(含课程实训报告)
目录 第一章 需求分析 第二章 系统设计 2.1 系统功能结构 2.1.1 学生信息管理系统的七大模块 2.1.2 系统业务流程 2.2 系统开发必备环境 第三章 主函数设计 3.1 主函数界面运行效果图 3.2 主函数的业务流程 3.3 函数设计 第四章 详细设计及实现 4.1 学生信息录入模块的设计与实…...
Spring Boot 整合MyBatis-Plus 实现多层次树结构的异步加载功能
文章目录 1,前言2,什么是多层次树结构?3,异步加载的意义4,技术选型与实现思路5,具体案例5.1,项目结构5.2,项目配置(pom.xml)5.3,配置文件…...
网络工程师指南:防火墙配置与管理命令大全,零基础入门到精通,收藏这一篇就够了
本指南详细介绍了防火墙的配置与管理命令,涵盖了防火墙的工作原理、常见配置命令、安全策略与访问控制、日志管理与故障排查,并通过实战案例展示了如何有效防御网络攻击。通过学习本指南,网络工程师能够系统掌握防火墙的配置与管理技能&#…...
英特尔终于找到了Raptor Lake处理器崩溃与不稳定问题的根源
技术背景 在过去的几个月里,一些用户报告称他们的第13代和第14代Intel Core“Raptor Lake”处理器遇到了系统崩溃和不稳定的情况。这些问题最初在2024年7月底被英特尔识别出来,并且初步的诊断显示,这些问题与微码有关,该微码使CP…...
Shp2pb:Shapefile转Protocol Buffers的高效工具
Shp2pb是一个实用工具,专门用于将Shapefile(shp)格式转换为Protocol Buffers(protobuf)文件。这对于以更高效、更紧凑的方式处理地理数据特别有用。以下是关于如何安装和使用Shp2pb工具的详细说明,以及一个…...
Elasticsearch使用Easy-Es + RestHighLevelClient实现深度分页跳页
注意!!!博主只在测试环境试了一下,没有发到生产环境跑。因为代码还没写完客户说不用弄了( •̩̩̩̩_•̩̩̩̩ ) 也好,少个功能少点BUG 使用from size的时候发现存在max_result_window10000的限制&…...
基于ASRPRO的语音应答
做这个的起因是为了送女朋友,而且这东西本身很简单,所以在闲暇之余尝试了一下。 这个工程很简单,只通过对ASRPRO进行编程即可。 先看效果。(没有展示所有效果,后续会列出来所有对话触发) 语音助手示例1 语音助手示例2 代码部分使用天文Block编辑,找了一圈好像只…...
3D看车汽车案例,车模一键换皮肤,开关车门,轴距,电池功能
3D 汽车案例 网址: http://car.douchuanwei.com/...
数据结构-4.栈与队列
本篇博客给大家带来的是栈和队列的知识点, 其中包括两道面试OJ题 用队列实现栈 和 用栈实现队列. 文章专栏: Java-数据结构 若有问题 评论区见 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条, 如果分享不成功, 那我就会回你一下,那样你就分享成功啦. 你们的…...
芝士AI写作有什么特色? 大模型支撑,智能改写续写,让写作更轻松
又到了一年的毕业季,大学四年眨眼间匆匆就过去了,毕业,求职,考研,工作,升学,但是在这之前,我们必须要完成论文的写作,这也是每一位大学生都必须要面对~ 芝士AI官网&…...
【计网】从零开始学习http协议 --- http的请求与应答
如果你不能飞,那就跑; 如果跑不动,那就走; 实在走不了,那就爬。 无论做什么,你都要勇往直前。 --- 马丁路德金 --- 从零开始学习http协议 1 什么是http协议2 认识URL3 http的请求和应答3.1 服务端设计…...
记录linux环境下搭建本地MQTT服务器实现mqtt的ssl加密通讯
1、ubuntu安装mosquitto sudo apt-get update//安装服务端 sudo apt-get install mosquitto//安装客户端 sudo apt-get install mosquitto-clients 2、安装openssl 3、mqtts/tls加密传输 mosquitto原生支持了TLS加密,TLS(传输层安全)是SSL&…...
基于python+django+vue的电影数据分析及可视化系统
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…...
HJ50-四则运算:栈的运用、中缀表达式转后缀表达式并计算结果
文章目录 题目一、分析1.1表达式预处理1.2中缀表达式转后缀1.3 后缀表达式计算结果 二、答案 题目 一、分析 通过利用栈将中缀表达式转换为后缀表达式,在根据后缀表达式计算运算结果。由于包含负数操作数的情况,并且操作数位数不固定为1,因此…...
C++编程:实现简单的高精度时间日志记录小程序
0. 概述 为了检查是否存在系统时间跳变,本文使用C实现了一个简单的高精度时间日志记录小程序。该程序能够每隔指定时间(默认40毫秒)记录一次系统时间到文件中,并具备以下功能: 自定义时间间隔和文件名:通…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
