#!/bin/bash
setenforce 0
sed -i 's/=enforcing/=disabled/g' /etc/selinux/config
#配置yum源
rm -fr /etc/yum.repos.d/*.repo
echo "[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
enabled=1
gpgcheck=0
[centos]
name=centos base
baseurl=http://mirrors.163.com/centos/7/os/x86_64/
enabled=1
gpgcheck=0" > /etc/yum.repos.d/1.repo
#安装软件
yum -y install net-tools cobbler dhcp tftp-server xinetd syslinux httpd pykickstart
#配置dhcp
IP=`ifconfig |grep broad|grep -w inet |awk '{print $2}'`
WD=`echo $IP |awk -F. '{print $1"."$2"."$3}'`
echo "subnet $WD.0 netmask 255.255.255.0 {
range $WD.100 $WD.200;
default-lease-time 600;
max-lease-time 7200;
filename \"pxelinux.0\";
}" > /etc/dhcp/dhcpd.conf
#配置tftp
sed -i '14s/yes/no/g' /etc/xinetd.d/tftp
#启动服务
systemctl start cobblerd
systemctl enable dhcpd httpd cobblerd xinetd
systemctl restart dhcpd httpd cobblerd xinetd
#cobbler进行自我检查
cobbler check
#将272和384行的server地址由127.0.0.1修改成本机IP
sed -i "390s/127.0.0.1/$IP/g" /etc/cobbler/settings
sed -i "278s/127.0.0.1/$IP/g" /etc/cobbler/settings
#启动rsyncd
systemctl enable rsyncd
systemctl restart rsyncd
#设置root用户的密码 $1$123$7mft0jKnzzvAdU4t0unTG1 是 123456
sed -i '101s/"$1$mF86\/UHC$WvcIcX2t6crBz2onWxyac."/"$1$123$7mft0jKnzzvAdU4t0unTG1"/g' /etc/cobbler/settings
#重启cobbler
systemctl restart cobblerd
#cobbler同步
cobbler sync
#挂载光盘
mount /dev/cdrom /mnt
#将光盘导入到cobbler
cobbler import --path=/mnt --name="centos7"
#查看镜像
cobbler distro list
#查看装机模板
cobbler profile list
#配置ks模板
mv /root/anaconda-ks.cfg /var/lib/cobbler/kickstarts/ks.cfg
sed -i '1,10s/cdrom//g' /var/lib/cobbler/kickstarts/ks.cfg
sed -i 10a"url --url=http://$IP/cobbler/ks_mirror/centos7/" /var/lib/cobbler/kickstarts/ks.cfg
#使用ks和镜像生成装机模板
cobbler profile add --distro=centos7-x86_64 --name=centos7_tym --kickstart=/var/lib/cobbler/kickstarts/ks.cfg
#同步
cobbler sync
#查看装机模板
cobbler profile list
#删除纯镜像的模板
cobbler profile remove --name=centos7-x86_64
#添加防火墙
firewall-cmd --add-port=67/udp --permanent
firewall-cmd --add-port=69/udp --permanent
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-port=25151/tcp --permanent
firewall-cmd --reload