2018-07-10-使用CentOS搭建PXE网络安装服务器
使用CentOS搭建PXE网络安装服务器
使用CentOS搭建PXE网络安装服务器
本文记录了PXE网络安装服务器的搭建过程,对以下参考链接中未记录的,包括防火墙设置等进行了进一步补充,参考连接:
###本文使用的系统环境如下:
- 服务器操作系统:CentOS 7
- 服务器IP地址:10.39.100.150
- 镜像ISO文件保存目录为:/root/downloads/
- 镜像ISO文件名为:CentOS-7-x86_64-DVD-1804.iso
- 第三章节使用的ISO文件名为:CentOS-6.8-x86_64-bin-DVD1.iso
###其它约定:
- 开始执行本文操作前,请先上传ISO镜像到服务器
- linux命令块使用此种样式
mkdir /var/www/html/centos7
- 文件中的内容使用此种样式
default menu.c32
prompt 0
timeout 300
ONTIMEOUT local
一、安装所需软件包
yum install dhcp xinetd syslinux httpd tftp-server -y
根据所使用系统、系统版本不同,此处使用的命令、软件包可能会有所差异。
其中各软件功能如下:
dhcpd: 动态分配IP
xinetd: 对服务访问进行控制,这里主要是控制tftp
tftp: 从服务器端下载pxelinux.0、default文件
syslinux: 用于网络引导
httpd: 在网络上提供安装源,也就是镜像文件中的内容
二、配置软件环境
2.0 XNET配置
vi /etc/xinetd.d/tftp
- 编辑disable = yes,修改为如下内容
disable = no
2.1 DHCP配置
vi /etc/dhcp/dhcpd.conf
添加如下内容( 内容中的各类IP请替换成自己的IP地址 )
# 1. 整体的环境设定 其中10.39.100.150是本机IP地址
ddns-update-style none;
ignore client-updates;
default-lease-time 259200;
max-lease-time 518400;
option domain-name-servers 10.39.100.150;
# 2. 关于动态分配的 IP ,
# 其中10.39.100.150是本机IP地址
# 10.39.100.0 netmask 255.255.254.0是笔者服务器所在的内网网段及子网掩码
# range 10.39.100.180 192.168.100.199 是笔者可用的DHCP地址池范围
subnet 10.39.100.0 netmask 255.255.254.0 {
range 10.39.100.180 10.39.100.199;
option routers 10.39.100.150;
option subnet-mask 255.255.254.0;
next-server 10.39.100.150;
# the configuration file for pxe boot
filename "pxelinux.0";
}
2.2 配置服务、防火墙
- 依次执行以下命令,添加软件到开机自启动 && 服务启动
systemctl enable dhcpd && systemctl start dhcpd
systemctl enable xinetd && systemctl start xinetd
systemctl enable tftp && systemctl start tftp
systemctl enable httpd && systemctl start httpd
- 依次执行以下命令,开放防火墙TCP-80端口及UDP-69端口,注意不要搞错了UDP和TCP。
firewall-cmd –zone=public –add-port=80/tcp –permanent
firewall-cmd –zone=public –add-port=67/udp –permanent
firewall-cmd –zone=public –add-port=69/udp –permanent
firewall-cmd –reload
firewall-cmd –zone=public –list-ports
- 编辑SELinux配置文件
vi /etc/sysconfig/selinux
- 修改内容SELINUX=enforcing如下,使关闭SELinux
SELINUX=disabled
- 因为修改selinux配置文件要重启才能生效,故先执行 “ 暂时关闭(重启失效)” 命令
setenforce 0
2.3 设置镜像文件、安装配置文件
mkdir /var/www/html/centos7
vi /etc/fstab
- 末尾加入
/root/downloads/CentOS-7-x86_64-DVD-1804.iso /var/www/html/centos7/ iso9660 defaults,ro,loop 0 0
mount -a
mkdir /var/lib/tftpboot/centos7
cp /var/www/html/centos7/images/pxeboot/initrd.img /var/lib/tftpboot/centos7/
cp /var/www/html/centos7/images/pxeboot/vmlinuz /var/lib/tftpboot/centos7/
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
mkdir /var/lib/tftpboot/pxelinux.cfg
vi /var/lib/tftpboot/pxelinux.cfg/default
- 文件内容填写
default menu.c32
prompt 0
timeout 300
ONTIMEOUT local
menu title ########## PXE Boot Menu ##########
label 1
menu label ^1) Install CentOS 7 x64 with HTTP
kernel centos7/vmlinuz
append initrd=centos7/initrd.img method=http://10.39.100.150/centos7 devfs=nomount
至此,服务器配置完毕,同一网段的计算机使用网络引导即可安装本服务器配置的CentOS7系统。
三、添加多镜像引导
mkdir /var/www/html/centos6.8
vi /etc/fstab
- 文末添加以下内容
>/root/downloads/CentOS-6.8-x86_64-bin-DVD1.iso /var/www/html/centos6.8/ iso9660 defaults,ro,loop 0 0
mount -a
mkdir /var/lib/tftpboot/centos6.8
cp /var/www/html/centos6.8/images/pxeboot/initrd.img /var/lib/tftpboot/centos6.8/
cp /var/www/html/centos6.8/images/pxeboot/vmlinuz /var/lib/tftpboot/centos6.8/
vi /var/lib/tftpboot/pxelinux.cfg/default
- 文末添加以下内容
label 2
menu label ^2) Install CentOS 6.8 x64 with HTTP
kernel centos6.8/vmlinuz
append initrd=centos6.8/initrd.img method=http://10.39.100.150/centos6.8 devfs=nomount
68747470733a2f:2f626c6f672e6373646e2e6e65742f6372617a795f72617973:2f61727469636c652f64657461696c732f3830393837313139