FTP、TFTP、PXE引导实现客户机批量部署

关闭防火墙、关闭安全机制
[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# iptables -F
[root@localhost ~]# setenforce 0

服务机

一、部署FTP服务


1、安装FTP,检查安装包
[root@localhost ~]# yum -y install vsftpd
[root@localhost ~]# rpm -q vsftpd
vsftpd-3.0.2-9.el7.x86_64

2、在共享文件/var/ftp下创建文件centos7
[root@localhost ~]# mkdir /var/ftp/centos7

3、将挂载点/media下的光盘文件复制到共享文件/var/ftp/centos7下,查看使用情况
[root@localhost ~]# cp -ar /media/* /var/ftp/centos7/ (有点慢)
[root@localhost ~]# du /var/ftp/centos7/
2508 /var/ftp/centos7/EFI/BOOT/fonts
6164 /var/ftp/centos7/EFI/BOOT
6168 /var/ftp/centos7/EFI
73028 /var/ftp/centos7/images/pxeboot
79436 /var/ftp/centos7/images
73404 /var/ftp/centos7/isolinux
281424 /var/ftp/centos7/LiveOS
3758676 /var/ftp/centos7/Packages
12704 /var/ftp/centos7/repodata
4211856 /var/ftp/centos7/

4、启动FTP服务,设置为开机自启
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl status vsftpd
[root@localhost ~]# systemctl enable vsftpd

二、部署TFTP服务


1、安装TFTP服务,检查安装包
[root@localhost ~]# yum -y install tftp-server
[root@localhost ~]# rpm -q tftp-server
tftp-server-5.2-11.el7.x86_64

2、修改配置文件,开启TFTP服务,默认的话是关闭的
[root@localhost ~]# vim /etc/xinetd.d/tftp
wait = no
disable = no

3、启动TFTP服务,设置为开机自启
[root@localhost ~]# systemctl start tftp.socket
[root@localhost ~]# systemctl status tftp.socket
[root@localhost ~]# systemctl enable tftp.socket
ln -s '/usr/lib/systemd/system/tftp.socket' '/etc/systemd/system/sockets.target.wants/tftp.socket'

4、查看端口状态
[root@localhost ~]# yum -y install net-tools
[root@localhost ~]# netstat -anput | grep 69
udp6 0 0 :::69 :::* 1/systemd

三、准备相关文件及PXE引导程序

1、准备linux内核、初始化镜像文件
[root@localhost ~]# cd /var/ftp/centos7/isolinux/
[root@localhost isolinux]# ls
boot.cat grub.conf isolinux.bin memtest TRANS.TBL vesamenu.c32
boot.msg initrd.img isolinux.cfg splash.png upgrade.img vmlinuz
[root@localhost isolinux]# cp vmlinuz initrd.img /var/lib/tftpboot/
[root@localhost isolinux]# ll /var/lib/tftpboot/
总用量 39820
-rw-r--r--. 1 root root 35745476 8月 21 20:06 initrd.img
-rwxr-xr-x. 1 root root 5029136 8月 21 20:06 vmlinuz

2、准备kickstart配置文件
以本机的/root/anaconda-ks.cfg为模板,部署其余服务器的操作系统
(1)将root下的anaconda-ks.cfg复制到共享文件/var/ftp/ks.cfg下做模板
[root@localhost isolinux]# cd
[root@localhost ~]# cp /root/anaconda-ks.cfg /var/ftp/ks.cfg

(2)修改文件的权限
[root@localhost ~]# chmod 777 /var/ftp/ks.cfg
[root@localhost ~]# ll /var/ftp/ks.cfg
-rwxrwxrwx. 1 root root 1066 8月 21 20:12 /var/ftp/ks.cfg

(3)将添加安装源cdrom修改为ftp://192.168.2.21/centos7
[root@localhost ~]# vim /var/ftp/ks.cfg
url --url=ftp://192.168.200.112/centos7 (指定安装源)
#cdrom

4、准备PXE引导程序、启动菜单文件
[root@localhost ~]# yum -y install syslinux
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost ~]# ls /var/lib/tftpboot/
initrd.img pxelinux.0 vmlinuz
[root@localhost ~]# cp /var/ftp/centos7/isolinux/isolinux.cfg /var/lib/tftpboot/

5、修改文件权限
[root@localhost ~]# chmod 644 /var/lib/tftpboot/isolinux.cfg
[root@localhost ~]# ll /var/lib/tftpboot/
总用量 39852
-rw-r--r--. 1 root root 35745476 8月 21 20:06 initrd.img
-rw-r--r--. 1 root root 3032 8月 21 20:27 isolinux.cfg
-rw-r--r--. 1 root root 26771 8月 21 20:25 pxelinux.0
-rwxr-xr-x. 1 root root 5029136 8月 21 20:06 vmlinuz

6、创建PXE启动菜单
[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# mv /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@localhost ~]# ll -R /var/lib/tftpboot/
/var/lib/tftpboot/:
总用量 39848
-rw-r--r--. 1 root root 35745476 8月 21 20:06 initrd.img
-rw-r--r--. 1 root root 26771 8月 21 20:25 pxelinux.0
drwxr-xr-x. 2 root root 20 8月 21 21:22 pxelinux.cfg
-rwxr-xr-x. 1 root root 5029136 8月 21 20:06 vmlinuz

/var/lib/tftpboot/pxelinux.cfg:
总用量 4
-rw-r--r--. 1 root root 3032 8月 21 20:27 default

7、修改PXE启动菜单,指定安装源位置pxe和ks.cfg文件的位置
[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
:set nu //显示行号
1 default linux
2 timeout 600
3 prompt 0
64 append initrd=initrd.img inst.repo=ftp://192.168.200.112/centos7 ins
t.ks=ftp://192.168.200.112/ks.cfg

或者:append initrd=initrd.img method=ftp://192.168.200.112/centos7

           inst.ks=ftp://192.168.200.112/ks.cfg

四、部署DHCP服务


1、安装DHCP服务
[root@localhost ~]# yum -y install dhcp
[root@localhost ~]# rpm -q dhcp
dhcp-4.2.5-36.el7.centos.x86_64

2、修改DHCP配置文件
[root@localhost ~]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
[root@localhost ~]# cat /usr/share/doc/dhcp*/dhcpd.conf.example > /etc/dhcp/dhcpd.conf
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
option domain-name "example.org";
option domain-name-servers 114.114.114.114,8.8.8.8;

default-lease-time 21600;
max-lease-time 43200;


subnet 192.168.200.0 netmask 255.255.255.0 {
range 192.168.200.10 192.168.200.110;
option routers 192.168.200.2;
next-server 192.168.200.112;
filename "pxelinux.0";
}

3、启动DHCP服务,设置开机自启动
[root@localhost ~]# systemctl start dhcpd
[root@localhost ~]# systemctl status dhcpd
[root@localhost ~]# systemctl enable dhcpd
ln -s '/usr/lib/systemd/system/dhcpd.service' '/etc/systemd/system/multi-user.target.wants/dhcpd.service'

五、开启客户机进行测试
客户机的内存必须改为2G,其余都不用管,一直下一步,全部都是自动安装。

本文为作者 三岁半的胖啊 的原创,转载请标明出处 链接:https://home.cnblogs.com/u/tanxiaojuncom/
原文地址:https://www.cnblogs.com/tanxiaojuncom/p/11388879.html