Shell:一键部署pxe

        shell脚本能为我们带来很多便利,这里我就编写了一个一键部署pex的shell脚本

一、前置操作

 添加一块网卡并改为net1模式

 二、修改脚本某些参数

查看一下自己新网卡的名称,我这里是ens36

然后更改ip值就行 和dhcp配置文件中的IP值以及/var/lib/tftpboot/pxelinux.0/default里的指向ftp的地址就行,都改成同一个

实在不理解的可以看我另一篇博客有详细说明:

PXE&&kickstart原理和配置_IT.cat的博客-CSDN博客

#!/bin/bash                         
#==========================================================================
#       User   yz
#               PEX一键部署
#                       date 2022.7.26          
#==========================================================================
###################关闭防火墙#############################
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
#####################配置网卡#############################
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens36
sed -i '/GATEWAY/s/^/#/' /etc/sysconfig/network-scripts/ifcfg-ens36 #需要修改网卡名称
sed -i  's/ens33/ens36/' /etc/sysconfig/network-scripts/ifcfg-ens36
sed -i '/UUID/s/^/#/' /etc/sysconfig/network-scripts/ifcfg-ens36
sed -i '/DNS/s/^/#/' /etc/sysconfig/network-scripts/ifcfg-ens36
sed -i 's/192.168.130.152/192.168.59.100/' /etc/sysconfig/network-scripts/ifcfg-ens36
                           #  ^^  需要修改IP地址
systemctl restart network
###################安装软件###############################
#检测网络
ping -c 1 -i 0.1 www.baidu.com > /dev/null
if [ $? -eq 0 ]
then
yum -y install vsftpd tftp xinetd dhcpd syslinux tftp-server > /dev/null
#################配置dhcp服务##########################
cp -f /usr/share/doc/dhcp*/dhcpd.conf.example  /etc/dhcp/dhcpd.conf
echo "ddns-update-style none;
      subnet 192.168.59.0 netmask 255.255.255.0 {  #这里也需要修改成与新网卡同一网段的  
      range 192.168.59.110 192.168.59.200;
      option routers 192.168.59.100;
      option domain-name-servers 114.114.114.114;
      next-server 192.168.59.100;
      filename\"pxelinux.0\";
      } " >> /etc/dhcp/dhcpd.conf
##################配置tftp服务##########################
sed -i '/disable/s/yes/no/' /etc/xinetd.d/tftp
##################配置tftp需要的共享文件########################
mount /dev/cdrom /mnt
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot
#################准备pxe引导镜像文件#######################
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
#################手工配置dafault菜单文件##################
mkdir /var/lib/tftpboot/pxelinux.cfg
touch /var/lib/tftpboot/pxelinux.cfg/default
echo " default auto
       prompt 0                 #ftp的指向IP都需要改成新网卡IP
label auto  
      kernel vmlinuz 
      append initrd=initrd.img method=ftp://192.168.59.100/centos7 ks=ftp://192.168.59.100/ks.cfg   

label linux text    
      kernel vmlinuz 
      append text initrd=initrd.img method=ftp://192.168.59.100/centos7 ks=ftp://192.168.59.100/ks.cfg

label linux rescue    
      kernel vmlinuz 
	  append rescue initrd=initrd.img method=ftp://192.168.59.100/centos7 ks=ftp://192.168.59.100/ks.cfg   " >> /var/lib/tftpboot/pxelinux.cfg/default
##################配置ftp,准备centos安装源##############
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7
#################配置无人值守######################
#要先配置无人值守,再执行脚本
yum -y install system-config-kickstart > /dev/null      #安装system-config-kickstart工具
#################开启服务############################# vsftpd tftp xinetd dhcpd 
systemctl start  vsftpd tftp xinetd dhcpd 



else
echo "网络出现问题无法安装,无法进行下一步"
fi 

        配置完后还需要配置无人值守,这里前面的博客也有详细说明如何配置,可以直接按照kickstart那段开始配置

PXE&&kickstart原理和配置_IT.cat的博客-CSDN博客

        配置完无人值守我们可以将ks.cfg文件保存下来,后续就不用单独再配置一遍无人值守操作直接拉文件来用就行

 验证

验证方法我上篇博客也有详细写 主要是创建虚拟机和无人值守文件存放位置

这里直接演示执行后的过程

 

到这里再继续等待即可,时间会比较长,要耐心点 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值