快速开始

本指南将帮助您在最短时间内搭建起完整的PXE网络安装环境。按照以下步骤操作,即可在5分钟内完成配置。

环境要求

系统要求

项目 要求
操作系统 Linux (推荐银河麒麟服务器/桌面、Ubuntu、CentOS)
Python版本 Python 3.6 或更高版本
网络环境 千兆网络推荐,PXE服务器与客户端在同一局域网
磁盘空间 根据ISO镜像大小而定,够保存ISO文件即可,不额外占用空间
内存 建议4GB以上

网络要求

下载项目

方式一:Git克隆(推荐)

使用Git克隆仓库,可以方便地获取最新版本和后续更新:

# 安装git工具
# 服务器系统(RHEL/CentOS/银河麒麟服务器):
sudo yum install git

# 桌面系统(Ubuntu/银河麒麟桌面):
sudo apt install git

# 克隆项目
git clone https://gitee.com/misstar/mpxe.git

# 进入项目目录
cd mpxe

方式二:直接下载

访问Releases页面下载最新稳定版压缩包:

https://gitee.com/misstar/mpxe/releases/latest

下载完成后解压:

# 解压(根据下载的文件类型选择)
unzip mpxe-xxx.zip   # ZIP格式
tar -xzvf mpxe-xxx.tar.gz   # TAR.GZ格式

# 进入项目目录
cd mpxe

解压后目录结构

mpxe/
├── config/                # 配置文件目录
│   ├── config.json        # 主配置文件
│   ├── leases.json        # DHCP租约记录
│   └── *.cfg             # 无人值守配置文件
├── iso/                  # ISO镜像存放目录(重要!)
├── logs/                 # 日志文件目录
├── netboot/             # 网络引导文件目录
├── scripts/             # 脚本目录
├── services/            # Python服务模块
├── run.py              # 主程序入口
└── README.md           # 项目说明文档

准备工作

1. 检查Python环境

确保系统上已安装Python 3.6或更高版本。银河麒麟服务器/桌面系统已默认安装Python3。

# 检查Python版本(需要3.6+)
python3 --version

# 如果系统没有Python,需要先安装
# Ubuntu/Debian:
sudo apt install python3

# CentOS/RHEL:
sudo yum install python3

2. 获取ISO镜像

准备要安装的操作系统ISO镜像文件,常见的下载地址:

操作系统 官方下载链接
银河麒麟OS https://www.kylinos.cn/
OpenEuler https://www.openeuler.org/
CentOS https://www.centos.org/
Anolis https://openanolis.cn/
Deepin https://www.deepin.org/
Ubuntu https://www.ubuntu.com/
UOS https://www.uos.cn/

安装NFS服务器

MPXE依赖系统NFS服务来挂载ISO镜像文件,启动服务前必须先安装NFS服务。

银河麒麟/ CentOS / RHEL / OpenEuler / Anolis

sudo yum install nfs-utils

Ubuntu / Debian / 银河麒麟桌面 / UOS

sudo apt install nfs-kernel-server

验证NFS安装

# 检查NFS服务是否安装成功
rpm -qa | grep nfs-utils    # CentOS/RHEL
dpkg -l | grep nfs         # Ubuntu/Debian

# 安装成功后不需要手动启动,MPXE会自动管理NFS服务

关闭防火墙

重要:网络部署必须关闭PXE服务器防火墙或开放相关端口,否则客户端无法正常连接。

银河麒麟桌面操作系统

通过图形界面操作:

  1. 打开安全中心
  2. 关闭应用保护功能
  3. 关闭网络保护功能

银河麒麟服务器 / CentOS / RHEL / OpenEuler

# 停止并禁用防火墙服务
sudo systemctl stop firewalld
sudo systemctl disable firewalld

# 验证防火墙状态
sudo systemctl status firewalld

Ubuntu / Debian

# 停止并禁用UFW防火墙
sudo systemctl stop ufw
sudo systemctl disable ufw

手动开放端口

如果无法直接关闭防火墙,可手动开放相关端口

# 开放端口
sudo ufw allow 80/tcp    # HTTP
sudo ufw allow 67/udp    # DHCP
sudo ufw allow 69/udp    # TFTP
sudo ufw allow 111/tcp   # NFS
sudo ufw allow 2049/tcp  # NFS

端口功能说明

端口 协议 服务 用途
80 TCP HTTP Web管理界面、镜像下载(可修改)
67 UDP DHCP PXE引导IP分配
69 UDP TFTP 引导文件传输
111 TCP NFS NFS端口映射
2049 TCP NFS NFS文件服务

放置ISO镜像

将准备好的ISO镜像文件放入项目目录下的iso/文件夹:

直接复制

# 复制ISO到iso目录
cp /path/to/your-iso.iso iso/

# 例如:复制银河麒麟服务器镜像
cp ~/Downloads/Kylin-Server-V10-SP3-General-Release-2403-X86_64.iso iso/

使用软链接(推荐,节省磁盘空间)

# 创建软链接而非复制文件
ln -s /path/to/your-iso.iso iso/

# 示例:多个ISO镜像
ln -s /mnt/storage/Kylin-V10.iso iso/Kylin-V10.iso
ln -s /mnt/storage/OpenEuler-22.iso iso/OpenEuler-22.iso
ln -s /mnt/storage/CentOS-8.iso iso/CentOS-8.iso

验证ISO已放入

# 查看iso目录内容
ls -lh iso/

# 应该看到ISO文件列表
# 例如:
# total 8.5G
# -rw-r--r-- 1 root root 4.2G Apr  9 10:00 Kylin-V10.iso
# lrwxr-xr-x 1 root root 4.5G Apr  9 10:05 OpenEuler-22.iso -> /mnt/storage/OpenEuler-22.iso

启动服务

方式一:图形化环境(银河麒麟桌面等)

  1. 打开项目文件夹
  2. 双击云刻-信创PXE桌面图标
  3. 按提示输入管理员密码授权
  4. 等待服务启动完成

方式二:命令行环境

# 进入项目目录
cd /path/to/mpxe

# 以管理员权限启动
sudo python3 run.py

# 启动成功后会看到类似输出:
# ####开始启动服务####
# iso文件夹中未发现镜像文件,请将镜像文件上传至iso文件夹后重新运行服务。
# (如果有镜像则显示:)
# ####开始启动服务####
# 正在检查nfs服务
# 正在扫描iso目录
# 正在启动nfs
# 正在启动tftp
# 正在启动dhcp
# 正在启动http
# ####服务启动完成####
# 管理后台:http://192.168.2.2:80/

后台运行(可选)

# 使用nohup后台运行
sudo nohup python3 run.py > logs/run.log 2>&1 &

# 查看运行状态
ps aux | grep run.py

# 查看日志
tail -f logs/run.log

检查服务状态

通过Web界面检查

在浏览器中访问管理后台:

http://服务器IP地址/

# 例如:
http://192.168.2.2/

在Web界面中可以看到:

通过命令行检查

# 检查服务端口是否监听
sudo netstat -tlnp | grep -E ':(67|69|80|111|2049)'

# 应该看到类似输出:
# tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1234/python3
# udp        0      0 0.0.0.0:67              0.0.0.0:*                           1234/python3
# udp        0      0 0.0.0.0:69              0.0.0.0:*                           1234/python3

# 检查NFS服务
sudo systemctl status nfs-server

首次使用配置

1. 配置网络参数

首次使用建议根据实际网络环境配置IP参数:

  1. 打开Web管理界面
  2. 进入设置页面
  3. 配置PXE服务器IP地址(建议使用静态IP)
  4. 设置DHCP地址池范围
  5. 设置网关和DNS
  6. 点击保存并重启服务

2. 配置镜像启动项

添加ISO镜像后,需要为每个镜像生成PXE启动配置:

  1. 在Web界面点击重新扫描按钮
  2. 系统会自动识别iso目录中的镜像
  3. 为每个镜像配置启动参数(可选)
  4. 保存配置

3. 配置无人值守(可选)

如需实现自动化安装,请参考 无人值守安装文档

4. 开始使用

配置完成后,即可开始使用PXE安装:

  1. 确保客户端电脑BIOS/UEFI已设置网络启动优先
  2. 重启客户端电脑,选择网络启动(通常按F12或ESC键)
  3. 客户端将自动从PXE服务器获取IP并下载引导菜单
  4. 在启动菜单中选择要安装的操作系统
  5. 等待安装完成

常见问题

Q: 启动提示"iso文件夹中未发现镜像文件"

请确认已将ISO镜像文件放入iso/目录,并重启服务。

Q: 启动提示"NFS服务未安装"

请先执行NFS服务安装命令,详见本文档"安装NFS服务"章节。

Q: Web界面无法访问

检查HTTP服务是否正常启动,确认防火墙已关闭或80端口已开放。

Q: 客户端无法获取IP地址

检查防火墙设置,确认67端口已开放;检查客户端网卡是否支持PXE启动。

更多问题请参考 完整文档 或加入交流群咨询。