1、准备一台Linux服务器作为PXE服务器,最好是带有图形界面的我这里以centos7.9为例
2、把服务器的防火墙和selinux关闭
#关闭防火墙
systemctl stop firewalld
#关闭开机自启
systemctl disable firewalld
setenforce 0
#修改selinux配置文件
vi /etc/selinux/config
SELINUX=disable
3、把需要安装系统的服务器与PXE服务器相连接 可以使用交换机也可以直连
4、设置PXE服务器的IP
IPADDR=10.1.1.2
NETMASK=255.255.255.0
GATEWAY=10.1.1.254
DNS1=10.1.1.254
ONBOOT=yes
BOOTPROTO=static
#重启网络
systemctl restart network
5、安装PXE需要的软件
yum install -y dhcp xinetd tftp tftp-server
7、拷贝DHCP模板
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
8、修改DHCP配置文件
vi /etc/dhcp/dhcpd.conf
next-server 10.1.1.2;
filename "pxelinux.0";
subnet 10.1.1.0 netmask 255.255.255.0 {
range 10.1.1.50 10.1.1.100;
option domain-name-servers 10.1.1.254;
option domain-name "internal.example.org";
option routers 10.1.1.254;
option broadcast-address 10.1.1.255;
default-lease-time 600;
max-lease-time 7200;
}
9、重启DHCP服务并验证
systemctl restart dhcpd
systemctl enable dhcpd
客户端服务器PXE启动,看是否能获取到IP地址
10、编辑TFTP配置文件
vi /etc/xinetd.d/tftp
disable = no
systemctl restart xinetd
systemctl enable xinetd
11、获取pxelinux.0并放置到TFTP根目录
yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
12、创建规定目录
mkdir /var/lib/tftpboot/pxelinux.cfg
13、挂载光盘
mount /dev/cdrom /media
cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
cp /media/isolinux/* /var/lib/tftpboot/
14、搭建网络安装源
yum -y install httpd
systemctl restart httpd
systemctl enable httpd
mkdir /var/www/html/centos
cd /
mount /dev/cdrom /var/www/html/centos/
浏览器访问测试 http://10.1.1.2/centos
15、创建yum源
vi /etc/yum.repos.d/pxe.repo
[development]
name=pxe
baseurl=http://10.1.1.2/centos
enabled=1
gpgcheck=0
:wq
yum clean all
yum list all
16、制作自动化安装脚本
yum -y install system-config-kickstart
system-config-kickstart
按实际情况配置
然后保存到root目录下
mkdir /var/www/html/ks
cp /root/kscentos.cfg /var/www/html/ks/
打开浏览器查看http://10.1.1.2/ks
17、把配置文件放到最终的配置文件中
vi /var/lib/tftpboot/pxelinux.cfg/default
#启动等待时间 默认是600 就是60秒这里我改成了6秒
timeout 60
label linux
menu label ^Install CentOS 7.9
menu default
kernel vmlinuz
append initrd=initrd.img ks=http://10.1.1.2/ks/centos.cfg
:wq
18、打开客户端就可以自动安装了,如果是虚拟机 内存一定要大于1G 不然会出现RTNETLINK answers: File exists
19、如果想换成其他镜像执行一下命令
先卸载原有镜像
umount -a
再挂载
mount /dev/cdrom /media
替换文件
cp /media/isolinux/* /var/lib/tftpboot/
ks centos7的系统通用所以不用更改