已编辑 1 天前 通过 ExtremeHow 编辑团队
网络启动预启动执行环境服务器设置部署配置系统管理员简单文件传输协议命令行安装镜像制作
翻译更新 1 天前
在本指南中,我们将学习如何在Linux机器上设置一个预启动执行环境(PXE)引导服务器。此过程允许计算机使用通过网络提供的镜像启动,而不是使用本地存储。对于需要在网络上的多台机器上部署操作系统或软件的系统管理员来说,PXE非常有用。
PXE,即预启动执行环境(Preboot Execution Environment),使计算机可以通过网络接口启动,而无需依赖可用的数据存储设备或已安装的操作系统。这对于自动化服务器部署非常有帮助,并且可以用于Linux操作系统和其他操作系统的网络安装。
基本上,PXE由两个主要组件组成:
使用PXE引导服务器,你可以从集中位置快速高效地在多台机器上安装操作系统。
要在Linux上设置PXE引导服务器,你需要以下组件:
DHCP服务器为PXE客户端分配一个IP地址,并通知它们有关下一个要联系的服务器以进行引导过程的信息。
使用软件包管理器安装DHCP服务器。如果你使用的是诸如Ubuntu或Debian之类的发行版,命令将如下所示:
sudo apt-get install isc-dhcp-server
安装后,首先编辑DHCP服务器配置文件,该文件通常位于/etc/dhcp/dhcpd.conf
。你需要设置它以指定PXE客户端的IP地址、子网掩码和引导加载程序文件的详细信息。
以下是一个基本的配置片段:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
option routers 192.168.1.1;
filename "pxelinux.0";
next-server 192.168.1.5; # 你的PXE服务器的IP地址
option broadcast-address 192.168.1.255;
}
配置后,重新启动DHCP服务以应用更改:
sudo systemctl restart isc-dhcp-server
确保DHCP服务器在启动时启动:
sudo systemctl enable isc-dhcp-server
TFTP(简单文件传输协议)服务器将引导加载程序传送给PXE客户端。使用以下命令安装它:
sudo apt-get install tftpd-hpa
编辑/etc/default/tftpd-hpa
中的TFTP配置文件以确保其正确设置为提供引导文件:
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
确保指定的目录(默认/var/lib/tftpboot
)已创建且可以访问。重新启动并启用TFTP服务:
sudo systemctl restart tftpd-hpa
sudo systemctl enable tftpd-hpa
SYSLINUX提供了一个名为pxelinux的PXE引导加载程序。首先,安装syslinux(如果尚未安装):
sudo apt-get install syslinux-common
将所需文件复制到tftpboot目录:
sudo cp /usr/lib/PXELINUX/pxelinux.0 /var/lib/tftpboot
sudo mkdir -p /var/lib/tftpboot/pxelinux.cfg
要提供一个引导菜单,你必须在/var/lib/tftpboot/pxelinux.cfg
中创建一个配置文件。创建一个名为default
的文件:
DEFAULT menu.c32
PROMPT 0
TIMEOUT 50
ONTIMEOUT local
LABEL linux
MENU LABEL ^Install Linux
KERNEL vmlinuz
APPEND initrd=initrd.img
此配置提供了一个引导菜单,用于选择网络可引导的镜像,例如Linux。
将你的Linux安装介质中的内核和initrd文件复制到/var/lib/tftpboot
目录:
sudo cp /path-to-linux-iso/vmlinuz /var/lib/tftpboot/
sudo cp /path-to-linux-iso/initrd.img /var/lib/tftpboot/
确保权限正确:
sudo chmod 644 /var/lib/tftpboot/*
必须使用NFS或HTTP托管实际的安装文件。每种方法都适用于根据你的网络要求。
安装NFS服务器:
sudo apt-get install nfs-kernel-server
编辑出口文件/etc/exports
以包含存储安装文件的目录:
/path-to-your-linux-files 192.168.1.0/24(ro,sync,no_root_squash)
重新启动NFS服务:
sudo exportfs -a
sudo systemctl restart nfs-kernel-server
安装像Apache这样的HTTP服务器:
sudo apt-get install apache2
将你的安装介质链接到一个网络可访问的目录:
sudo ln -s /path-to-your-linux-files /var/www/html/linux
重新启动Apache:
sudo systemctl restart apache2
确保防火墙允许NFS/HTTP端口:
sudo ufw allow 2049
sudo ufw allow 80
最后,配置你的客户端从网络引导。通常需要在BIOS或UEFI固件设置中进行设置。一旦PXE客户端启动,它将连接到你的网络并从DHCP服务器获取IP。然后它从你的TFTP服务器加载引导加载程序文件,并开始使用NFS/HTTP提供的文件进行安装过程。
按照上述步骤,你将成功设置一个PXE引导服务器,你的网络机器可以使用它通过网络加载操作系统。
如果你发现文章内容有误, 您可以