技术文档

本文档提供MPXE的技术配置详情、API接口说明和故障排查指南。

入门指南请查看 快速开始,无人值守配置请查看 无人值守文档

配置文件详解

配置文件位于 config/config.json

网络配置参数

参数 默认值 说明
DHCP_SERVER_IP 192.168.2.2 PXE服务器IP地址
DHCP_SERVER_NIC eth0 监听的网络接口名称
DHCP_OFFER_BEGIN 192.168.2.100 DHCP地址池起始IP
DHCP_OFFER_END 192.168.2.150 DHCP地址池结束IP
DHCP_SUBNET 255.255.255.0 子网掩码
DHCP_ROUTER 192.168.2.1 网关地址
DHCP_DNS 8.8.8.8 DNS服务器地址
DHCP_FILESERVER 192.168.2.2 文件服务器地址(通常与服务器IP一致)
DHCP_BROADCAST 255.255.255.255 广播地址

服务配置参数

参数 默认值 说明
HTTP_PORT 80 HTTP服务端口
TFTP_PORT 69 TFTP服务端口
DHCP_MODE_PROXY false ProxyDHCP模式开关(用于已有DHCP服务器的环境)
LOG_LEVEL INFO 日志级别:DEBUG/INFO/WARNING/ERROR

访问控制参数

参数 默认值 说明
DHCP_WHITELIST [] MAC白名单列表,留空表示允许所有MAC访问
DHCP_BLACKLIST [] MAC黑名单列表,优先级高于白名单

引导配置参数

参数 默认值 说明
USE_IPXE true 启用iPXE引导固件
USE_HTTP true 启用HTTP传输(推荐,速度更快)
USE_TFTP true 启用TFTP服务
MENU_DEFAULT 默认启动项名称
MENU_TIMEOUT 1200 菜单超时时间(1/10秒,如1200表示2分钟)

端口需求汇总

端口 协议 用途
80 TCP HTTP服务、Web管理页面
67 UDP DHCP服务(PXE引导)
69 UDP TFTP服务(引导文件传输)
111, 2049 TCP NFS服务(镜像文件传输)

服务详解

DHCP服务

DHCP服务负责为客户端分配IP地址并提供PXE引导信息,实现基于RFC2131/RFC2132标准。

架构识别规则

客户端架构 架构代码 引导文件
BIOS/x86 0 pxelinux.0 / x86.kpxe
EFI IA32 6 syslinux.efi32
EFI x86-64 7, 9 syslinux.efi64 / ipxe_efi/x86_64.efi
ARM64 11 ipxe_efi/arm64.efi
LoongArch64 39, 40 ipxe_efi/loongarch64.efi
MIPS (3A4000) 12 BOOTMIPS.EFI

TFTP服务

TFTP服务用于传输小型引导文件,基于RFC1350和RFC2348标准实现。

HTTP服务

HTTP服务提供大文件传输和Web管理界面。

API接口

HTTP服务提供RESTful API接口,用于Web管理和客户端通信。

服务端API

接口路径 方法 说明 参数
/web/get_info GET 获取服务器信息和配置 -
/web/get_blackwhitelist GET 获取黑白名单配置 -
/web/set_blackwhitelist POST 设置黑白名单 whitelist, blacklist
/web/saveandrestart POST 保存网络配置并重启服务 ip_address, gateway, name, netmask, ip_start, ip_end
/web/setserver POST 设置服务器参数 log_level, menu_timeout, menu_default, http_port
/web/getisoipxe GET 获取ISO和PXE配置 -
/web/setisoipxe POST 设置ISO和PXE配置 ipxename, isoname, extpathname, autoinstall, grubcfg, autoinstallcfg
/web/delisoipxe POST 删除ISO配置 ipxename
/web/rescan GET 重新扫描ISO目录 -
/web/restart GET 重启所有服务 -
/web/log GET 获取日志内容 lines (可选,默认500)
/web/log/sse GET SSE实时日志流 -
/web/getclientlist GET 获取客户端列表 -

客户端API

接口路径 方法 说明 参数
/monitor/statusreport GET 客户端上报安装状态 progress, status, msg, mac

故障排查

服务启动失败

问题 解决方案
提示"NFS服务未安装" 执行:sudo yum install nfs-utilssudo apt install nfs-kernel-server
提示"iso文件夹中未发现镜像文件" 确认已将ISO镜像放入iso目录,并重启服务
端口被占用 检查是否有其他服务占用了67、69、80等端口:sudo netstat -tlnp | grep -E ':(67|69|80)'

客户端引导失败

问题 检查项 解决方案
DHCP发现超时 防火墙、客户端PXE支持 检查防火墙设置;确认客户端与服务器在同一网络;检查客户端网卡PXE功能
TFTP超时 TFTP服务状态、网络带宽 检查TFTP服务状态;确认网络带宽足够(建议千兆网络)
引导文件找不到 netboot目录结构 检查netboot目录结构是否完整;查看日志获取详细信息
架构不匹配 BIOS/UEFI设置 确认客户端BIOS/UEFI设置与ISO镜像架构匹配

安装过程问题

问题 解决方案
NFS挂载失败 检查NFS服务状态;确认/etc/exports配置正确;检查防火墙NFS端口
镜像下载慢 建议启用HTTP传输模式(设置USE_HTTP=true),速度更快
应答文件不生效 检查应答文件语法;确认grub配置中指定了正确的应答文件路径

日志查看

详细日志文件位于 logs/pxe.log

可通过以下方式查看:

获取帮助

如问题无法解决,请提供以下信息:

联系方式:Q群 390480890