使用PXE技术实现网络安装系统
使用PXE技术实现网络安装系统
PXE(Pre-boot Execution Environment)是一种网络引导技术,允许计算机通过网络从远程服务器下载引导镜像,并加载安装文件或整个操作系统。本文将详细介绍使用PXE技术实现网络安装系统的过程,包括PXE的基本原理、搭建DHCP服务器的步骤以及具体的技术细节。
一、简介
要实现网络安装系统,首先需要网络中有一台DHCP服务器,以便为客户机自动分配地址并指定引导文件位置。客户机的网卡需要支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。目前,绝大多数服务器和大多数PC都能够提供此支持,只需在BIOS设置中允许从Network或LAN启动即可。服务器通过TFTP(简单文件传输协议)提供引导镜像文件的下载,并配置安装时如何实现无人值守安装等。
1.1、概述
PXE是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。PXE严格来说并不是一种安装方式,而是一种引导的方式。进行PXE安装的必要条件是要安装的计算机中包含一个PXE支持的网卡(NIC),即网卡中必须要有PXE Client。
工作模式:
- PXE协议使计算机可以通过网络启动。
- 协议分为client和server端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,由PXE client将放置在远端的文件通过网络下载到本地运行。
- 运行PXE协议需要设置DHCP服务器和TFTP服务器。DHCP服务器用来给PXE client(将要安装系统的主机)分配一个IP地址,由于是给PXE client分配IP地址,所以在配置DHCP服务器时需要增加相应的PXE设置。
- 此外,在PXE client的ROM中,已经存在了TFTP Client。PXE Client通过TFTP协议到TFTP Server上下载所需的文件。
1.2、PXE优点
- 规模化:同时装配多台服务器;
- 自动化:安装系统、配置各种服务;
- 远程实现:不需要光盘、U盘等安装介质
PXE组件及过程分析
需要哪些服务组件?
DHCP服务,分配IP地址、定位引导程序
TFTP服务,提供引导程序下载
HTTP服务(或FTP/NFS),提供yum安装源
客户机应具备的条件
网卡芯片必须支持PXE协议
主板支持从网卡启动
安装软件包生成的pxclinux.0时默认生成的就是这个名称,在dhcp中调用时也调用这个名称。
二、搭建DHCP
2.1、DHCP概述及原理
- Dynamic Host Configuration Protocol
- 动态主机配置协议,由IETF(Internet网络工程师任务小组)组织制定,用来简化主机地址分配管理
- 主要分配以下入网参数
- IP地址/子网掩码/广播地址
- 默认网关地址、DNS服务器地址
- DHCP地址分配的四次会话
- DISCOVERY --> OFFER --> REQUEST-->ACK
- 服务端基本概念
- 租期:允许客户机租用IP地址的时间期限,单位为秒
- 作用域:分配给客户机的IP地址所在的网段
- 地址池:用来动态分配的IP地址的范围
2.2、配置主机环境
(1)、关闭selinux,以及关闭防火墙
[root@localhost ~]# setenforce 0
[root@localhost ~]# sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
[root@localhost ~]# systemctl stop firewalld && systemctl disable firewalld
(2)、设置主机名
[root@localhost ~]# hostnamectl set-hostname PXE-Server
2.3、安装DHCP服务和配置
(1)、安装
[root@pxe-server ~]# yum install dhcp -y
(2)、配置DHCP服务
查看dhcp的配置文件,只有以下的内容,但内容中提示有DHCP示例配置文件路径:
使用vi编辑器打开dhcp配置文件,然后将示例配置文件读入当前的dhcp的配置文件,操作方法输入冒号和r后面跟上示例配置文件的路径,写法为:r /usr/share/doc/dhcp*/dhcpd.conf.example
[root@pxe-server ~]# vi /etc/dhcp/dhcpd.conf
注意读入的位置就是光标所在的行,就是把其他文件的内容读入当前文件光标所在的开始写入。
DHCP的配置文件保留以下配置就可以:
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#subnet 172.16.0.0 netmask 255.255.255.0 {
# range 172.16.0.100 172.16.0.200;
# option domain-name-servers 172.16.0.9;
# option routers 172.16.0.9;
# default-lease-time 600;
# max-lease-time 7200;
#}
在DHCP的配置文件中还必须使用next-server参数指定下一个服务器,继续完成网络安装系统的其他步骤,就是到下一个服务器找一个引导文件,文件就叫"pxelinux.0",并使用filename参数指定引导文件的文件名,所以在DHCP的配置文件在增加以下内容:
next-server 172.16.0.9 //指定PEX服务器
filename "pxelinux.0" //引导文件名
完整配置如下:
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
subnet 172.16.0.0 netmask 255.255.255.0 {
range 172.16.0.100 172.16.0.200;
option domain-name-servers 172.16.0.9;
option routers 172.16.0.9;
default-lease-time 600;
max-lease-time 7200;
next-server 172.16.0.9; //指定PEX服务器
filename "pxelinux.0" ; //引导文件名
}