搭建DHCP服务器
[root@server ~]# yum install dhcp-server.x86_64
#安装DHCP服务
[root@server dhcp]# rpm -ql dhcp-server | grep dhcpd.conf.example
/usr/share/doc/dhcp-server/dhcpd.conf.example
#这是一个dhcp配置文件的模板
[root@server dhcp]# cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp: overwrite '/etc/dhcp/dhcpd.conf'? y
#覆盖原有文件
[root@server dhcp]# vim /etc/dhcp/dhcpd.conf
[root@server dhcp]# cat /etc/dhcp/dhcpd.conf
subnet 10.5.5.0 netmask 255.255.255.224 {
range 10.5.5.26 10.5.5.30;
}
[root@server1 ~]# systemctl restart dhcpd
[root@server1 ~]# systemctl enable dhcpd
#重启dhcp服务
[root@server1 ~]# systemctl disable firewalld --now
关闭并停止防火墙
[root@server1 ~]# setenforce 0 #关闭selinux
搭建tftp服务器
[root@server-1 ~]# yum install tftp-server -y #安装tftp
[root@server-1 ~]# systemctl enable tftp --now #自启动并开启
Created symlink /etc/systemd/system/sockets.target.wants/tftp.socket → /usr/lib/systemd/system/tftp.socket.
[root@server-1 ~]# netstat -tnulp | grep 69 #看下端口放行情况
udp6 0 0 :::69 :::* 1/systemd
找到pxelinux.0文件
[root@server-1 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
修改dhcp配置文件
"/etc/dhcp/dhcpd.conf" 5L, 134C written
[root@server-1 tftpboot]# systemctl restart dhcpd
[root@server-1 tftpboot]# cat /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.99;
next-server 192.168.1.100;
filename "pxelinux.0";
}
dhcp服务器告诉pxe客户端,如果你是pxe引导的,那么tftp服务器的地址就192.168.1.100,你可以到tftp服务器上的根目录下载pxelinux.0
[root@server-1 tftpboot]# cp /usr/share/syslinux/ldlinux.c32 .
创建pxelinux.cfg,该目录是pxe客户端在执行完pxelinux.0后会自动请求的一个目录,会请求该目录下的boot menu
[root@server-1 tftpboot]# mkdir pxelinux.cfg
[root@server-1 tftpboot]# cp -rf /usr/share/syslinux/* .
[root@server-1 tftpboot]# cat pxelinux.cfg/default
default menu.c32
timeout 30000
label chenl-pex-test
kernel vmlinuz
append initrd.img
搭建HTTP服务器
[root@server-1 ~]# yum install httpd -y #安装软件包
[root@server-1 html]# mkdir iso #创建光盘挂载点
[root@server-1 html]# mount /dev/sr0 ./iso/ #挂在光盘
mount: /var/www/html/iso: WARNING: device write-protected, mounted read-only.
[root@server-1 html]# systemctl enable httpd --now #启动httpd服务
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@bogon ~]# cat /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 1
label chenl-pex-test
kernel vmlinuz
append initrd=initrd.img method=http://10.10.10.1/iso
Kickstart
自动安装操作系统
kickstart就是一个配置文件,该配置文件几率了你的安装操作系统的步骤,如果你安装一个新的操作系统,采用了现有的kickstart配置文件,那么你当前安装的操作系统就会按照kickstart配置文件描述的步骤安装。
[root@bogon ~]# mv /var/www/html/ #将ks文件放在http的根目录
[root@bogon ~]# chmod o+r /var/www/html/anaconda-ks.cfg