安装前准备:关闭防火墙和SELINUX
虚拟机准备第二块网卡,设置主机模式,关闭虚拟机网络配置中主机模式的DHCP功能,并设置静态IP
nmcli c a con-name ens37-dhcp type ethernet ifname ens37 ipv4.method manual ipv4.addresses 192.168.47.10/24 ipv4.gateway 192.168.47.1 ipv4.dns 114.114.114.114 connection.autoconnect yes
安装软件包
dhcp,httpd,tftp-server,syslinux,system-config-kickstart
配置dhcp:
vim /etc/dhcp/dhcpd.conf
option domain-name "linux123.tech"; 设置域名
option domain-name-servers 114.114.114.114, 8.8.8.8; DNS服务器,可以不要
default-lease-time 8560; 最长租约
max-lease-time 15400; 特殊情况的最长租约
subnet 192.168.47.0 netmask 255.255.255.0 { DHCP服务网段
range 192.168.47.50 192.168.47.100; 分配地址范围
filename "pxelinux.0"; 系统安装文件名
next-server 192.168.47.10; tftp服务器地址
}
systemctl start dhcpd 启动服务
用另一台主机模式的虚拟机自动获取IP,测试DHCP服务是否正常,
配置httpd
在目录下设置创建放置ISO文件和KS文件的目录
cd /var/www/html/
mkdir ksdir 创建ks文件夹
cp /root/ks7-* /var/www/html/ksdir/ 将制作好的ks文件拷入
mkdir centos/7 -p
mount /dev/sr1 centos/7 挂载安装盘到网络路径
配置tftp
cd /var/lib/tftpboot/
rpm -ql syslinux 找到pxelinux.0和menu.c32的路径
cp /usr/share/syslinux/{pxelinux.0,menu.c32} .
cp /mnt/cd/isolinux/{vmlinuz,initrd.img} . 从光盘中拷贝两个文件
mkdir pxelinux.cfg
cp /mnt/cd/isolinux/isolinux.cfg pxelinux.cfg/default 启动菜单
vim pxelinux.cfg/default 修改启动菜单项
default menu.c32
timeout 600
label linux
menu label Install ^Desktop CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.47.10/ksdir/k7-desktop.cfg
label check
menu label Install ^Mini CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.47.10/ksdir/k7-mini.cfg
label local
menu default
menu label Boot from ^local drive
localboot 0xffff
menu end
最后,确保防火墙和selinux关闭
打开三项服务
systemctl httpd dhcpd tftp.service
空白虚拟机开机,虚拟机的内存需要大于1.1G以上,磁盘空间也要大于分区的空间,否则会报错失败。
原文地址:https://www.cnblogs.com/tony3154/p/10206703.html