PXE自动化安装centos系统
①安装前准备:关闭防火墙和SELINUX,DHCP服务器静态IP ``` iptables -vnL #查看防火墙状态 systemctl stop firewall #关闭防火墙 getenforce #查看SELinux状态 setenforce 0 #禁用SELinux cat > /etc/sysconfig/network-scripts/ifcfg-ens37 <<EOF DEVICE=ens37 #网卡名称 ONBOOT=yes #开启网卡 BOOTPROTO=static #地址获取方式此处为指定静态地址 IPADDR=192.168.109.222 #指定静态地址 PREFIX=24 #指定子网掩码 GATEWAY=192.168.0.1 #指定网关 EOF
安装软件包
yum install httpd tftp-server dhcp syslinux system-config-kickstart
配置文件共享服务:
systemctl enable dhcpd httpd tftp #开机自动启动服务项
systemctl start httpd tftp #开启服务
dhcpd服务需修改配置文件后才开启
可使用ss -ntul (查看服务端口状态)
dhcpd服务端口号67
tftp端口服务号69
http服务端口号80
```
** ②准备Yum 源和相关目录**
mkdir -pv /var/www/html/Centos/{6,7} #创建文件夹用于存放epel源
开机自动挂载光盘至指定目录
vim /etc/fstab
/dev/sr0 /var/www/html/Contos/7 iso9660 defaults 0 0
/dev/sr1 /var/www/html/Centos/6 iso9660 defaults 0 0
mount -a
![](http://i2.51cto.com/images/blog/201805/27/fff6fd629bdbce7aa52115e297a3ecd4.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
**③准备应答文件(kickstart)**
vim /var/www/html/ks/centos7.cfg #注意:权限设置为644
chmod 644 centos7.cfg
![](http://i2.51cto.com/images/blog/201805/27/3fc2aca78fe1c9310978328ef313f0ce.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
**④配置DHCP服务**
vim /etc/dhcp/dhcpd.conf #修改DHCP服务配置文件 option domain-name "magedu30.org"; #配置域名后缀 option domain-name-servers 114.114.114.114,1.1.1.1; #配置DNS服务器 default-lease-time 6000; #配置续租时长 max-lease-time 7200; #配置续约最大时长 subnet 192.168.109.0 netmask 255.255.255.0{ #配置网段 range 192.168.109.10 192.168.109.253; #配置网段IP地址 option routers 192.168.109.1; #配置网关 next-server 192.168.109.222; #配置文件获取服务器 filename "pxelinux,0"; #配置文件名 }
![](http://i2.51cto.com/images/blog/201805/27/50558caa1ddff98b191952afc2fb1842.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
**⑤配置tftp服务**
准备PXE相关文件 #在tftp服务文件夹下新建目录用于存放iso文件系统 mkdir /var/lib/tftpboot/pxelinux.cfg/ #复制系统启动项文件至新建目录 cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #复制系统启动界面文件至新建目录 cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/ #复制(内核文件)至新建目录 cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/ #复制并改名菜单文件 cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
文件列表如下:
![](http://i2.51cto.com/images/blog/201805/27/f5d17ad411ebe97c8b209f5f2ffb1491.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
**⑥准备启动菜单文件(进入文件更改菜单选项)**
vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32 #默认菜单界面
timeout 600 #响应时长
menu title www.magedu.com #菜单顶部提示信息
label centos7 #菜单选项①
menu label ^Install Desktop CentOS 7 #菜单提示信息(名称)
kernel centos7/vmlinuz #指定内核
append initrd=centos7/initrd.img ks=http://192.168.109.222/ksdir/7/ks7_mini.cfg
label centos6 #菜单选项②
menu label ^install Mini CentOS 6 #菜单提示信息(名称)
menu default
kernel centos6/vmlinuz #指定内核
append initrd=centos6/initrd.img ks=http://192.168.109.222/ksdir/6/ks6_mini.cfg
label local #菜单选项③ menu label ^Boot from local drive #菜单提示信息(名称) localboot 0xffff menu end
![](http://i2.51cto.com/images/blog/201805/27/c4ef472cd6f44dba8c3b079c1f4e6d62.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)