PXE实现系统批量自动安装(2)

由于我们要获取安装系统服务的yum源以及内核文件,虚拟根文件,这些文件都是大文件,在传输时我们必须保证其能够安全传输,所以我们选择了HTTP服务,当然了,选择FTP服务也是可以的。

HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。是互联网上广泛试用的协议。是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分等。HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。

4.3 TFTP服务

TFTP是一种文件传输服务,用于服务器与客户端进行文件的传输,不过他只能进行简单的文件传输,这个服务开销不大,所以并不能进行大文件的传输,多用于小文件的传输。他没有FTP那么强大,但是TFTP使用UDP协议传输数据,有些时候比FTP更加方便,它所监听的端口为69。由于我们是在局域网中,系统相对安全,而提供的数据也不是很大,所以TFTP是实现PXE的不二选择。

5 功能实现

5.1安装前准备

        由于涉及到主机间不同基于不同协议的通信,所以为了避免不必要的麻烦,我们选择关闭防火墙以及selinux。生产场景中不建议这样做。

[ root@vinsent ~ ]#iptables -F     # 关闭防火墙

[ root@vinsent ~ ]#setenforce 0     # 临时关闭selinux

[ root@vinsent ~ ]#vim /etc/selinux/config     # 修改文件永久关闭selinux

...前面省略

SELINUX=disabled                 # 设置SELINUX的值为disabled

...后面省略

5.2配置静态IP地址

      由于我们在前面方案分析中选择了方案1,即将所有服务搭建在同一台服务器上。由于做DHCP服务的主机的IP地址必须固定,所以我们要先配置服务器的IP地址。由于我是在CentOS7系统上搭建的服务器,所以有许多命令只有CentOS7才能使用。CentOS6及之前的版本请自行查阅相关文档。

[ root@vinsent ~ ]#vim /etc/sysconfig/network-scripts/ifcfg-ens33  # 设置静态IP

DEVICE=ens33

BOOTPROTO=static

IPADDR=192.168.14.201

PREFIX=24

ONBOOT=yes

[ root@vinsent ~ ]#systemctl restart network.service     #重启网络服务

[ root@vinsent ~ ]#ip a                                  # 查看自己的IP是否设置成功

5.3安装服务

由于我们需要HTTP、TFTP、DHCP服务来提供相应的服务,所以我们必须要在系统中安装,相应的服务。这里需要注意,如果你的系统时最小化安装,那么建议你先安装一些包组,GCC等。如果安装过程中出现包依赖问题,依次安装相应的包即可。

[ root@vinsent ~ ]#yum -y install dhcp tftp-server httpd syslimux  #安装相应的服务包

[ root@vinsent ~ ]#yum -y install xinetd             # 安装超级守护进程xinetd

[ root@vinsent ~ ]#systemctl enable dhcp             # 设置dhcp开机启动

[ root@vinsent ~ ]#systemctl enable tftp             # 设置tftp开机启动

[ root@vinsent ~ ]#systemctl start tftp              # 启动tftp服务 

[ root@vinsent ~ ]#systemctl enable httpd             

[ root@vinsent ~ ]#systemctl start httpd             # 启动http服务

[ root@vinsent ~ ]#chkconfig tftp on     # 如果这天命令不能使用,请修改配置文件

[ root@vinsent ~ ]#vim /etc/xinetd.d/tftp

service tftp

{

...

    disable     =yes         # 修改这一项为"disable     =no"

...

}

[ root@vinsent ~ ]#systemctl restart xinetd     # 修改之后,一定要重启xinetd服务

5.4配置DHCP服务

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13391.html