问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用PXE技术实现网络安装系统

创作时间:
2025-01-22 01:04:15
作者:
@小白创作中心

使用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" ;             //引导文件名
}
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号