以下所有操作都是在Red-hat 7.0上
1.pxe的简单介绍
PXE(preboot execute environment,预启动执行环境),工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。
2.pxe的工作流程
1.客户机从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP
2.DHCP服务器返回分给客户机IP以及bootstrap文件的放置位置(该文件一般是放在一台TFTP服务器上)
3.客户机向本网络中的TFTP服务器索取bootstrap文件
4.客户机取得bootstrap文件后之执行该文件
5.根据bootstrap的执行结果,通过TFTP服务器加载内核和文件系统
6.进入安装画面, 此时可以通过选择FTP,HTTP,NFS方式之一进行安装(常用HTTP)
3.pxe具体配置流程
1.需要安装的服务
yum install httpd tftp-server dhcp syslinux -y
httpd ##共享安装资源
dhcp ##分配ip以及让客户主机获取pexlinux.0文件
pxelinux.0 ##预安装环境头文件,用来指定读取后续文件的程序
tftp-server ##提供tftp协议,令客户主机可以读取到预安装环境
syslinux ##提供pxelinux.0文件
2.启用服务
1)关闭防火墙
systemctl stop firewalld
systemctl disable firewalld ##下次启动不启动防火墙
2)打开http服务
systemctl start httpd
systemctl enable httpd ##下次默认打开防火墙
3)开启tftp服务:
[root@localhost ~]# netstat -anutlpe | grep xinetd
[root@localhost ~]# vim /etc/xinetd.d/tftp
14 disable = no ##打开tftp服务
[root@localhost ~]# systemctl restart xinetd.service
[root@localhost ~]# netstat -anutlpe | grep xinetd
udp 0 0 0.0.0.0:69 0.0.0.0:* 0 92471 5130/xinetd
4)启用dhcp服务
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf ##制作dhcp配置文件
cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y ##按y,确定创建dhcp配置文件
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf (将36行之后都删除掉)
1 option domain-name “example.com”; ##客户主机域名
2 option domain-name-servers 172.25.254.254; ##客户主机获得到的dns
3 default-lease-time 600; ##默认租约期
4 max-lease-time 7200; ##最长租约期
5 log-facility local7; ##日志级别
6 subnet 172.25.254.0 netmask 255.255.255.0 { ##网段,子网掩码
7 range 172.25.254.77 172.25.254.88; ##ip地址池
8 option routers 172.25.254.250; ##客户主机获得到的网关
9 filename “pxelinux.0”; ##客户主机获得到的预安装环境头文件
10 next-server 172.25.254.139; ##指定头文件所在主机的ip
11 }