systemctal stop firewalld
setenforce 0
Shut down the virtual machine and give 4G memory in the settings.
Environment configuration completed
yum -y install tftp-server xinetd --- #Install software package
vim etc/xinetd.d/tftp --- #Open the configuration file
Change wait to no --- #Indicates that multiple clients can connect to the host at the same time
disable changed to no --- # means enable
systemctl stop firewalld.service
setenforce 0
yum -y install tftp-server xinetd
sed -i '/wait/c wait = no' /etc/xinetd.d/tftp
sed -i '/disable/c disable = no' /etc/xinetd.d/tftp
systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd
sleep 5
Start installing dhcp
yum -y install dhcp
cd /usr/share/doc/dhcp
cp dhcp.conf.exanple /etc/dhcp/dhcpd.conf
cd /etc/dhcp
Configuration:ddns-update-style none; --- #Turn off dynamic updates of dns
next-server 20.0.0.10; ---# Specify the tftp server IP address
filename 'pxelinux.0'; --- #Specify the name of the pxe boot file to be downloaded
Specify network segment 20.0.0.0
255.255.255.0
20.0.0.100 20.0.0.110
20.0.0.10
Set the local address, otherwise thtp cannot be obtained
yum -y install dhcp
cp -rf /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
sed -i '/max-lease-time 7200;/a filename "pxelinux.0";' /etc/dhcp/dhcpd.conf
sed -i '/max-lease-time 7200;/a next-server 20.0.0.10;' /etc/dhcp/dhcpd.conf
sed -i '/max-lease-time 7200;/a ddns-update-style none;' /etc/dhcp/dhcpd.conf
sed -i '/subnet 10.254.239.0/c subnet 20.0.0.0 netmask 255.255.255.0 {' /etc/dhcp/dhcpd.conf
sed -i '/range 10.254.239.10 10.254.239.20;/c range 20.0.0.100 20.0.0.200;' /etc/dhcp/dhcpd.conf
sed -i '/option routers rtr-239-0-1.example.org,/c option routers 20.0.0.10;' /etc/dhcp/dhcpd.conf
systemctl start dhcpd
systemctl enable dhcpd
sleep 5
Configure kernel files
mount /dev/cdrom /mnt
cd /mmnt/images/pxeboot
cp initrd.img /var/lib/tftpboot/
cp vmliuz /var/lib/tftpboot
yum -y install sysliux
cd /user/share/syslinux
cp pxeliunyx.0 /var/lib/tftpboot
cd /var/lib/tftpboot
mount /dev/sr0 /mnt
cd /mnt/images/pxeboot
cp vmlinuz /var/lib/tftpboot/
cp initrd.img /var/lib/tftpboot/
Prepare PXE bootloader
yum -y install syslinux
sleep 3
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
yum -y install syslinux
sleep 3
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
Install FTP service
yum -y install vsftpd
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7/
systemctl start vsftpd
systemctl enable vsftpd
sleep 5
yum -y install vsftpd
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7/
systemctl start vsftpd
systemctl enable vsftpd
sleep 5
Configure boot menu file
mkdir /var/lib/tftpboot/pxelinux.cfg
echo "default auto
prompt 0label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://20.0.0.10/centos7label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://20.0.0.10/centos7label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://20.0.0.10/centos7" > /var/lib/tftpboot/pxelinux.cfg/default
mkdir /var/lib/tftpboot/pxelinux.cfg
echo "default auto
prompt 0
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://20.0.0.10/centos7
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://20.0.0.10/centos7
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://20.0.0.10/centos7" > /var/lib/tftpboot/pxelinux.cfg/default
#Implement Kickstart unattended installation
yum install -y system-config-kickstart
cp /root/ks.cfg /var/ftp/sed -i '6d' /var/lib/tftpboot/pxelinux.cfg/default
sed -i '/kernel vmlinuz/a append initrd=initrd.img method=ftp://20.0.0.10/centos7 ks=ftp://20.0.0.10/ks.cfg' /var/lib/tftpboot/pxelinux.cfg/default
#实现 Kickstart 无人值守安装
yum install -y system-config-kickstart
cp /root/ks.cfg /var/ftp/
sed -i '6d' /var/lib/tftpboot/pxelinux.cfg/default
sed -i '/kernel vmlinuz/a append initrd=initrd.img method=ftp://20.0.0.10/centos7 ks=ftp://20.0.0.10/ks.cfg' /var/lib/tftpboot/pxelinux.cfg/default
Modify ks.cfg