知识普及:什么是DHCP,DHCP协议有什么用?(运维:如何实现无人自动安装Linux系统教程)

写在最前面的话:
无论是赤裸裸的生活,还是智力碾压式秀才华,抑或是随手记录日常点滴,人们都希望用各种方式得到他人的赞美与支持,获得内心的平衡与充实。点击关注我,我是鸿渐之翼,希望能我们共同在无穷的技术之路上风雨无阻,结伴而行

知识普及:什么是DHCP,DHCP协议有什么用?(运维:如何实现无人自动安装Linux系统教程)_第1张图片

服务简介:
什么是DHCP协议?
DHCP(动态主机配置协议Dynamic Host Configuration Protocol)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。
该协议是可以为客户端主机分配TCP/IP参数信息,如IP地址,子网掩码,网关,DNS等信息。
TFTP:
简单文件共享服务,TFTP服务存放可供客户端启动的系统镜像文件(安装系统所需文件)
PXE:
由intel公司开发的客户端到服务器的一种技术,让客户端通过网络进行远程下载启动镜像。
Kickstart技术:
这是我们用来安装系统的一种方式,他是一个自动应答文件(kickstartfile)
应用背景:
企业办公环境中使用DHCP服务可以帮助员工实现移动办公,只要接入企业内网,DHCP服务器就能分配网络参数。
在一个大型机房环境中,我们可以使用DHCP服务器实现自动安装Linux系统。
我们需要一个安装DHCP、TFTP、FTP环境的服务器,还有交换机,PC1、PC2、PC3通过交换机连接到安装服务器。
大概思路:
安装部署流程:客户端在BIOS中设置网络启动(PXE),当客户端启动时,就会用发包的方式寻找DHCP服务器,获得参数等信息。
客户端从DHCP得到TFTP服务器位置。即可从TFTP上的镜像文件下载到本地进行安装。
实验步骤:
配置DHCP服务:

su #提权root

安装DHCP需要的文件

yum -y install dhcp

配置DHCP文件(仅展示重要参数):

subnet #指定一个网段
netmask #网关
range xxx.xx.x.x -xxx.xx.x.x #一个区间的IP地址
default-lease-time 600 
max-lease-time 7200  #这两行参数尽量不要更改
next-server #TFTP服务器地址 
filename #设置TFTP服务器上共享启动文件的名称

安装TFTP服务:

yum -y install tftp-server 

TFTP配置文件地址:

vim /etc/xinet.d/tftp 

配置TFTP文件:

disable 改为 no 
server_args 我们需要的共享目录

配置FTP服务:

rpm -q vsftpd 
yum -y install vsftpd
systemctl start vsftpd

正片开始:
在DHCP服务器上设置为开机启动:

systemctl sstart dhcpd
systemctl enable dhcpd
netstat -nutlp | grep:67
#关闭服务器防火墙和SELinux防御机制
systemctl stop firewalld
systemctl disable firewalld 
setenforece 0 

安装部署TFTP服务器:

yum -y install tftp-server xinetd
vim /etc/xinetd.d/tftp
server_args = =s /var/lib/tftpboot#我们的文件地址

将客户端的启动文件复制到TFTP服务器上。

yum -y install syslinux #通过软件安装包获得引导文件
cp /usr/sharesyslinux/pxelinux.0 /var/lib/tftpboot/

如果用CentOS或者其他Linux系统的镜像光盘,或者USB让服务器主机读取。并将文件拷贝到TFTP目录下。

umount /dev/cdrom
mount /dev/cdrom /var/ftp/pub
cp /var/ftp/pub/ioslinux/* /var/lib/ftpboot/
mkdir /var/lib/ftpboot/pxelinux.cfg\
>var/lib/tffpboot/pxelinux.cfg/default
chmod 644 /var/lib/tftpboot/pxelinux.cfg/default 

修改配置文件如下:

vim /var/lib/tftpboot/pxelinux.cfg/default 

配置说明:
每个label定义一个启动菜单项目,menu default定义默认引导方式,timeout 定义启动界面超时时间(默认即可)。kernel指定系统内核文件vmlinuz。inst.ks参数指定自动应答文件的位置。
服务器重启TFTP服务并设置开机启动:

 systemctl restart xinetd 
 systemctl enable xinetd
 ss -nutlp | grep :69 #TFTP默认监听port69

创建Kickstart自动应答文件
安装system-config-kickstart图形软件:

yum -y install system-config-kickstart
mkdir /ks/

运行system-config-kickstart

system-config-kickstart

后面根据自己需求设置。
部署FTP服务器。

yum -y install vsftpd #安装vsftpd软件
systemctl start vsftpd
systemctl enable vsftpd  #将vsftpd设置为开机启动
systemctl stop firewalld 
systemctl disable firewalld
setenforce 0  #关闭防火墙

将系统光盘或ISO文件通过NFS共享
部署完FTP服务后,将光盘文件复制/var/ftp/pub目录中
首先将光盘从默认挂载点卸载:

umount /dev/cdrom 

将光盘重新挂载至/var/ftp/pub目录:

mount /dev/cdrom /var/ftp/pub 

那么问题来了,我们大多数人都不会花钱买光盘,那么我们如何挂载ISO镜像文件呢?

mount -o loop -t iso9660 镜像文件 /var/ftp/pub

启动客户端,安装部署系统。
在所有要安装系统的主机BIOS设置中,第一方式设为PXE网络启动。即可进入安装系统模式。
写在最后的话:
我是一个Linux爱好者,希望能为大家分享我的故事,也许我的文章帮助不是很大,只求大佬们给个支持,一键三连,文章中有许多不足之处,希望各位学者能指出批评。

关注:Hunter网络安全 获取更多资讯
网站:bbs.kylzrv.com
CTF团队:Hunter网络安全

你可能感兴趣的:(Linux,网络,linux,运维,centos)