第一個網卡使用NET,用來安裝服務
第2個網卡用來提供dhcp服務java
#!/bin/bash #部署pxe批量裝機服務 #配置雙網卡 #定義網卡配置文件位置 k=/etc/sysconfig/network-scripts #複製網卡配置文件模板 cd /etc/sysconfig/network-scripts cp -p ifcfg-ens33 ifcfg-ens36 #修改第2塊網卡配置文件 sed -i 's/dhcp/static/' $k/ifcfg-ens36 sed -i 's/ens33/ens36/' $k/ifcfg-ens36 sed -i '/UUID/d' $k/ifcfg-ens36 cat >>$k/ifcfg-ens36 <<-EOF IPADDR=192.168.100.100 NETMASK=255.255.255.0 GATEWAY=192.168.100.1 EOF #重啓網絡服務 systemctl restart network #防止yum安裝進程休眠 rm -rf /var/run/yum.pid #安裝必要服務 yum install dhcp syslinux tftp-server vsftpd -y #修改DHCP服務配置文件 cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf cat >>/etc/dhcp/dhcpd.conf <<-EOF subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.10 192.168.100.20; option routers 192.168.100.100; next-server 192.168.100.100; filename "pxelinux.0"; } EOF #定義要常常用的tftp站點 tftp=/var/lib/tftpboot #複製引導程序到tftp站點 cp /usr/share/syslinux/pxelinux.0 $tftp/ #修改tftp配置文件 sed -i '/disable/s/yes/no/g' /etc/xinetd.d/tftp #建立鏡像文件掛載點 cd /var/ftp mkdir centos7 #掛載鏡像文件 mount /dev/sr0 /var/ftp/centos7 #複製壓縮內核和系統初始化文件到tftp站點 cd centos7/images/pxeboot cp initrd.img vmlinuz $tftp #在tftp站點中建立啓動菜單存放位置 cd $tftp mkdir pxelinux.cfg cd pxelinux.cfg #建立啓動菜單文件 cat >default <<-EOF default auto prompt 1 label auto kernel vmlinuz append initrd=initrd.img method=ftp://192.168.100.100/centos7 ks=ftp://192.168.100.100/ks.cfg label linux text kernel vmlinuz append text initrd=initrd.img method=ftp://192.168.100.100/centos7 label linux rescue kernel vmlinuz append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7 EOF #安裝系統工具 yum install system-config-kickstart -y #建立系統安裝過程文件 cat >/var/ftp/ks.cfg <<-EOF #platform=x86, AMD64, 或 Intel EM64T #version=DEVEL #Install OS instead of upgrade install #Keyboard layouts keyboard 'us' #Root password rootpw --plaintext 123 #Use network installation url --url="ftp://192.168.100.100/centos7/" #System language lang zh_CN #System authorization information auth --useshadow --passalgo=sha512 #Use graphical install graphical firstboot --disable #SELinux configuration selinux --disabled #Firewall configuration firewall --disabled #Network information network --bootproto=dhcp --device=ens33 #Reboot after installation reboot #System timezone timezone Asia/Shanghai #System bootloader configuration bootloader --location=mbr #Partition clearing information clearpart --all #Disk partitioning information part /boot --fstype="xfs" --size=500 part swap --fstype="swap" --size=4096 part /home --fstype="xfs" --size=4096 part / --fstype="xfs" --grow --size=1 %packages @^gnome-desktop-environment @base @core @desktop-debugging @dial-up @directory-client @fonts @gnome-desktop @guest-agents @guest-desktop-agents @input-methods @internet-browser @java-platform @multimedia @network-file-system-client @networkmanager-submodules @print-client @x11 chrony kexec-tools %end EOF #關閉防火牆 systemctl stop firewalld.service setenforce 0 #啓動全部服務 systemctl start dhcpd systemctl start tftp systemctl start vsftpd