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

dhcp+checkkickstar的实验理解

文章目录

    • 实验介绍
    • 使用的服务介绍
      • PXE服务
      • dhcp服务
      • Kickstart 服务
      • tftp服务
    • 第一部分(基础部分)
        • 代码展示
        • 注意点
          • 第一点![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/13c0f4aabb664655a4dd285dd8e5527a.png)
          • 第二点
      • 结果展示
    • 第二部分(完整部分(升级版本))
      • 实验步骤:
      • 进入BIOS系统设置
    • 实验分析

实验介绍

本实验是dhcp+kickstar+ tftp服务的结合进行操作的,共分为两个部分。
第一部分(基础部分): 单纯的kickstar+dhcp服务,实现除镜像之外的,设置
第二部分(完整部分): 只需要在虚拟客户机的BIOS界面进行设置即可完成自动化配置,节省空间和步骤,提高自动化流程

使用的服务介绍

PXE服务

PXE(Preboot Execution
Environment,预启动执行环境)是一种由Intel开发的技术,它允许计算机通过网络启动,而不是从本地存储设备(如硬盘)启动。在运维领域,PXE服务常用于自动化操作系统安装、更新和维护

PXE服务的基本原理如下:

客户机请求网络启动:当客户机(通常是裸机服务器或没有操作系统的设备)开机或重启时,BIOS会检测到网络启动选项,并通过PXE协议向网络发送请求。

DHCP服务器分配IP地址:客户机通过PXE发出的请求会被DHCP(Dynamic Host Configuration
Protocol,动态主机配置协议)服务器接收,DHCP服务器会为客户机分配一个临时的IP地址,并提供必要的网络配置信息。

TFTP服务器提供引导文件:DHCP服务器还会告知客户机PXE引导文件的位置,客户机会通过TFTP(Trivial FileTransfer Protocol,简单文件传输协议)从TFTP服务器下载引导文件(如pxelinux.0)。

执行引导文件: 客户机下载并执行引导文件,该文件会加载必要的驱动程序和操作系统安装程序。

安装或更新操作系统: 根据配置,PXE引导过程可以启动操作系统安装过程,或者执行系统更新和维护任务。 在客户机从服务器下载资源的过程中,下载的资源(如引导文件、操作系统镜像等)通常存放在服务器上的共享存储空间中。具体来说:

TFTP服务器:PXE引导文件通常存放在TFTP服务器的指定目录下。TFTP服务器是一个简单的文件传输服务,用于在客户机和服务器之间传输小文件。

FTP或HTTP服务器: 对于较大的文件(如操作系统镜像),可能会使用FTP(File TransferProtocol,文件传输协议)或HTTP(HyperText Transfer Protocol,超文本传输协议)服务器来提供下载服务。这些服务器可以托管在独立的服务器上,或者与TFTP服务器集成在一起。

通过这种方式,运维人员可以集中管理和分发操作系统和软件更新,极大地简化了大规模系统部署和维护的工作流程。

dhcp服务

DHCP (Dynamic Host Configuration Protocol,动态主机配置协议)是一种用于自动分配和配置网络设备的 IP 地址和其他网络参数的协议。在 Linux
系统中,DHCP 服务通常由 dhcpd 守护进程负责管理和运行。

简述: 给客户机分发ip,实现更好的自动化管理的措施之一

主要功能
IP 地址分配: 为客户端分配可用的 IP 地址。
网络参数配置: 提供子网掩码、默认网关、DNS 服务器地址等网络参数。
租约管理: 管理 IP 地址的租约时间,确保地址的有效性和稳定性。
静态映射: 支持为特定设备分配固定 IP 地址(通过 MAC 地址绑定)。

Kickstart 服务

Kickstart 是一种自动化操作系统安装和配置的方法,主要用于 Red Hat Enterprise Linux (RHEL)
和其衍生版本(如 CentOS)的大规模部署。通过 Kickstart
服务,系统管理员可以预定义安装过程中需要回答的各种问题,从而实现无人值守的自动安装

tftp服务

TFTP(Trivial File Transfer
Protocol,简单文件传输协议)是一种用于在网络中传输文件的轻量级协议。它基于UDP(User Datagram
Protocol,用户数据报协议),提供了基本的文件传输功能,而不包含复杂的认证和交互机制。

在运维领域,TFTP服务主要用于以下场景:

网络设备配置文件备份和恢复: 许多网络设备(如路由器、交换机、防火墙等)支持通过TFTP服务备份和恢复配置文件。这样,运维人员可以方便地保存和还原设备的配置,以应对故障或配置错误。

操作系统安装和更新: TFTP服务可以用于在PXE(Preboot Execution Environment,预启动执行环境)环境中提供引导文件和操作系统镜像。客户机可以通过网络从TFTP服务器下载所需的文件来启动或安装操作系统。

固件升级: 一些设备(如打印机、服务器、存储设备等)支持通过TFTP服务升级固件。运维人员可以通过TFTP服务将新的固件文件传送到设备,以更新其软件版本。

文件共享和传输: 虽然TFTP协议本身没有复杂的文件权限和认证机制,但在一些简单的应用场景中,TFTP服务可以用于在不同设备之间共享和传输文件。

TFTP服务的主要特点包括:

简单性: TFTP协议非常简单,不包含复杂的认证和交互机制。这使得TFTP服务易于实现和使用,但也限制了它的功能和安全性。

无状态性 :TFTP服务是无状态的,即每个请求都是独立的,不依赖于前一个请求的结果。这使得TFTP服务具有良好的可扩展性和可靠性。

可靠性: 尽管TFTP协议本身没有内置的可靠性机制,但通过UDP协议的重传机制和TFTP自身的错误检测功能,TFTP服务在传输小文件时仍然具有较高的可靠性。

安全性 :由于TFTP协议没有内置的安全性机制,因此在使用TFTP服务时,通常需要结合其他安全措施(如防火墙、加密隧道等)来保护数据的安全

第一部分(基础部分)

操作步骤截图

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述之后保存退出,并检查语法,如下所示,我下面有输出就表示我42行的文件内容有误需更正
在这里插入图片描述

代码展示
在这里插入代码片这段代码是一个 Kickstart 文件(ks.cfg),用于自动化 Red Hat Enterprise Linux (RHEL) 或 CentOS 系统的安装过程。Kickstart 文件允许你预先定义安装过程中的各种选项,从而实现无人值守的自动安装。下面是对这段代码的逐行解释:#platform=x86, AMD64, or Intel EM64T 
#version=DEVEL 
# 这两行是注释,指定了平台类型和版本。这里假设是 x86、AMD64 或 Intel EM64T 架构,版本为开发版。# Install OS instead of upgrade
install 
# 指定安装新的操作系统而不是升级现有的操作系统。# Keyboard layouts
keyboard 'us' 
# 设置键盘布局为美国英语。 # Root password
rootpw --iscrypted $1$1Cfim.Jb$i6OWVI3oi8QSynjsz7HtK/
# 设置 root 用户的密码,密码已经被加密。# System language 
lang zh_CN 
# 设置系统语言为简体中文。# System authorization information 
auth  --useshadow  --passalgo=sha512 
# 使用影子密码文件,并指定密码哈希算法为 SHA-512。# Use text mode install 
text
# 使用文本模式进行安装,而不是图形界面。# SELinux configuration
selinux --enforcing 
# 启用 SELinux,并设置为强制模式。# Do not configure the X Window System
skipx
# 跳过 X Window System 的配置。# Firewall configuration
firewall --disabled
# 禁用防火墙。# Network information
network  --bootproto=dhcp --device=ens33 
# 设置网络配置为 DHCP,使用 ens33 网卡。# Reboot after installation
reboot 
# 安装完成后自动重启系统。# System timezone
timezone Asia/Shanghai 
# 设置系统时区为亚洲/上海。# Use network installation
url --url="http://172.25.253.9/mnt" 
#  指定网络安装源的 URL。这个地址和挂载目录根据自己的实际情况来# System bootloader configuration
bootloader --location=mbr 
# 在主引导记录(MBR)安装引导加载程序。# Clear the Master Boot Record 
zerombr
# 清除主引导记录,删除任何旧的引导加载程序。# Partition clearing information
clearpart --all --initlabel 
# 清除所有磁盘分区,并为磁盘初始化标签。# Disk partitioning information
part /boot --fstype="xfs"  --size=1024
part swap --fstype="swap"  --size=512 
part / --fstype="xfs" --grow --size=1 
# 创建分区:/boot 分区大小为 1024 MB,文件系统类型为 xfs;
# swap 分区大小为 512 MB;根分区 / 使用剩余空间,最小大小为 1 MB,
# 文件系统类型为 xfs。 %packages 
@base 
httpd 
%end 
# 指定安装的软件包组和单个软件包。
# 这里安装了基础软件包组和 httpd(Apache HTTP Server)。%post 
mkdir  -p /rhel7 echo mount /dev/cdrom  /rhel7 >> /etc/rc.d/rc.localchmod +x  /etc/rc.d/rc.localcat > /etc/yum.repos.d/rhel.repo << EOF 
[rhel7]
name=rhel7 
baseurl=file:///rhel7 
gpgcheck=0
EOFyum install gcc -y 
%end 
# %post 部分是在安装完成后执行的脚本。这里创建了一个目录 /rhel7,
# 并将挂载 CD-ROM 到该目录的命令添加到 /etc/rc.d/rc.local 文件中,
# 以便系统启动时自动挂载。然后修改了 rc.local 文件的权限,使其可执行。# 接着创建了一个本地 yum 仓库配置文件 rhel.repo,
# 最后使用 yum 安装了 gcc 编译器。 # 这个 Kickstart 文件定义了从网络安装 RHEL 或 CentOS 系统的整个过程,
# 包括分区、软件包选择以及安装后的配置任务。
# 通过使用这样的文件,可以大大简化大规模部署操作系统的工作。
注意点
第一点在这里插入图片描述

当服务配置完成之后,需要将/root/ks.cfg复制到/var/www/html的默认访问路径下面,并制作软链接 ,而后重启各类服务。而index.html是我自己做的一个默认页面,内容随意。

第二点

在这里插入图片描述
在配置分区的时候,只有根要选择grow,即立即代表分配、充满。其他的不需要,有就删掉。不然容易内存崩掉客户机无法启动

结果展示

运行可能需要几分钟甚至到10分钟不等,根据电脑配置和硬盘速率等因素决定,稍等即可让它跑完
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

第二部分(完整部分(升级版本))

实验步骤:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

此处的地址和目录是自己服务器的地址和目录,在kerner vmlinuz上面添加default 则默认开机选择第一个,然后把后面的default删掉

进入BIOS系统设置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个后面是循环执行,当第二遍的时候,需要改成硬盘启动

实验分析

本次实验是通过对应PEX技术的配置,模拟实现自动化远程控制客户机进行自动化安装配置的一个过程,从而展示出来了在对应大型网络系统的维护和部署方面的便捷性特点。

TFTP服务的注意事项和关键点
在Linux系统中,TFTP服务器的默认共享文件夹通常位于以下路径:
/var/lib/tftpboot,这个目录是TFTP服务器默认监听的目录,客户端可以通过TFTP协议从这些目录中下载所需的文件。
如果需要 修改也行,但建议不要动,尤其是初学阶段。
而后我们建立,pxelinux.cfg目录,将default文件cp进去进行配置我们的默认设置
在这里插入图片描述

dhcp关键点
在这里插入图片描述
其中的filename 定义了客户端应该下载的文件名,这个文件是PXE引导过程中的引导程序。在这种情况下,客户端将下载名为 pxelinux.0 的文件,这是SYSLINUX项目的一部分,用于引导Linux操作系统。

相关文章:

dhcp+checkkickstar的实验理解

文章目录 实验介绍使用的服务介绍PXE服务dhcp服务Kickstart 服务tftp服务 第一部分&#xff08;基础部分&#xff09;代码展示注意点第一点![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/13c0f4aabb664655a4dd285dd8e5527a.png)第二点 结果展示 第二部分&#xff08…...

Android网络安全:如何防止中间人攻击

文章目录 引言一、中间人攻击概述二、预防中间人攻击的方法2.1 使用HTTPS2.2 证书锁定&#xff08;Certificate Pinning&#xff09;2.3 使用SSL/TLS最佳实践2.4 验证主机名 三、总结 引言 中间人攻击&#xff08;Man-in-the-Middle&#xff0c;简称MITM&#xff09;是一种常见…...

NOI Linux 2.0 的安装说明以及使用指南

关于 NOI Linux 2.0 NOI Linux 是 NOI 竞赛委员会基于 Ubuntu 操作系统开发的一款 Linux 桌面发行版&#xff0c;是一套免费的、专门为信息学奥林匹克竞赛选手设计的操作系统&#xff0c;是 NOI 系列赛事指定操作系统&#xff0c;适用于常见笔记本电脑和桌面电脑。 新建虚拟机…...

07、MySQL-多表查询

目录 1、内连接 1.1 隐式内连接 1.2 显式内连接 2、外连接 2.1 左外连接 2.2 右外连接 3、自连接 4、联合查询 5、子查询 5.1 标量子查询 5.2 列子查询 5.3 行子查询 5.4 表子查询 1、内连接 概念&#xff1a;相当于查询A、B表交集的部分数据 1.1 隐式内连接 语法&…...

20240809 每日AI必读资讯

乒乓球AI机器人赢了人类&#xff01;正反手灵活转换&#xff0c;擦网球高球都能接 - 谷歌发布首个达到人类竞技水平的机器人Agent&#xff0c;挑战乒乓球赛场。 - 机器人通过学习大量乒乓球状态数据&#xff0c;掌握了正手上旋球、反手瞄准等技能&#xff0c;展现出高速运动…...

《投资的原理》阅读笔记一

这是我准备集中学习投资类书籍后阅读的第8本书&#xff0c;但是是第一本读到一半决定从新开始、每章都写笔记的第一本书。 《投资的原理》的作者陈嘉禾先生是一位资深的价值投资者&#xff0c;书中也是大力弘扬着价值投资&#xff0c;跟我倾向于量化投资方向的想法并不合拍&am…...

金九银十,全网最详细的软件测试面试题总结

前面看到了一些面试题&#xff0c;总感觉会用得到&#xff0c;但是看一遍又记不住&#xff0c;所以我把面试题都整合在一起&#xff0c;都是来自各路大佬的分享&#xff0c;为了方便以后自己需要的时候刷一刷&#xff0c;不用再到处找题&#xff0c;今天把自己整理的这些面试题…...

ActiveMQ任意文件写入漏洞(CVE-2016-3088)复现

一.环境配置 腾讯云的ubuntu操作系统&#xff0c;已经安装有docker 和 vulhub 直接来到 启动环境docker-compose&#xff0c;要在root权限下运行。 docker-compose up -d 若出现等待时间过长的情况&#xff0c;请参考这篇文章http://t.csdnimg.cn/SYhbE 访问http://公网ip:8…...

网络协议四 物理层,数据链路层

从这一节开始学习 五层模型。学习方法是从最底层物理层开始学习 七层模型 五层模型 各个层用的协议&#xff0c;以及加上协议后的称谓 各个层的作用 应用层&#xff1a;可以认为是原始数据&#xff0c;该数据称为 报文&#xff0c;用户数据。 运输层&#xff1a;也叫传输层&am…...

Python知识点:如何使用Twisted进行异步网络编程

Twisted是一个事件驱动的网络编程框架&#xff0c;支持异步编程&#xff0c;适用于处理大量并发网络连接的应用。使用Twisted进行异步网络编程可以分为以下几个步骤&#xff1a; 安装Twisted&#xff1a; 首先需要安装Twisted库&#xff0c;可以使用pip进行安装&#xff1a; pi…...

循环神经网络

一、RNN神经网络 基本网络结构 RNN神经网络数学模型 RNN反向传播 二、LSTM神经网络 LSTM的遗忘门 对数据进行筛选&#xff0c;有的抛弃&#xff0c;有的保留 LSTM的输入门 LSTM输出门 LSTM缓解RNN梯度消失问题...

SQL进阶技巧:有序数据合并问题之如何按照指定的规则对数据进行合并?【详解collect_list函数有序性保证】

目录 0 问题描述【小红书面试题】 1 数据准备 2 问题分析 3 小结 0 问题描述【小红书】 有如下需求,需要将左边的表变换成右边的表,注意字段内容的顺序及对应内容的一致性。 第一个字段为name,第二个字段为subject,第三个字段为score,变换后要求subject按照语文、数学…...

windows和office微软官方免费激活教程

微软提供了windows系统和office的官方免费激活&#xff0c;其实不用去买什么激活码&#xff0c;官方提供了激活方式&#xff0c;完全免费。目前测试没发现什么问题&#xff0c;windows还支持永久激活&#xff0c;比一些乱七八糟的kms激活工具还省心。 github地址&#xff1a;Gi…...

【C++ 面试 - 基础题】每日 3 题(七)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…...

Java面试题精选:消息队列(一)

1、为什么使用消息队列 问题用意&#xff1a; 其实就是想问一下消息队列有哪些使用场景&#xff0c;你项目中什么业务场景用到了消息队列&#xff0c;有什么技术挑战。使用MQ后给你带来了什么好处 规范回答&#xff1a; 消息队列的常见使用场景很多&#xff0c;但比较核心的…...

宝塔面板启用 QUIC 与 Brotli 的完整教程

环境 系统&#xff1a;Ubuntu 22.04.4 LTS x86_64 宝塔版本&#xff1a;7.7.0 (可使用本博客提供的一键安装优化脚本) nginx版本&#xff1a;1.26.1 开放UDP端口 注意&#xff1a;在你的服务器商家那里也要开放443 udp端口 sudo ufw allow 443/udp然后重新加载 UFW 以使新…...

Linux 进程调度(二)之进程的上下文切换

目录 一、概述二、上下文切换的实现1、context_switch2、switch_mm3、switch_to 三、观测进程上下文切换 一、概述 进程的上下文切换是指在多任务操作系统中&#xff0c;当操作系统决定要切换当前运行的进程时&#xff0c;将当前进程的状态保存起来&#xff0c;并恢复下一个要…...

Oracle事物临时表

在Oracle数据库中&#xff0c;事务临时表是一种特殊的表类型&#xff0c;主要用于存储在事务处理过程中产生的临时数据。这些表的数据只对当前会话或事务可见&#xff0c;并且在事务结束时会自动清除。 事务临时表的特点 生命周期&#xff1a; 事务临时表中的数据在事务提交或…...

看图学sql之sql的执行顺序

学完前面的内容&#xff0c;我们已经掌握了基本的sql语法了&#xff0c;那我们学的 select, distinct, from, where,group by, having, order by, limit 他们具体的执行顺序是什么样的呢&#xff1f; 语法&#xff1a; SELECT distinct column1, column2 FROM table1 join …...

百日筑基第四十五天-从JAVA8走到JAVA9

JAVA9新特性 Java 9发布于 2017 年 9 月 21 日 。 快速创建不可变集合 增加了List.of()、Set.of()、Map.of() 和 Map.ofEntries()等工厂方法来创建不可变集合&#xff08;有点参考 Guava 的味道&#xff09;&#xff1a; List.of("Java", "C"); Set.of…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

小木的算法日记-多叉树的递归/层序遍历

&#x1f332; 从二叉树到森林&#xff1a;一文彻底搞懂多叉树遍历的艺术 &#x1f680; 引言 你好&#xff0c;未来的算法大神&#xff01; 在数据结构的世界里&#xff0c;“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的&#xff0c;它…...

《信号与系统》第 6 章 信号与系统的时域和频域特性

目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...

STM32标准库-ADC数模转换器

文章目录 一、ADC1.1简介1. 2逐次逼近型ADC1.3ADC框图1.4ADC基本结构1.4.1 信号 “上车点”&#xff1a;输入模块&#xff08;GPIO、温度、V_REFINT&#xff09;1.4.2 信号 “调度站”&#xff1a;多路开关1.4.3 信号 “加工厂”&#xff1a;ADC 转换器&#xff08;规则组 注入…...

node.js的初步学习

那什么是node.js呢&#xff1f; 和JavaScript又是什么关系呢&#xff1f; node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说&#xff0c; 需要在node.js的环境上进行当JavaScript作为前端开发语言来说&#xff0c;需要在浏览器的环境上进行 Node.js 可…...

算法250609 高精度

加法 #include<stdio.h> #include<iostream> #include<string.h> #include<math.h> #include<algorithm> using namespace std; char input1[205]; char input2[205]; int main(){while(scanf("%s%s",input1,input2)!EOF){int a[205]…...