在RHEL / CentOS 7中为多个Linux分发安装设置“PXE网络引导服务器”

本文将介绍如何在RHEL / CentOS 7 x64位上安装和配置PXE服务器,其中包含镜像本地安装库,源

PXE服务器 -预引导执行环境-指示客户端计算机启动,运行或安装操作系统直接形成一个网络接口,无需刻录CD / DVD或使用物理介质,或者,可以缓解安装Linux的工作分布在多台机器上的网络基础设施上。

在CentOS中设置PXE网络引导

在RHEL / CentOS 7中设置PXE网络引导

要求

  1. CentOS 7最小安装步骤
  2. RHEL 7最小安装步骤
  3. 在RHEL / CentOS 7中配置静态IP地址
  4. 在RHEL / CentOS 7中删除不需要的服务
  5. 在RHEL / CentOS 7中安装NTP服务器以设置正确的系统时间

本文将解释如何安装和配置在RHEL / CentOS 7 x64位PXE服务器与镜像的本地安装存储库,通过CentOS 7 DVD ISO镜像提供源,具有的dnsmasq服务器的帮助。

它提供DNSDHCP服务,syslinux包这对于网络引导,TFTP的服务器 ,这使得可通过使用普通文件传输协议 (TFTP)和VSFTPD服务器网络,该网络将承载本地下载启动映像安装镜像DVD映像提供引导程序 - 它将作为官方的RHEL / CentOS 7镜像安装存储库,安装程序将从中提取其所需的软件包。

第1步:安装和配置DNSMASQ服务器

1.无需提醒你,绝对是要求你的网卡接口之一,如果您的服务器带来更多网卡,必须从属于该网段,将提供PXE相同的IP范围内的静态IP地址来配置服务。

所以,你已经配置静态IP地址后,更新了系统,并执行其他初始设置,使用下面的命令来安装的dnsmasq守护进程。

# yum install dnsmasq
在CentOS中安装dnsmasq

安装dnsmasq软件包

位于/ etc目录下的dnsmasq 2.主默认的配置文件是不言自明,但打算是相当困难的编辑,做它的高度评价说明。

首先确保备份此文件,以备以后需要查看,然后通过发出以下命令,使用您喜欢的文本编辑器创建一个新的空配置文件。

# mv /etc/dnsmasq.conf  /etc/dnsmasq.conf.backup
# nano /etc/dnsmasq.conf

3.现在,复制和粘贴dnsmasq.conf文件进行如下配置,并确保您更改解释如下语句来匹配相应的网络设置。

interface=eno16777736,lo
#bind-interfaces
domain=centos7.lan
# DHCP range-leases
dhcp-range= eno16777736,192.168.1.3,192.168.1.253,255.255.255.0,1h
# PXE
dhcp-boot=pxelinux.0,pxeserver,192.168.1.20
# Gateway
dhcp-option=3,192.168.1.1
# DNS
dhcp-option=6,92.168.1.1, 8.8.8.8
server=8.8.4.4
# Broadcast Address
dhcp-option=28,10.0.0.255
# NTP Server
dhcp-option=42,0.0.0.0
pxe-prompt="Press F8 for menu.", 60
pxe-service=x86PC, "Install CentOS 7 from network server 192.168.1.20", pxelinux
enable-tftp
tftp-root=/var/lib/tftpboot
CentOS中的Dnsmasq配置

Dnsmasq配置

需要更改的语句如下:

  1. 接口 -服务器应该倾听和提供服务的接口。
  2. 绑定接口 -取消注释绑定只在此接口。
  3. -你的域名更换。
  4. DHCP范围 -通过这一细分网络掩码定义的IP范围内更换。
  5. DHCP启动 -与您的接口IP地址更换IP声明。
  6. DHCP选项= 3,192.168.1.1 -与您的网络段网关更换IP地址。
  7. DHCP选项= 6,92.168.1.1 -与您的DNS服务器IP更换IP地址-多个DNS IP地址可以被定义。
  8. 服务器= 8.8.4.4 -把你的DNS转发器的IP地址。
  9. DHCP选项= 28,10.0.0.255 - -可更换网络广播地址的IP地址。
  10. DHCP选项= 42,0.0.0.0 -把你的网络时间服务器-可选(0.0.0.0地址是自我参照)。
  11. PXE的提示 -保留默认值-指打F8键,进入菜单60秒与等待时间..
  12. PXE =服务 -使用x86PC 32位/ 64位架构下的字符串引号进入菜单说明提示。 其他值类型可以是:PC98,IA64_EFI,Alpha,Arc_x86,Intel_Lean_Client,IA32_EFI,BC_EFI,Xscale_EFI和X86-64_EFI。
  13. 使-TFTP -启用内置的TFTP服务器。
  14. TFTP根 -使用的/ var / lib中的/ tftpboot -所有网络启动文件的位置。

如对配置文件等高级选项随时免费阅读的dnsmasq说明书

第2步:安装SYSLINUX引导加载程序

4.在您编辑并保存的dnsmasq主配置文件后,继续前进并发出以下命令来安装Syslinx PXE引导程序包。

# yum install syslinux
在CentOS中安装Syslinux引导加载程序

安装Syslinux引导加载程序

5. PXE引导程序文件驻留在/ usr /共享/ syslinux的绝对系统路径,这样你就可以通过上市这条道路的内容进行检查。 这一步是可选的,但你可能需要知道这条道路,因为在下一步,我们将复制其所有内容到TFTP服务器的路径。

# ls /usr/share/syslinux
Syslinux文件

Syslinux文件

第3步:安装TFTP服务器并使用SYSLINUX Bootloader填充它

6.现在,让我们进入下一步安装TFTP服务器和,然后从上面列出的位置复制由SYSLINUX软件包提供的所有文件bootloders到/ var / lib中的/ tftpboot通过发出以下命令路径。

# yum install tftp-server
# cp -r /usr/share/syslinux/* /var/lib/tftpboot
在CentOS中安装TFTP服务器

安装TFTP服务器

第4步:设置PXE服务器配置文件

7.通常,PXE服务器读取一组特定的文件,它的配置(GUID文件-首先,MAC文件-接下来, 默认文件-最后一个)一个名为pxelinux.cfg的文件夹中托管,必须位于目录中指定TFTP从的dnsmasq主配置文件-root声明。

创建所需的目录pxelinux.cfg的 ,并发出以下命令用默认的文件填充它。

# mkdir /var/lib/tftpboot/pxelinux.cfg
# touch /var/lib/tftpboot/pxelinux.cfg/default

8.现在是时候编辑PXE服务器的配置文件,有效的Linux发行版的安装选项。 另外请注意,在这个文件中使用的所有路径必须是相对于在/ var / lib中/ tftpboot目录。

下面您可以看到一个示例配置文件,您可以使用它,但修改安装映像(内核和initrd文件),协议(FTP,HTTP,HTTPS,NFS)和IP,以反映您的网络安装源存储库和路径。

# nano /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 Local Repo
kernel centos7/vmlinuz
append initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount
label 2
menu label ^2) Install CentOS 7 x64 with http://mirror.centos.org Repo
kernel centos7/vmlinuz
append initrd=centos7/initrd.img method=http://mirror.centos.org/centos/7/os/x86_64/ devfs=nomount ip=dhcp
label 3
menu label ^3) Install CentOS 7 x64 with Local Repo using VNC
kernel centos7/vmlinuz
append  initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount inst.vnc inst.vncpassword=password
label 4
menu label ^4) Boot from local drive
配置PXE服务器

配置PXE服务器

正如你所看到的CentOS 7的启动映像(内核和initrd)驻留在名为centos7目录的相对一到/ var / lib中的/ tftpboot(绝对系统路径,这将意味着在/ var / lib中的/ tftpboot / centos7)和安装程序库可以通过使用192.168.1.20/pub网络位置FTP协议达成-在这种情况下,回购被本地托管因为IP地址是相同的PXE服务器地址)。

另外菜单标签3指定客户端安装应从远程位置通过VNC来完成(此处替换使用强密码VNC密码)的情况下,你一具无头客户端和菜单标签2指定的安装
安装源CentOS 7官方Internet镜像(这种情况下需要通过DHCP和NAT在客户端上可用Internet连接)。

重要提示 :当您在上面的配置看,我们已经使用CentOS 7演示目的,但你也可以定义RHEL 7张图片,并按照整个说明和配置基于CentOS 7只,所以一定要小心,而选择分配。

第5步:将CentOS 7启动映像添加到PXE服务器

9.对于这一步CentOS的内核和initrd文件是必需的。 要获得这些文件需要CentOS7 DVD ISO镜像。 因此,继续前进,下载CentOS的DVD影像,把它放在你的DVD驱动器,通过发出以下命令安装映像到/ mnt系统路径。

使用DVD而不是最小CD映像的原因是随后该DVD内容将用于创建
在本地安装存储库FTP源。

# mount -o loop /dev/cdrom  /mnt
# ls /mnt
Mount CentOS DVD

Mount CentOS DVD

如果你的机器没有DVD驱动器,你也可以下载的CentOS 7 DVD ISO本地使用wgetcurl公用事业从CentOS的镜像 ,并安装它。

# wget http://mirrors.xservers.ro/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso
# mount -o loop /path/to/centos-dvd.iso  /mnt

10. DVD内容可用后,创建centos7目录和复制的CentOS 7启动内核和initrd映像从DVD安装位置centos7文件夹结构。

# mkdir /var/lib/tftpboot/centos7
# cp /mnt/images/pxeboot/vmlinuz  /var/lib/tftpboot/centos7
# cp /mnt/images/pxeboot/initrd.img  /var/lib/tftpboot/centos7
复制CentOS可引导文件

复制CentOS可引导文件

之所以使用这种方法的缺点是,以后你可以创建在/ var / lib中的/ tftpboot路径的新独立的目录,并添加其他Linux发行PXE菜单不搞乱整个目录结构。

第6步:创建CentOS 7本地镜像安装源

11.虽然通过各种协议,你可以设置安装源镜如HTTP,HTTPS或NFS,这篇指南中,我选择了FTP协议,因为是非常可靠和易于使用的vsftpd服务器的帮助设置。

而且安装vsftpd的守护进程,复制所有DVD安装内容vsftpd的默认服务器路径( 在/ var / ftp / pub下 ) -这可能需要一段时间,具体取决于您的系统资源,并通过发出以下命令可读权限追加到该路径。

# yum install vsftpd
# cp -r /mnt/*  /var/ftp/pub/ 
# chmod -R 755 /var/ftp/pub
在CentOS中安装Vsftpd

安装VSftpd服务器

将文件复制到FTP路径

将文件复制到FTP路径

在FTP路径上设置权限

在FTP路径上设置权限

第7步:在系统范围内启动和启用守护进程

12.现在,PXE服务器配置终于写完了,开始的dnsmasqVSFTPD服务器,核实他们的身份,并使其全系统,每个系统重新启动后自动启动,通过运行下面的命令。

# systemctl start dnsmasq
# systemctl status dnsmasq
# systemctl start vsftpd
# systemctl status vsftpd
# systemctl enable dnsmasq
# systemctl enable vsftpd
启动Dnsmasq服务

启动Dnsmasq服务

启动Vsftpd服务

启动Vsftpd服务

第8步:打开防火墙和测试FTP安装源

13.为了获得一个需要在防火墙上打开,以便客户机到达,并从PXE服务器启动,运行netstat命令,并添加CentOS 7 Firewalld相应规则的dnsmasq和vsftpd的监听端口,所有端口的列表。

# netstat -tulpn
# firewall-cmd --add-service=ftp --permanent  	## Port 21
# firewall-cmd --add-service=dns --permanent  	## Port 53
# firewall-cmd --add-service=dhcp --permanent  	## Port 67
# firewall-cmd --add-port=69/udp --permanent  	## Port for TFTP
# firewall-cmd --add-port=4011/udp --permanent  ## Port for ProxyDHCP
# firewall-cmd --reload  ## Apply rules
检查监听端口

检查监听端口

在CentOS中打开防火墙中的端口

在防火墙中打开端口

14.要测试FTP安装源的网络路径打开浏览器本地( 猞猁应该这样做),或者在不同的计算机上,并输入与您的PXE服务器的IP地址
FTP协议其次/酒馆网络位置的URL提交,结果应该在下面的截图中可以作为介绍。

ftp://192.168.1.20/pub
通过浏览器访问FTP文件

通过浏览器访问FTP文件

15.要为最终的错误配置或实时模式的其他信息和诊断调试PXE服务器运行以下命令。

# tailf /var/log/messages
检查PXE日志中的错误

检查PXE日志中的错误

16.最后,你需要做的最后必需步骤是卸装的CentOS 7 DVD,并删除物理介质。

# umount /mnt

第9步:将客户端配置为从网络引导

17.现在你的客户可以引导和通过配置网络启动从他们的系统BIOS 主引导设备或作为主板说明书中指定击球时BIOS POST操作指定的键在他们的机器安装CentOS 7。

为了选择网络启动。 首先出现PXE提示后,按F8键进入演示文稿,然后按下回车键继续前进到PXE菜单。

PXE网络引导

PXE网络引导

PXE网络操作系统引导

PXE网络操作系统引导

18.一旦你已经达到PXE菜单中,选择你的CentOS 7的安装类型,按Enter键继续安装过程,你可以从本地媒体引导设备安装方式相同。

请注意,使用此菜单中的变体2需要目标客户端上的活动Internet连接。 另外,在下面
屏幕截图,您可以看到通过VNC进行客户端远程安装的示例。

PXE菜单

PXE菜单

远程Linux通过VNC安装

远程Linux通过VNC安装

远程安装的CentOS

远程安装的CentOS

这是所有在CentOS 7中设置了一个最小的PXE服务器 。在我的本系列的下一篇文章中,我将讨论有关此PXE服务器配置,如使用Kickstart文件,添加其他Linux发行的CentOS 7如何设置自动安装等问题PXE菜单- Ubuntu服务器Debian 7。