c4rt1y

PXE+Kickstart无人值守安装

0x00.介绍

在centos7上使用PEX+Kickstart无人值守安装Centos7。
HTTP地址:10.10.10.10
TFTP地址:10.10.10.10
DHCP服务器:10.10.10.10

#关闭firewalld
systemctl stop firewalld.service
systemctl disable firewalld.service

#关闭selinux
sed -i 's:SELINUX=enforcing:SELINUX=disabled:g' /etc/selinux/config

#重新启动电脑,使用setenforce 0无效
reboot

0x01.需要步骤(PXE+Kickstart)

1.1 ks文件
1.2 DHCP服务器
1.3 TFTP服务器
1.4 HTTP服务器
1.5 网卡启动
1.6 YUM仓库安装源
1.7 安装

0x02.挂载镜像

mount /dev/cdrom /mnt

0x03.安装http

yum install -y httpd createrepo
mkdir /var/www/html/CentOS-7-x86_64
cp -a /mnt/* /var/www/html/CentOS-7-x86_64
createrepo -pdo  /var/www/html/CentOS-7-x86_64 /var/www/html/CentOS-7-x86_64/
createrepo -g  `ls /var/www/html/CentOS-7-x86_64/repodata/*-comps.xml` /var/www/html/CentOS-7-x86_64

0x04.安装tftp dhco xinetd

#下载tftp dhco xinetd
yum install tftp-server dhcp xinetd -y

#修改/etc/xinetd.d/tftp配置文件
disable=no

#复制dhcp文件
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf

#修改dhcp文件
vi /etc/dhcp/dhcpd.conf
subnet 10.10.10.0 netmask 255.255.255.0 {
  range dynamic-bootp 10.10.10.00 10.10.10.200;
  option subnet-mask 255.255.255.0;
  next-server 10.10.10.10;
  filename "pxelinux.0";
}

0x05.安装syslinux

#下载syslinux,里面有pxelinux.0文件
yum install syslinux -y
#将内容复制到tftp下
cp /usr/share/syslinux/pxelinux.0 /var/lib/tfptboot/
cp /mnt/isolinux/* /var/lib/tftpboot/
#创建目录pxelinux.cfg
mkdir /var/lib/tftpboot/pxelinux.cfg
#复制且编辑配置文件,源来自本机的
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
vi /var/lib/tftpboot/pxelinux.cfg/default
label ks
  menu label ^AUTO Install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img ks=http://10.10.10.10/CentOS-7-x86_64/CentOS-7-x86_64.cfg

#这里存在一个问题,default文件是read-only文件,所以我们使用vi编辑的时候保存不再是:wq而是:w !sudo tee %

0x06.测试

重新新建一个虚拟机,默认配置选项,启动,选择AUTO Install CentOS 7,然后。。。。等待中
结果如下:

pex_centos

GoTop