PXE当初是作为Intel的有线管理体系的一部分,Intel 和 Systemsoft于1999年9月20日公布其规格(版本2.1)  。通过使用像网际协议(IP)、用户数据报协议(UDP)、动态主机设定协定(DHCP)、小型文件传输协议(TFTP)等几种网络协议和全局唯一标识符(GUID)、通用网络驱动接口(UNDI)、通用唯一识别码(UUID)的概念并通过对客户机(通过PXE自检的电脑)固件扩展预设的API来实现目的。 

PXE 客户机(client)这个术语是指机器在PXE启动过程中的角色。一个PXE 客户机(client)可以是一台服务器、桌面级电脑、笔记本电脑或者其他装有PXE启动代码的机器。


        这篇博客就主要介绍一下linux的PXE远程部署安装。

        实验环境:VMware14 一台Linux系统作为服务器,一台模拟裸硬件的客户机,一个centos7的安装镜像文件。

    

        实验开始,首先要在Linux服务器上安装4个软件包,分别是dhcp  tftp-server vsftpd 跟 syslinux。

Linux的PXE第一弹(远程部署安装)_第1张图片


Linux的PXE第一弹(远程部署安装)_第2张图片

Linux的PXE第一弹(远程部署安装)_第3张图片

Linux的PXE第一弹(远程部署安装)_第4张图片


        然后把Linux的服务器设置为仅主机模式。

Linux的PXE第一弹(远程部署安装)_第5张图片


        本地设置完,这边xshell软件就会掉线,然后在Linux的本地端设置静态IP地址为192.168.1.100。

Linux的PXE第一弹(远程部署安装)_第6张图片


        静态IP地址设置完成后,使用systemctl restart network命令重启网络服务,然后重新使用xshell软件连接Linux服务器,这边输入连接的IP当然为192.168.1.100。

Linux的PXE第一弹(远程部署安装)_第7张图片


        连上Linux服务器上后使用ifconfig命令查看IP地址,这边看到Linux服务器的地址已经成功设置为192.168.1.100。

Linux的PXE第一弹(远程部署安装)_第8张图片


        继续要对dhcp服务进行设置,因为安装dhcp服务后它的配置文件是一个空文件,这边要使用cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 命令拷贝一个模板文件覆盖原有的空配置文件。

Linux的PXE第一弹(远程部署安装)_第9张图片


        具体的dhcp配置文件的写法如下,最重要的是最后两行,一个是把tftp的服务器地址指向自己,第二个是指定启动时加载的启动文件为pxelinux.0文件。

Linux的PXE第一弹(远程部署安装)_第10张图片


        接下来使对tftp配置文件的设置,tftp配置文件的目录在/etc/xinetd.d目录下。

Linux的PXE第一弹(远程部署安装)_第11张图片


        打开文件后,找到disable的哪一行。这个单词的意思是关闭,把后面选项修改成no代表开启tftp服务功能。

Linux的PXE第一弹(远程部署安装)_第12张图片


        然后使用cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/命令,把加载文件复制到tftp站点当中去。

Linux的PXE第一弹(远程部署安装)_第13张图片


        接下来就是添加光盘的安装镜像文件。

Linux的PXE第一弹(远程部署安装)_第14张图片


        接下来再ftp服务站点当中创建一个镜像文件的挂载目录,并把光盘镜像挂载到这个目录上。

Linux的PXE第一弹(远程部署安装)_第15张图片


        挂载完成到镜像文件的images/pxeboot目录当中找到initrd.img vmlinuz两个文件,并复制到tftp的站点当中去。

Linux的PXE第一弹(远程部署安装)_第16张图片


        最后在tftp站点当中要创建一个启动菜单目录pxelinux.cfg,注意只能是这个名字。

Linux的PXE第一弹(远程部署安装)_第17张图片


        然后在菜单目录当中创建一个启动的配置文件default,具体文件的写法如下:

Linux的PXE第一弹(远程部署安装)_第18张图片


        所有的配置完成后,关闭系统的防火墙功能跟增强安全功能。

Linux的PXE第一弹(远程部署安装)_第19张图片


        然后分别启动三个服务。

Linux的PXE第一弹(远程部署安装)_第20张图片


        服务启动完成后,在VMware虚拟机上模拟创建一个只有硬件没有系统的裸机。

Linux的PXE第一弹(远程部署安装)_第21张图片


        注意网卡要选择仅主机模式,不然获取不到dhcp服务。


Linux的PXE第一弹(远程部署安装)_第22张图片


        然后新建虚拟机的内存最小必须是1.5G以上,不然安装的时候会报错,导致无法安装。

Linux的PXE第一弹(远程部署安装)_第23张图片

        接下来启动新建的模拟虚拟裸机,获取到dhcp服务后会进入以下这个界面,直接回车就可以了。

Linux的PXE第一弹(远程部署安装)_第24张图片

    

        稍微等待以下就进入这个centos7 的安装界面。

Linux的PXE第一弹(远程部署安装)_第25张图片