一.DHCP服务(分配有效IP地址)
1.编辑dhcp的配置文件(要关闭虚拟机虚拟网络的dhcp服务不然会冲突)
[root@localhost ~]# yum install -y dhcp #安装DHCP
已安装:
dhcp.x86_64 12:4.2.5-82.el7.centos
完毕!
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf #编辑配置文件
:r /usr/share/doc/dhcp*/dhcpd.conf.example #末行命令,复制配置模板
...
# A slightly different configuration for an internal subnet.
subnet 192.168.213.0 netmask 255.255.255.0 { #更改子网地址段和掩码
range 192.168.213.100 192.168.213.200; #更改地址池范围
option domain-name-servers ns1.internal.example.org;
option domain-name "internal.example.org";
option routers 192.168.213.2; #配置网关(与虚拟机网络网关相同)
option broadcast-address 10.5.5.31;
default-lease-time 600;
max-lease-time 7200;
}
#自己添加两行内容
next-server 192.168.213.124; #指定TFTP服务器的地址 (自己添加)
filename "pxelinux.0"; #指定要下载的PXE引导程序的文件 (自己添加)
...
:wq #退出保存(末行)
2.配置网卡文件
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none #将自动dhcp分配IP改为none静态IP
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=39bdcdc8-966f-4a51-9359-74c010674044
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.213.124 #添加IP地址
GATEWAY=192.168.213.2 #添加网关地址
NETMASK=255.255.255.0 #添加掩码
DNS1=8.8.8.8 #添加dns
[root@localhost ~]# systemctl restart network #重启网络使网卡配置生效
3.重启dhcp服务获取ip(第二步一定要做不然dhcp服务重启不了)
[root@localhost ~]# systemctl restart dhcpd #重启dhcp服务
[root@localhost ~]# ip a | grep "ens33$" | awk '{print $2}' #查看IP地址
192.168.213.124/24
二.HTTP服务(提供镜像下载和ks.cfg自动应答文件)
1.复制镜像文件
[root@localhost ~]# yum install -y httpd #安装httpd
[root@localhost ~]# rm -rf /etc/httpd/conf.d/welcome.conf #删除apache默认的页面
[root@localhost ~]# df -h #查看镜像文件挂载点
文件系统 容量 已用 可用 已用% 挂载点
/dev/sr0 4.4G 4.4G 0 100% /mnt
[root@localhost ~]# cp -r /mnt /var/www/html/ #将镜像文件复制到DHCP服务上,使该文件可下载访问
2.关闭防火墙和selinux
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl restart httpd #重启服务
3.访问页面
三.TFTP服务(提供初始化镜像文件-linux引导加载模块文件、linux系统的内核文件、pxe引导文件程序和引导菜单文件default)
1.修改tftp配置文件
[root@localhost ~]# yum install -y tftp-server #安装tftp
[root@localhost ~]# yum install -y xinetd #安装xinetd程序
介绍:
1、xined是网络守护进程服务程序,有着强大的存取控制功能,防止Dos工具,数据转发等。
2、原则上任何系统服务都可以使用xinetd,然而最适合的应该是那些常用的网络服务,并且这个服务的
请求数目和频繁程度不会太高,像DNS和Apache就不适合采用这种方式。
3、tftp是可以使用xinetd程序的。
[root@localhost ~]# vim /etc/xinetd.d/tftp #修改tftp的配置文件
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot #存放传输文件的路径
disable = no #将yes改为no ,开启tftp服务
per_source = 11
cps = 100 2
flags = IPv4
}
[root@localhost ~]# systemctl restart tftp #重启tftp
[root@localhost ~]# systemctl restart xinetd #重启xinetd
2.复制所需文件
[root@localhost pxeboot]# ls
initrd.img TRANS.TBL vmlinuz
[root@localhost pxeboot]# pwd
/mnt/images/pxeboot
[root@localhost pxeboot]# cp initrd.img /var/lib/tftpboot/ #复制liunx系统引导加载文价
[root@localhost pxeboot]# cp vmlinuz /var/lib/tftpboot/ #复制liunx系统内核文件
[root@localhost ~]# yum install -y syslinux #安装pxe引导程序
[root@localhost ~]# find / -name pxelinux.0 #查找文件路径
/usr/share/syslinux/pxelinux.0
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #复制引导文件
3.编写引导菜单文件
[root@localhost tftpboot]# mkdir pxelinux.cfg
[root@localhost tftpboot]# ls
initrd.img pxelinux.0 pxelinux.cfg vmlinuz
[root@localhost tftpboot]# cd pxelinux.cfg/
[root@localhost pxelinux.cfg]# vim default #编写菜单引导文件
default linux #指定默认入口名称
prompt 0 #设置是否等待用户选择,“1"表示等待用户控制,“0”是不用等待。
label linux #label用来定义启动项
kernel vmlinuz #kernel和append用来定义引导参数
#下面内容需在一行,不然就会报错
append initrd=initrd.img method=http://192.168.213.124/mnt/ ks=http://192.168.213.124/ks.cfg
四.准备自动应答文件
1.下载可自动引导的程序
[root@localhost ~]# yum install -y system-config-kickstart
[root@localhost ~]#system-config-kickstart #只有图形化可调动这个程序
2.步骤
3.编辑生成的ks.cfg文件
[root@localhost ~]# vim ks.cfg
#在文件末尾添加一下内容
%packages
@^gnome-desktop-environment
@base
@core
@desktop-debugging
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
chrony
%end
%addon com_redhat_kdump --disable --reserve-mb='auto'
%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
[root@localhost ~]# ls
anaconda-ks.cfg ks.cfg 公共 视频 文档 音乐
initial-setup-ks.cfg yum 模板 图片 下载 桌面
anaconda-ks.cfg #这是本机安装时的引导文件也可当作模板更改使用
[root@localhost ~]# cp ks.cfg /var/www/html/ #将编辑后的文件复制到httpd服务
五.测试安装