PXE高效装机(附加脚本)
发表于:2024-10-25 作者:千家信息网编辑
千家信息网最后更新 2024年10月25日,一、PXE网络装机1.概述:PXE是intel公司开发的网络引导技术,C/S架构;2.条件:服务器端:服务作用dhcp服务为客户机提供网络参数,及指定pxe服务器地址tftp-server服务为客户端
千家信息网最后更新 2024年10月25日PXE高效装机(附加脚本)
一、PXE网络装机
1.概述:PXE是intel公司开发的网络引导技术,C/S架构;
2.条件:
服务器端:
服务 | 作用 |
---|---|
dhcp服务 | 为客户机提供网络参数,及指定pxe服务器地址 |
tftp-server服务 | 为客户端发送vmlinuz内核,initrd.img启动文件,pxelinux相关的文件 |
vsftpd服务 | 提供系统安装过程的ISO镜像中的软件及ks.cfg(应答文件) |
kickstart服务 | 生成ks.cfg应答文件(涵盖了装系统中的每一步) |
客户端:网卡支持PXE协议,且主板支持网络引导;
3.三个组件的关系
4.装机流程:
a、设置客户机的BIOS从PXE启动
b、客户机向网络中请求DHCP服务器获取动态IP
c、DHCP服务器下发IP、引导文件位置、TFTP服务器地址
d、客户机请求TFTP服务器获取引导文件
e、执行引导程序
f、请求TFTP服务器获取配置文件(pxelinux.cfg)
g、配置文件包含vmlinux、initrd.img、ks文件位置信息
h、根据配置文件,用户请求TFTP服务器获取linux内核(vmlinux)
i、请求TFTP服务器获取linux根文件系统(initrd.img)
j、客户机启动linux内核
k、内核挂载initrd.img,并执行挂载各种各样的模块
l、如果设置KS文件,装机步骤自动选择,否则需手动选择
m、装机完成
二.实验过程
(一)安装dhcp服务以及配置 /etc/dhcp/dhcpd.conf
[root@localhost network-scripts]# yum install dhcp -y 安装dhcp服务[root@localhost network-scripts]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 复制为dhcp的配置文件cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y[root@localhost network-scripts]# vim /etc/dhcp/dhcpd.conf 编辑dhcp配置文件
subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.20 192.168.100.340; option routers 192.168.100.100; option domain-name-servers 114.114.114.114; next-server 192.168.100.100;//指向tftp服务器地址 filename "pxelinux.0";指定引导文件}
(二)安装syslinux,tftp服务
1安装tftp,修改配置文件
[root@localhost network-scripts]# yum install tftp-server -y //安装tftp服务[root@localhost network-scripts]#sed -i '/disable/s/yes/no/g' /etc/xinetd.d/tftp //修改配置文件
2.安装syslinux,并且把引导文件pxelinux.0复制到 /var/lib/tftpboot 目录下
oot@localhost network-scripts]# yum install syslinux -y //安装syslinux[root@localhost network-scripts]#find /usr/share/syslinux/ -name "pxelinux.0" -exec cp -fp {} /var/lib/tftpboot \; //把pxelinux.0 文件复制到/var/lib/tftpboot 目录下
(三)安装vsftp服务(安装之前先将centos7镜像文件连接到光盘),将压缩内核和初始化文件复制到TFTP站点
[root@localhost tftpboot]# yum install vsftpd -y //安装vsftp服务 mkdir /var/ftp/centos7 //创建centos7目录 mount /dev/sr0 /var/ftp/centos7 //把镜像挂载到centos7下面 find /var/ftp/centos7/images/pxeboot -name "initrd.img" -exec cp -fp {} /var/lib/tftpboot \; find /var/ftp/centos7/images/pxeboot -name "vmlinuz" -exec cp -fp {} /var/lib/tftpboot \;
(四)编辑启动菜单default配置文件,关闭防火墙并开启三个服务
[root@localhost pxeboot]# cd /var/lib/tftpboot/ 切换到tftp站点[root@localhost tftpboot]# mkdir pxelinux.cfg 创建配置文件目录[root@localhost tftpboot]# lsinitrd.img pxelinux.0 pxelinux.cfg vmlinuz[root@localhost tftpboot]# cd pxelinux.cfg/[root@localhost pxelinux.cfg]# vim default 编辑default配置文件[root@localhost pxelinux.cfg]# systemctl stop firewalld.service 关闭防火墙[root@localhost pxelinux.cfg]# setenforce 0[root@localhost pxelinux.cfg]# systemctl start dhcpd 启动三个服务[root@localhost pxelinux.cfg]# systemctl start tftp[root@localhost pxelinux.cfg]# systemctl start vsftpd
defualt配置文件如下
default autoprompt 1label auto kernel vmlinuz append initrd=initrd.img method=ftp://192.168.100.100/centos7label linux text kernel vmlinuz append text initrd=initrd.img method=ftp://192.168.100.100/centos7label linux rescue kernel vmlinuz append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7
三.脚本
#!/bin/bash#---------------------------#by jiji date:9-10 -#pxe高效装机 -#---------------------------#配置dhcp配置文件dhcpexp(){ echo -e " subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.10 192.168.100.20; option routers 192.168.100.100; option domain-name-servers 114.114.114.114; next-server 192.168.100.100; filename \"pxelinux.0\" ; }" >>/etc/dhcp/dhcpd.conf }#安装dhcprpm -q dhcpif [ $? -eq 0 ];then dhcpexpelse yum -y install dhcp cp -fpr /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf dhcpexpfi#安装tftp和修改配置文件 rpm -q tftp-serverif [ $? -ne 0 ];then yum -y install tftp-server sed -i '/disable/s/yes/no/g' /etc/xinetd.d/tftpelse sed -i '/disable/s/yes/no/g' /etc/xinetd.d/tftpfi#安装syslinuxrpm -q syslinuxif [ $? -ne 0 ];then find /usr/share/syslinux/ -name "pxelinux.0" -exec cp -fp {} /var/lib/tftpboot \;else yum -y install syslinux find /usr/share/syslinux/ -name "pxelinux.0" -exec cp -fp {} /var/lib/tftpboot \;fi$安装ftprpm -q vsftpdif [ $? -ne 0 ];then yum -y install vsftpd mkdir /var/ftp/centos7 mount /dev/sr0 /var/ftp/centos7 find /var/ftp/centos7/images/pxeboot -name "initrd.img" -exec cp -fp {} /var/lib/tftpboot \; find /var/ftp/centos7/images/pxeboot -name "vmlinuz" -exec cp -fp {} /var/lib/tftpboot \;else mkdir /var/ftp/centos7 mount /dev/sr0 /var/ftp/centos7 find /var/ftp/centos7/images/pxeboot -name "initrd.img" -exec cp -fp {} /var/lib/tftpboot \; find /var/ftp/centos7/images/pxeboot -name "vmlinuz" -exec cp -fp {} /var/lib/tftpboot \;fi#配置编辑default启动菜单mkdir /var/lib/tftpboot/pxelinux.cfgcat>/var/lib/tftpboot/pxelinux.cfg/default <<-EOFdefault autoprompt 1label auto kernel vmlinuz append initrd=initrd.img method=ftp://192.168.100.100/centos7label linux text kernel vmlinuz append text initrd=initrd.img method=ftp://192.168.100.100/centos7label linux rescue kernel vmlinuz append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7EOF#关闭防火墙启动服务systemctl stop firewalld.servicesetenforce 0systemctl start dhcpdsystemctl restart dhcpdsystemctl start tftpsystemctl restart tftpsystemctl start vsftpdsystemctl restart vsftpd
文件
服务
配置
服务器
客户
内核
客户机
网络
目录
三个
地址
系统
镜像
防火墙
防火
位置
客户端
站点
菜单
过程
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
用友总提示数据库登录
fifa3服务器连接异常怎么办
微软数据库报价
python大数据库
卡巴斯基为什么老是提示数据库
网络安全法全文打印
海康服务器管理口密码怎么改
数据库应用技术题目
中国移动网络技术
服务器安全狗漏洞安装失败
中国网络安全威胁历史
成都软件开发哪个比较好
网络安全专业安徽哪些大学
分布式服务器怎么进入
元宇宙软件开发公司北京
防护网络安全课都讲得什么
初中网络安全教育班会记录
福建启思互联网科技有限公司
江苏网络软件开发活动方案
收费站收费系统的网络安全
复制一张到另一个数据库
供应阿里云服务器安全
数据库模型发展史
网络安全服务部项目经理
浙江农信面试题数据库
广州市舜佶网络技术有限公司
广东新品服务器工厂
嘉定区网络技术电话
上海智慧门禁软件开发多少钱
江西正规软件开发供应商