当前位置: 首页 > news >正文

CentOS8.5.2111(3)实验之DHCP服务器架设

一、实验目标

1.掌握DHCP服务器的主配置文件各项申明参数及操作及其含义

2. 具备DHCP 服务器、中继服务器的配置能力

3. 具备测试客户端正常获取服务器分配地址的能力

4. 具备DHCP服务器故障排除能力

二、实训原理/流程

(一)项目背景
  1. 公司内部存在两个子网,分别为192.168.10.0/24,192.168.100.0/24,现在需要使用一台DHCP服务器为这两个子网客户机分配IP地址。如图3.1所示。

图 3.1

各服务器地址分配

操作系统

IP地址

dhcp-server

RHEL 8

192.168.学号.23VMnet1

dhcp-relay

RHEL8

IP1:192.168.学号.24VMnet1

IP2:192.168.100.1VMnet8

客户端:Client1

RHEL8

自动获取VMnet8

客户端:物理机的VMnet1

自动获取

(二)任务要求:

1. 配置DHCP服务器多作用域。

2. 配置DHCP中继服务。

3. 客户端验证测试。

(三)实验步骤:

   1.请保证物理机连上互联网的情况下,在dhcp-serverdhcp-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. 客户端验证

1)编辑网络编辑器,将VMnet0VMnet10如下设置:


      

vmnet 0同理设置,不再赘述。

 (2)在物理机上设置VMnet10为自动获取,禁用网卡后再启用,然后观察状态栏地址、网关等信息是否为dhcp-server分配地址。

在宿主机,选中中vmnet10,如下图

图 7.2

然后再cmd里用ipconfig /all查看

  1. 在Client客气端上用nmtui 设置网卡IP地址为自动获取,并激活网卡;
  2. 查看获取的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,配置文件&#xf…...

网络工程师指南:防火墙配置与管理命令大全,零基础入门到精通,收藏这一篇就够了

本指南详细介绍了防火墙的配置与管理命令,涵盖了防火墙的工作原理、常见配置命令、安全策略与访问控制、日志管理与故障排查,并通过实战案例展示了如何有效防御网络攻击。通过学习本指南,网络工程师能够系统掌握防火墙的配置与管理技能&#…...

英特尔终于找到了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毫秒)记录一次系统时间到文件中,并具备以下功能: 自定义时间间隔和文件名:通…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)&#xff…...

android13 app的触摸问题定位分析流程

一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...

【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)

LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...

Python 训练营打卡 Day 47

注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...