#!/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 检查配置 ...