今日目标:
DHCP
TFTP
FTP
课前准备:
1.SELinux 宽松模式
root@svr1 \~# getenforce
Permissive
2.关闭防火墙
root@svr1 \~# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
root@svr1 \~#
3.yum自定义仓库
一、网络装机概述
网络装机的优势:
----规模化:同时装多台主机
----自动化:装系统,配置各种服务
----远程实现:不需要光盘,U盘等物理安装介质
----开机启动项:
1.本地硬盘 2.光驱设备 3.U盘 4.网络引导安装
- PXE 网络
----PXE 预启动执行环境,可用于远程安装
----DHCP 分配ip地址,定位引导程序
----TFTP 提供引导程序
----HTTP (FTP/NFS) 提供yum安装源
-----条件:
网卡芯片必须支持PXE协议
主板支持从网卡驱动

二、构建装机服务
① DHCP
1、配置DHCP
dhcp动态主机配置协议,用于简化主机地址分配管理
-----主要相关参数:ip地址 子网掩码 广播地址 默认网关地址 DNS服务器地址
dhcp过程:
discover--------offer-------Request--------ACK
服务器端概念:
租期:允许客户机租用ip地址,单位为秒
作用域:分配给客户机的地址网段
地址池:用于动态分配ip地址所在范围
2、部署DHCP服务
1>装包
root@svr1 \~# yum -y install dhcp
root@svr1 \~# rpm -q dhcp
dhcp-4.2.5-82.el7.centos.x86_64

2>配置文件 /etc/dhcp/dhcpd.conf
模板位置:/usr/share/doc/dhcp*/dhcpd.conf.example
追加内容方式1.
root@svr1 doc# cat /usr/share/doc/dhcp*/dhcpd.conf.example >> /etc/dhcp/dhcpd.conf
追加内容方式2:
root@svr1 doc# vim /etc/dhcp/dhcpd.conf

修改配置文件:
root@svr1 \~# vim /etc/dhcp/dhcpd.conf

pxelinux.0 网卡引导文件
3>启服务
root@svr1 doc# systemctl start dhcpd
root@svr1 doc# systemctl status dhcpd

② tftp服务
ftp:文本传输协议 21
tftp:简单的文件传输协议 69
共享的主目录: /var/lib/tftpboot
1>装包
root@svr1 \~# yum -y install tftp-server

2>部署pxelinux.0文件
root@svr1 \~# yum provides */pxelinux.0
root@svr1 \~# yum -y install syslinux
root@svr1 \~# rpm -ql syslinux | grep pxelinux.0
root@svr1 \~# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
root@svr1 \~# ls /var/lib/tftpboot/



3>部署菜单文件
root@svr1 \~# df -h (查看光盘的挂载点)
root@svr1 \~# ls /mnt
root@svr1 \~# mkdir /var/lib/tftpboot/pxelinux.cfg
root@svr1 \~# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default



4> 部署图形模块和背景图片
root@svr1 \~# cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /var/lib/tftpboot


5>部署启动内核和驱动程序
root@svr1 \~# cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot


6>修改default下面的文件

③ 构建FTP服务
ftp:文件传输协议 端口 21
数据共享目录 /var/ftp/
1>装包启服务
root@svr1 \~# yum -y install vsftpd
root@svr1 \~# systemctl restart vsftpd
root@svr1 \~# systemctl status vsftpd

2>建立挂载点
root@svr1 \~# mkdir /var/ftp/centos
root@svr1 \~# umount /mnt
root@svr1 \~# df -h
root@svr1 \~# mount /dev/cdrom /var/ftp/centos/
mount: /dev/sr0 写保护,将以只读方式挂载
root@svr1 \~# ls /var/ftp/centos/
root@svr1 \~# curl ftp://192.168.4.7/centos/



④ 实现无人值守安装,生成应答文件
1>生成应答文件
root@svr1 \~# yum -y install system-config-kickstart
root@svr1 \~# system-config-kickstart (不可以用远程,因为要打开图形化界面所以在本机上运行)











2>利用FTP服务共享应答文件
root@svr1 \~# ls /root
anaconda-ks.cfg linux.txt named.conf tools 公共 视频 文档 音乐
ks.cfg merge.txt original-ks.cfg tools.tar.gz 模板 图片 下载 桌面
root@svr1 \~# cp /root/ks.cfg /var/ftp/
root@svr1 \~# ls /var/ftp
centos ks.cfg pub
root@svr1 \~# curl ftp://192.168.4.7/ks.cfg

3>修改菜单文件
root@svr1 \~# vim /var/lib/tftpboot/pxelinux.cfg/default

三、检测装机步骤


就可以装机啦啦啦啦啦啦啦!
撒花撒花💞
总结:
1、关闭防火墙,SELinux
root@svr1 \~# systemctl stop firewalld
root@svr1 \~# systemctl status firewalld
root@svr1 \~#getenforce
2、重启服务 DHCP TFTP
root@svr1 \~# systemctl start dhcpd
root@svr1 \~# systemctl start tftpd
3、DHCP的配置文件

root@svr1 \~# systemctl restart dhcpd
4、配置六项内容

5、配置菜单文件

6、构建ftp,提供软件包
root@svr1 \~# yum -y install vsftpd
root@svr1 \~# systemctl restart vsftpd
root@svr1 \~# mkdir /var/ftp/centos
root@svr1 \~# mount /dev/cdrom /var/ftp/centos/
mount: /dev/sr0 写保护,将以只读方式挂载
root@svr1 \~# ls /var/ftp/centos/
7、生成应答文件
root@svr1 \~# yum -y install system-config-kickstart
root@svr1 \~# system-config-kickstart
root@svr1 \~# cp /root/ks.cfg /var/ftp/
8、修改菜单文件
root@svr1 \~# vim /var/lib/tftpboot/pxelinux.cfg/default

9、实现批量装机
注意:新建的虚拟机内存最少2G,cpu 内核最少2个
