前言
首先开两台机器,也可以开一台(桌面版的)
A:做dhcp和tftp服务器 192.168.128.254
B:做ftp服务器(桌面版的) 192.168.128.100
首先:
# yum install vim -y # yum install wget -y //下载wget工具,为下一步配源做准备 # mkdir /etc/yum.repo.d/repos # mv /etc/yum.repo.d/*.repo /etc/yum.repo.d/repos //备份现有的yum源
配置阿里云源
# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
扩展tab
# yum install bash-completion -y
# yum install bash-completion-extras -y
tftp端口号为69
dhcp端口号为67
ftp:21
一、在A机器上配置dhcp服务器
1.安装服务
[root@server ~]# yum install dhcp -y
[root@server ~]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.128.0 netmask 255.255.255.0 { range 192.168.128.200 192.168.128.240; next-server 192.168.128.254; filename "pxelinux.0"; }
解释: 第一行:ip必须是自己服务器所在ip的网段
第二行:自己想为新机分配的ip的范围
第三行:分配完成后去找谁(ip)128.254这个ip是tftp服务器的ip
第四行:去到这个服务器去找谁,去找ip/var/lib/tftpboot这里面由启动文件"pxelinux.0"
2.启动服务(启动+开机启动)
[root@server ~]# systemctl enable --now dhcpd
3.查看服务情况
[root@server ~]# netstat -uanp |grep 67
二、配置tftp服务器
下载目录:/var/lib/tftpboot/
配置文件:/etc/xinetd.d/tftp
1.安装tftp
[root@server ~]# yum install tftp-server -y
2.配置
[root@server ~]# vim /etc/xinetd.d/tftp
... disable = no ...
开启开机自启
3.启动服务
[root@server ~]# systemctl enable --now tftp
*测试
在/var/lib/tftpboot目录中放测试文件
# 在这个目录里面创建一个文件或者文件夹
在客户端安装tftp并下载测试
# 在另一台机器上yum install tftp
# tftp 192.168.128.254
# get file //file是你刚刚创建的文件或者文件夹
# exit
# 在客户端ls查看是否get下来了,那么就测试成功,否则失败。
三、配置vsftpd
1.安装服务,挂载镜像到/var/ftp/cdrom
[root@server ~]# yum install vsftpd -y [root@server ~]# cd /var/ftp/ [root@server ~]# mkdir ks cdrom [root@server ~]# mount /dev/sr0 /var/ftp/cdrom [root@server ~]# systemctl enable --now vsftpd
解释: 把本地镜像源挂载到ftp的cdrom(/var/ftp/cdrom)(仓库)
ks目录里面放有ks.cfg文件(安装选项;包括但不限于软件包、网卡名称、防火墙是否打开、时区设置、分区设置......)
最后启动+开机自启vsftpd服务。
*测试
ftp://ftp_ip/去访问就行
配置pxe所需要的文件
1.引导文件:pxelinux.0
[root@server ~]# yum install syslinux -y //下载服务 [root@server ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
syslinux这个服务是一个轻量级的引导加载程序,这里面有pxelinux.0这个文件,这就是分配完dhcp后要去找的一个文件
把这个文件放在tftp服务的根目录下。
2.内核文件,虚拟镜像文件
[root@server ~]# cd /var/ftp/cdrom/isolinux/ [root@server ~]# cp initrd.img vmlinuz /var/lib/tftpboot/
把tftp服务根目录里面的内核文件和虚拟文件放在tftp下
3.default文件
[root@server ~]# mkdir /var/lib/tftpboot/pxelinux.cfg [root@server ~]# cp /var/ftp/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default [root@server ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
1 default linux ... 64 append initrd=initrd.img ks=http://192.168.10.11/ks/ks.cfg ...
在tftp目录下创建pxelinux.cfg目录,把本地的/var/ftp/cdrom/isolinux/isolinux.cfg改名default放到tftp/pxelinux.cfg/目录下,这是镜像文件引导文件
修改内容ks=http://192.168.10.11/ks/ks.cfg意思是访问httpd服务的根目录下的/ks/ks.cfg。
ks.cfg文件是安装选项,自动化安装工具
ftp根目录:/var/ftp
http根目录:/var/www/html
四、制作ks文件
1.在B机器上安装工具(必须在图形化界面,如果没有,只能手写或者安装桌面)
# yum install system-config-kickstart -y
2.# system-config-kickstart
======================================================
1.将yum仓库的ID改成development
配置一个本地源
baseurl=file:///var/ftp/cdrom
2.新机器内存建议1.5G以上
######
如果只有一台mini版的
1.在迷你版上面自己写ks文件
2.先把自己的sr0镜像文件取消挂载,然后再插入需要安装的镜像文件,再把这个镜像文件挂载到/var/ftp/cdrom里面
######
如果是httpdfu服务就把default里面的路径写成"ks=http://your_httpserver_ip/ks/ks.cfg"
同理ftp就是写成"ks=ftp://your_ftpserver_ip/ks/ks.cfg"
总结tfpt服务根目录下
这下面是放置内核文件vmlinuz和虚拟镜像文件initrd.img,和dhcp服务启动完成后启动文件pexlinux.0
default:镜像文件引导文件
ftp服务(vsftpd)
ks放置启动选项ks.cfg
/var/ftp/cdrom是仓库
流程:
dhcp(dhcpd)服务-------->tftp服务------------>syslinux服务----------->ftp服务(vsftpd)。
访问
1.dhcp,告诉系统tftp服务的ip地址
2,/var/lib/tftpboot/pxelinux.0 (tftp服务引导文件)
3.下载tftp服务器的内核文件和虚拟镜像文件
4.读取default文件去加载ks.cfg文件
5.ftp服务器仓库(/var/ftp/cdrom)下载ks.cfg里面预先设置的软件包
6.安装重启
stat arp.cap
Access: 2023-08-30 20:25:08.632218294 +0800 //访问时间
Modify: 2023-08-30 20:24:50.347040534 +0800 //修改时间,修改文件内容会改变
Change: 2023-08-30 20:24:50.347040534 +0800 //改变时间,权限,属主,时间,大小
每天只有第一次查看的时候access才会改变,
touch更新时间。