使用CentOS搭建PXE网络安装服务器

使用CentOS搭建PXE网络安装服务器

本文记录了PXE网络安装服务器的搭建过程,对以下参考链接中未记录的,包括防火墙设置等进行了进一步补充,参考连接: [ 通过网络安装CentOs7 ]

###本文使用的系统环境如下:

  • 服务器操作系统: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=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

猜你喜欢

转载自blog.csdn.net/crazy_rays/article/details/80987119