目录
环境准备
安装启用DHCP并配置文件
检查是否安装dhcp,没有则直接yum安装
yum install -y dhcp
复制
cp -rfp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
修改配置文件
vim /etc/dhcp/dhcpd.conf
subnet 192.168.150.0 netmask 255.255.255.0 { #配置IP和子网掩码
range 192.168.150.100 192.168.150.200; #配置地址池
option domain-name-servers 114.114.114.114; #配置域名解析
option routers 192.168.150.1; #配置网关
next-server 192.168.150.1;
filename "pxelinux.0" #配置引导文件
}
配置网卡
配置完成后去添加一块新的网卡
此时我们ifconfig检查一下,会发现多了一块网卡出来
然后我们拷贝一份ens33到ens37里面,并进入ens37网卡里面进行设置
配置TFTP
yum -y install tftp-server
yum -y install xinetd
vim /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
//wait no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接,表示是否开启多线程一起工作,否则需要等待
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
//指定TFTP根目录(引导文件的存储路径) -c允许上传
disable = no //修改 disable no表示开启TFTP服务
per_source = 11
//通过限制一个主机的最大连接数,从而防止某个主机独占某个服务,这里每个IP地址的连接数是11个
cps = 100 2
//表示服务器最多启动100个连接,如果达到这个数目将停止启动新服务2秒。在此期间不接受任何请求
flags = IPv4
}
systemctl enable tftp
systemctl start tftp
引导文件vmlinuz 和 initrd.img
mount /dev/cdrom /mnt
cp /mnt/images/pxeboot/initrd.img vmlinuz /var/lib/tftpboot/
systemctl start xinetd
systemctl enable xinetd
systemctl start tftp
systemctl enable tftp
引导文件pxelinux.0
pxelinux.0是个二进制文件,主要作用相当于一个系统安装步骤的指引,引导客户端如何安装系统
yum provides */pxelinux.0
查找其位置并复制到/var/lib/tftpbooot/
rpm -ql syslinux | grep pxelinux.0
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
配置启动菜单文件
因为由pxelinux.0这个文件决定是/var/lib/tftpboot/pxelinux.cfg/default文件,所以我们只要在/var/lib/tftpboot/下手动创建
mkdir /var/lib/tftpboot/pxelinux.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default
default auto //指定默认入口名称 ,对应下面的label auto
prompt 1
//设置是否等待用户选择,1 表示等待用户控制,0表示不等待用户控制,安装时会出现boot:如果按回车
表示选择auto模式
label auto //默认的图形安装
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.150.30/centos7
//method必须指定网络路径
label linux text //文本安装模式,出现boot:时输入linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.150.30/centos7
label linux rescue //救援模式,出现boot:时输入linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.150.30/centos7
kickstart
安装system-config-kickstart
yum install -y system-config-kickstart
打开Kickstart配置程序窗口
保存至/var/ftp/下,文件名 ks.cfg
可以对ks进行优化
vi /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 1
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.150.30/centos7 ks=ftp://192.168.100.100/ks.cfg
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.150.30/centos7 ks=ftp://192.168.100.100/ks.cfg
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.150.30/centos7 ks=ftp://192.168.100.100/ks.cfg