#!/bin/bash
#Date=2021-8-3
#Auther=ChenYang
#-------变量设置区域------------#
ISO_DIR='/ISO/CentOS-7-x86_64-DVD-1810.iso'
SYS_REL='centos7.6'
MOUNT_DIR="/var/www/html/$SYS_REL"
ETH_INTERFACE=`nmcli connection show|grep en|awk '{print $NF}'`
SERVER_IP='192.168.100.7'
SERVER_GATEWAY='192.168.100.254'
SERVER_SUBNET='192.168.100.0'
DHCP_START_IP='192.168.100.10'
DHCP_END_IP='192.168.100.100'
KS_PATH='/root/ks7.6.cfg'
#-------设置接口地址------------#
#nmcli connection modify $ETH_INTERFACE ipv4.addresses $SERVER_IP/24 ipv4.gateway $SERVER_GATEWAY connection.autoconnect yes ipv4.method manual
#nmcli connection up $ETH_INTERFACE
mv /etc/sysconfig/network-scripts/ifcfg-$ETH_INTERFACE{,.bak}
cat << EOF >>/etc/sysconfig/network-scripts/ifcfg-$ETH_INTERFACE
DEVICE="$ETH_INTERFACE"
NAME="$ETH_INTERFACE"
ONBOOT="yes"
IPADDR=$SERVER_IP
PREFIX=24
GATEWAY=$SERVER_GATEWAY
BOOTPROTO="static"
TYPE="Ethernet"
EOF
systemctl restart network
#-------安装pxe依赖服务包-------#
yum -y install httpd
yum -y install tftp-server
yum -y install dhcp
yum -y install syslinux
mv /etc/dhcp/dhcpd.conf{,.bak}
cat >> /etc/dhcp/dhcpd.conf << EOF
subnet $SERVER_SUBNET netmask 255.255.255.0 {
range $DHCP_START_IP $DHCP_END_IP;
option domain-name-servers $SERVER_IP;
option routers $SERVER_GATEWAY;
default-lease-time 600;
max-lease-time 7200;
next-server $SERVER_IP;
filename "pxelinux.0";
}
EOF
systemctl restart dhcpd
systemctl restart tftp
systemctl restart httpd
mkdir $MOUNT_DIR
mount $ISO_DIR $MOUNT_DIR
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
cat >> /var/lib/tftpboot/pxelinux.cfg/default << EOF
default vesamenu.c32
timeout 60
display boot.msg
menu clear
menu background splash.png
menu title $SYS_REL
menu vshift 8
menu rows 18
menu margin 8
menu helpmsgrow 15
menu tabmsgrow 13
menu color border * #00000000 #00000000 none
menu color sel 0 #ffffffff #00000000 none
menu color title 0 #ff7ba3d0 #00000000 none
menu color tabmsg 0 #ff3a6496 #00000000 none
menu color unsel 0 #84b8ffff #00000000 none
menu color hotsel 0 #84b8ffff #00000000 none
menu color hotkey 0 #ffffffff #00000000 none
menu color help 0 #ffffffff #00000000 none
menu color scrollbar 0 #ffffffff #ff355594 none
menu color timeout 0 #ffffffff #00000000 none
menu color timeout_msg 0 #ffffffff #00000000 none
menu color cmdmark 0 #84b8ffff #00000000 none
menu color cmdline 0 #ffffffff #00000000 none
menu tabmsg Press Tab for full configuration options on menu items.
menu separator # insert an empty line
menu separator # insert an empty line
label linux
menu label ^Install $SYS_REL
menu default
kernel vmlinuz
append initrd=initrd.img ks=http://${SERVER_IP}/$KS_FILE
EOF
chmod u+w /var/lib/tftpboot/pxelinux.cfg/default
cp ${MOUNT_DIR}/isolinux/vmlinuz ${MOUNT_DIR}/isolinux/initrd.img ${MOUNT_DIR}/isolinux/vesamenu.c32 ${MOUNT_DIR}/isolinux/splash.png /var/lib/tftpboot/
cp $KS_PATH /var/www/html/
pxe部署脚本
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 标签(空格分隔): 未分类 简介 Cobbler可以看作是一个更多功能的PXE,部署过PXE会发现Cobber和P...
- 实验环境 操作系统: Centos 7.7 安装软件 & 启动服务 查看服务启动状态 Cobbler 检查配置 ...