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

【文档】搭建 TFTP 服务器

操作系统:RockyLinux8
实验环境:VMware® Workstation 17 Pro

流程


TFTP 服务器做什么:存储引导文件、安装文件

# 安装 TFTP 服务 + 引导文件(syslinux)
# tftp-server:TFTP 服务
# syslinux:提供 PXE 引导文件 pxelinux.0 等内容
# xinetd(可选):管理 TFTP 服务
[root@TFTP ~]# yum install -y tftp-server syslinux xinetd vsftpd

配置 | TFTP 服务项


01 传统方式 | xinetd 管理 TFPT 服务

问:为什么 xinted 可选安装?
答:xinetd 不属于 PXE 环境中的必须组件。

在过往历史中主用于管理 TFTP 服务。见下文配置文件。
主对 TFTP 服务进行简化配置。并不阻碍批量部署。 —— 适用于老旧硬件资源有限下的部署

在多物理设备批量部署环境下,须设置配置文件启用并允许多客户端同时访问。同时设置独立的目录用于小型文件的传输。

# 配置 TFTP 服务
[root@TFTP ~]# vim /etc/xinetd.d/tftp
service tftp                                           # 服务名称
{socket_type    = dgram                         # TFTP 协议标准protocol       = udp                           # 规定要求wait           = no                            # 允许多客户端连接user           = root                          # 进程运行身份server         = /usr/sbin/in.tftpd            # TFTP 守护进程server_args    = -s /var/lib/tftpboot          # 限定可操作的目录(-s 安全模式)disable        = no                            # 启用服务per_source     = 11                            # 限制源IP连接数cps            = 100 2                         # 连接限制:每秒连接数,超过则暂停2秒flags          = IPv4                          # 仅支持 IPv4
}[root@TFTP ~]# systemctl enable xinetd.service --now

02 现在方式 | systemd 管理 TFTP 服务
# TFTP 服务使用 systemd 的 ​​socket 激活​​机制
[root@TFTP ~]# systemctl enable tftp.socket --now

默认根目录:/var/lib/tftpboot,若需要修改:

[root@TFTP ~]# vim /usr/lib/systemd/system/tftp.service
...
[Service]
ExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot
...
# 重载
[root@TFTP ~]# systemctl daemon-reload

配置 | 引导内容


# 你必须确认已安装以下模块
[root@TFTP ~]# yum install -y syslinux

引导内容是系统启动时,用于指引目标操作系统所用的菜单。

# 拷贝关键文件至 TFTP服务器目录
[root@TFTP ~]# cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/      # 引导程序
[root@TFTP ~]# cp /usr/share/syslinux/menu.c32    /var/lib/tftpboot/      # 菜单模块
[root@TFTP ~]# cp /usr/share/syslinux/ldlinux.c32 /var/lib/tftpboot/      # 依赖库

pxelinux.cfg 是一个引导类文件。意在以图形化菜单指引你怎么做。如下:

在这里插入图片描述

[root@TFTP ~]# mkdir /var/lib/tftpboot/pxelinux.cfg   # 配置目录
DEFAULT vesamenu.c32                        # 使用图形化菜单模块
PROMPT 0                                    # 禁止超时自动启动默认菜单项
MENU TITLE PXE Boot Menu - RHEL 8           # 设置菜单标题
TIMEOUT 100                                 # 菜单超时时间(单位:0.1秒)
ONTIMEOUT install_rhel8                     # 超时后启动的菜单项LABEL install_rhel8                         # 启动项标签MENU LABEL ^Install RHEL 8                # 菜单显示名称KERNEL vmlinuz                            # 内核文件APPEND initrd=initrd.img inst.repo=ftp://TFTP-Sever/pub/rhel8 inst.ks=ftp://TFTP-Sever/pub/ks.cfg quiet # 安装启动参数LABEL localMENU LABEL Boot from ^local driveLOCALBOOT 0

关于 APPEND 的补充描述:

  • initrd:指定 临时的根文件系统(用于启动真实操作系统的运行环境)
  • inst.repo:指定操作系统安装文件的网络位置
  • inst.ks:指定 Kickstart (无人化值守)文件。如何配置见 【文档】准备 ks.cfg 文件
  • quiet:启动时不显示详细信息

获取 | 内核 + 引导镜像

操作系统的 ISO 内包含内核和引导安装。但实际上因为系统差异,其目录命名存在差异,如下所示:

  • Ubuntu.iso:casper/initrd + casper/vmlinuz
  • RHEL.iso:imgaes/pxeboot/initrd.img + images/pxeboot/vmlinuz

以 RockyLinux 为准,路径如下:

[root@TFTP ~]# cp /mnt/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/

额外补充

inst.repo 与 inst.ks 引用 FTP 服务器。这意味者你需要额外使用 vsftpd 服务。这是因为 FTP 服务适用于大型文件传输。其首要指引是 iso 镜像文件。

http://www.dtcms.com/a/477369.html

相关文章:

  • 网站建设推广熊掌号衡阳市网站建设
  • JS - npm init
  • Cool Unix + OpenAuth.Net 实现一款校园小程序的开发
  • 【2025最新】ArcGIS for JS 范围裁剪(只保留特定区域显示),实现精准地理范围聚焦
  • 还有多少用.net做网站的怎样做_网站做seo
  • Azure DevOps CI/CD 流水线中 Java 17 容器化部署 NullPointerException 解决方案
  • 【触想智能】工业安卓一体机在人工智能领域上的市场应用分析
  • Windows安装Neo4j保姆级教程(图文详解)
  • 优化分布式采集的数据同步:一致性、去重与冲突解决的那些坑与招
  • 奶茶销售数据分析
  • 数据处理常用函数
  • RISC-V 架构适配:开源 AI 工具链的跨平台编译优化全流程(附实战指南)
  • 湛江做网站从为什么用html5做网站
  • jsp网站怎么做的好看创艺装饰12万的全包房
  • HashMap实现原理(高频)
  • 道格拉斯-普克算法(Douglas-Peucker Algorithm)的详细原理介绍
  • Linux (CentOS 7.9) vmware 创建与安装
  • Linux下的阻塞与非阻塞模式详解
  • 计算机网络基础篇——物理层
  • 【开题答辩全过程】以 标本销售管理系统为例,包含答辩的问题和答案
  • 中国 TOB 信息安全市场增长洞察报告(2020-2024):细分领域表现与战略机遇
  • SSM(Spring+SpringMVC+Mybatis)整合
  • 网站排名推广汕头发展
  • 【Linux】初始线程
  • WSL SSH 服务器一站式配置教程
  • 网站建设企业资质等级做游戏模板下载网站有哪些
  • C++ bit级别的复制
  • 《算法闯关指南:优选算法--二分查找》--17.二分查找(附二分查找算法简介),18. 在排序数组中查找元素的第一个和最后一个位置
  • 浏览器原理之详解渲染进程!
  • JSON衍生:JSON5、JSONL、JSONC、NDJSON、BSON、JSONB、JSONP、HOCON