iPXE Boot Server 项目教程
1. 项目目录结构及介绍
ipxe-boot-server/
├── images/
│ └── ... # 存放 iPXE 引导镜像文件
├── LICENSE
├── README.md
└── ...
- images/: 该目录用于存放 iPXE 引导镜像文件,包括
undionly.kpxe
和ipxe.efi
等。 - LICENSE: 项目的开源许可证文件,本项目使用 LGPL-3.0 许可证。
- README.md: 项目的介绍文档,包含项目的背景、安装步骤和使用说明。
2. 项目启动文件介绍
项目的主要启动文件是 README.md
,其中详细描述了如何搭建一个支持传统 BIOS 和 EFI 硬件的 PXE 引导服务器。启动过程包括以下几个步骤:
- 配置网络接口: 确保连接到 PXE 引导网络的接口(如
eth1
)正确配置。 - 更新系统: 使用
yum update -y
命令更新系统到最新版本。 - 安装必要软件包: 安装
ipxe-bootimgs
和dnsmasq
等必要软件包。 - 配置 TFTP 根目录: 创建并配置
/tftpboot
目录,用于存放 iPXE 引导镜像。 - 配置 dnsmasq: 编辑
/etc/dnsmasq.conf
文件,配置 DHCP 和 TFTP 服务。 - 启动 dnsmasq: 使用
systemctl start dnsmasq
命令启动 dnsmasq 服务。
3. 项目配置文件介绍
项目的核心配置文件是 /etc/dnsmasq.conf
,该文件用于配置 DHCP 和 TFTP 服务。以下是配置文件的主要内容:
# 启用日志(可选)
#log-queries
#log-dhcp
# 禁用 DNS 服务器
port=0
# 仅监听 PXEBOOT VLAN (vlan110)
listen-address=10.0.0.1
interface=eth1
# 启用内置 TFTP 服务器
enable-tftp
tftp-root=/tftpboot
# DHCP 范围
dhcp-range=10.0.0.200,10.0.0.250,255.255.255.0,24h
# 默认网关
dhcp-option=3,10.0.0.1
# 域名
dhcp-option=15,homelab.net
# 广播地址
dhcp-option=28,10.0.0.255
# 标记 iPXE 请求
dhcp-match=set:ipxe,175
# 标记 BIOS 客户端
dhcp-vendorclass=BIOS,PXEClient:Arch:00000
# 1st 引导文件 - 传统 BIOS 客户端
dhcp-boot=tag:ipxe,tag:BIOS,undionly.kpxe,10.0.0.1
# 1st 引导文件 - EFI 客户端
dhcp-boot=tag:ipxe,tag:!BIOS,ipxe.efi,10.0.0.1
# 2nd 引导文件
dhcp-boot=tag:ipxe,menu/boot.ipxe
该配置文件详细定义了 DHCP 和 TFTP 服务的参数,确保客户端能够正确获取引导文件并启动。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考