kicstart无人值守安装操作系统(无人值守安装驱动)

注意:免费节点订阅链接已更新至 2025-12-15点击查看详情

1.1 安装系统的方法


  l 光盘(ISO文件,光盘的镜像文件)===>>每一台物理机都得给一个光驱,如果用外置光驱的话,是不是每台机器都需要插一下


  l U盘:ISO镜像刻录到U盘==>>需要每台机器都需要插一下


  l 并行安装==>>网络安装


  l 自动化安装

1.2 linux下批量安装系统


kickstart是RedHat公司开源的软件,所以对CentOS兼容性最好。


原理:


  我们将手动安装的所有的详细步骤记录到一个文件中,然后kickstart通过读取这个文件就可以实现自动化安装系统。


  kickstart是一个项目的名称。没有这个软件。使用者水平是高中以上


  cobbler是对kickstart的所有组件的封装。使用者水平是初中以上。本质上就是网页版本的kickstart。

1.2.1 PXE说明


  PXE,全名Pre-boot Execution Environment,预启动执行环境;


  通过网络接口启动计算机,不依赖本地存储设备(如硬盘)或本地已安装的操作系统;


  由Intel和Systemsoft公司于1999年9月20日公布的技术;


  客户端/Server的工作模式;


  PXE客户端会调用网际协议(IP)、用户数据报协议(UDP)、动态主机设定协议(DHCP)、小型文件传输协议(TFTP)等网络协议;


  PXE客户端(客户端)这个术语是指机器在PXE启动过程中的角色。一个PXE客户端可以是一台服务器、笔记本电脑或者其他装有PXE启动代码的机器(我们电脑的网卡)

1.2.2 kickstart原理



1.2.3 PXE请求顺序说明


① PXE 客户端发送UDP广播请求


  PXE 客户端从自己的PXE网卡启动,通过PXE BootROM(自启动芯片)会以UDP(简单用户数据报协议)发送一个广播请求,向本网络中的DHCP服务器索取IP。


② DHCP服务器提供信息


  DHCP服务器收到客户端的请求,验证是否来至合法的PXE 客户端的请求,验证通过它将给客户端一个“提供”响应,这个“提供”响应中包含了为客户端分配的IP地址、pxelinux启动程序(TFTP)位置,以及配置文件所在位置。


③ PXE客户端请求下载启动文件


  客户端收到服务器的“回应”后,会回应一个帧,以请求传送启动所需文件。这些启动文件包括:pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img等文件。


④ TETP服务器响应客户端请求并传送文件


  当服务器收到客户端的请求后,他们之间之后将有更多的信息在客户端与服务器之间作应答, 用以决定启动参数。BootROM由TFTP通讯协议从tftp服务器 下载启动安装程序所必须的文件(pxelinux.0、pxelinux.cfg/default)。default文件下载完成后,会根据该文件中定义的引导顺序,启动Linux安装程序的引导内核。


⑤ 请求下载自动应答文件


  客户端通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通过什么安装介质来安装linux,如果是通过网络安装(NFS, FTP, HTTP),则会在这个时候初始化网络,并定位安装源位置。接着会读取default文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。


⑥ 客户端安装操作系统


  将ks.cfg文件下载回来后,通过该文件找到http镜像,并按照该文件的配置请求下载安装过程需要的软件包。


  http镜像和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。


  安装完成后,将提示重新引导计算机。

1.3 kickstart批量安装系统实践


  一般批量安装操作系统最好一次安装23台机器最佳,主要因为大部分交换机为24口,安装23台服务器没有太大的压力

1.3.1 环境说明


防火墙与selinux必须关闭。


[root@kickstart ~]# cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)


[root@kickstart ~]# uname -r

3.10.0-693.el7.x86_64


[root@kickstart ~]# getenforce

Disabled


[root@kickstart ~]# systemctl status firewalld.service

● 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@kickstart ~]# hostname -I

10.0.0.201 172.16.1.201


1.3.2 第一个里程碑:安装dhcp服务


安装


yum install dhcp -y


配置DHCP服务


cat >>/etc/dhcp/dhcpd.conf<<EOF

subnet 172.16.1.0 netmask 255.255.255.0 {

range 172.16.1.100 172.16.1.199;

option subnet-mask 255.255.255.0;

default-lease-time 21600;

max-lease-time 43200;

next-server 172.16.1.201;

filename "/pxelinux.0";

}

EOF


配置文件说明:


range 172.16.1.100 172.16.1.199; # 可分配的起始IP-结束IP

option subnet-mask 255.255.255.0; # 设定netmask

default-lease-time 21600; # 设置默认的IP租用期限

max-lease-time 43200; # 设置最大的IP租用期限

next-server 172.16.1.201; # 告知客户端TFTP服务器的ip

filename "/pxelinux.0"; # 告知客户端从TFTP根目录下载pxelinux.0文件


启动DHCP服务


[root@kickstart ~]# systemctl start dhcpd.service

[root@kickstart ~]# systemctl status dhcpd.service

● dhcpd.service - DHCPv4 Server Daemon


检测端口信息


[root@kickstart ~]# netstat -lntup |grep dhcpd

udp 0 0 0.0.0.0:43679 0.0.0.0:* 2090/dhcpd

udp 0 0 0.0.0.0:67 0.0.0.0:* 2090/dhcpd

udp6 0 0 :::58101 :::* 2090/dhcpd


查看其日志信息: (日志位置为/var/log/messages)


[root@kickstart ~]# tailf /var/log/messages

Nov 13 19:01:40 clsn dhcpd: Listening on PF/eth1/00:0c:29:a8:59:b2/172.16.1.0/24

Nov 13 19:01:40 clsn dhcpd: Sending on LPF/eth1/00:0c:29:a8:59:b2/172.16.1.0/24

Nov 13 19:01:40 clsn dhcpd:

Nov 13 19:01:40 clsn dhcpd: No subnet declaration for eth0 (10.0.0.201).

Nov 13 19:01:40 clsn dhcpd: ** Ignoring requests on eth0. If this is not what

Nov 13 19:01:40 clsn dhcpd: you want, please write a subnet declaration

Nov 13 19:01:40 clsn dhcpd: in your dhcpd.conf file for the network segment

Nov 13 19:01:40 clsn dhcpd: to which interface eth0 is attached. **


注:配置dhcp的时候是可以配置监听的网卡,指定监听网卡


DHCPDARGS=eth1 # 指定监听网卡

1.3.3 创建一个新的空白虚拟机


说明:Centos7.3之后安装系统至少需要2G内存,低于2G将无法安装




开启虚拟机




日志输出


Nov 13 19:01:40 clsn dhcpd: Sending on Socket/fallback/fallback-net

Nov 13 19:01:40 clsn systemd: Started DHCPv4 Server Daemon.

Nov 13 19:12:16 clsn dhcpd: DHCPDISCOVER from 00:0c:29:64:7b:09 via eth1

Nov 13 19:12:17 clsn dhcpd: DHCPOFFER on 172.16.1.120 to 00:0c:29:64:7b:09 via eth1

Nov 13 19:12:18 clsn dhcpd: DHCPREQUEST for 172.16.1.120 (172.16.1.201) from 00:0c:29:64:7b:09 via eth1

Nov 13 19:12:18 clsn dhcpd: DHCPACK on 172.16.1.120 to 00:0c:29:64:7b:09 via eth1

Nov 13 19:12:54 clsn kernel: perf: interrupt took too long (6342 > 6262), lowering kernel.perf_event_max_sample_rate to 31000


1.3.4 安装tftp服务


安装tftp软件


[root@kickstart ~]# yum install tftp-server -y


启动服务


[root@kickstart ~]# systemctl start tftp.socket

[root@kickstart ~]# systemctl status tftp.socket


tftp根目录


[root@kickstart ~]# cd /var/lib/tftpboot/


再次启动虚拟机



启动发现又tftp但是没找到要加载的系统。上面报错是在TFTP服务的根目录找不到启动文件pxelinux.0

1.3.5 获取pxelinux.0系统


通过安装软件获得


[root@kickstart tftpboot]# yum install -y syslinux


复制pxelinux.0文件到tftp根目录


[root@kickstart tftpboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

[root@kickstart tftpboot]# ls

pxelinux.0




    首先排除最简单故障原因:selinux是否关闭,防火墙是否关闭


    上面的错误是因为pxelinux.0这个小系统的配置文件(default)不存在,或者文件名不对

1.3.6 添加pxelinux.0配置文件


1)给虚拟机添加上centos7的镜像,注意实在kickstart服务端添加



2)将镜像挂载上


特别说明:由于这是测试环境可以使用挂载,在生产环境中必须把镜像中的文件复制到硬盘上,光驱速度太慢。


mkdir -p /var/www/html/CentOS7

mount /dev/cdrom /var/www/html/CentOS7


3)将镜像中的相关文件复制到tftp根目录


cp -a /var/www/html/CentOS7/isolinux/* /var/lib/tftpboot/

mkdir -p /var/lib/tftpboot/pxelinux.cfg

cp /var/www/html/CentOS7/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default


4)修改default配置文件实现通过网络安装操作系统


CentOS7.X 网络安装的关键点,修改default文件



修改完成后,重启pxe客户端,就会有安装界面,与使用光盘安装一致,这里就不是做详细的记录了。注意实现网路安装需要将下一步完成(配置http服务)。




5)CentOS7实现自动化安装的default文件


[root@kickstart ~]# cat /var/lib/tftpboot/pxelinux.cfg/default

default ks

prompt 0


label ks

kernel vmlinuz

append initrd=initrd.img ks=http://172.16.1.201/ks_config/CentOS7-ks.cfg net.ifnames=0 biosdevname=0 ksdevice=eth1


1.3.7 配置httpd服务


安装apache服务


[root@kickstart tftpboot]# yum install httpd -y


启动apache服务


[root@kickstart tftpboot]# systemctl start httpd.service

[root@kickstart tftpboot]# systemctl status httpd.service

● httpd.service - The Apache HTTP Server


通过浏览器访问,使用curl命令镜像访问。


http://10.0.0.201/CentOS7/

curl http://172.16.1.201/CentOS7/



1.4 ks文件说明

1.4.1 ks文件的作用


   通常,我们在安装操作系统的过程中,需要大量的和服务器交互操作,为了减少这个交互过程,kickstart就诞生了。使用这种kickstart,只需事先定义好一个Kickstart自动应答配置文件ks.cfg(通常存放在安装服务器上),并让安装程序知道该配置文件的位置,在安装过程中安装程序就可以自己从该文件中读取安装配置,这样就避免了在安装过程中多次的人机交互,从而实现无人值守的自动化安装。

1.4.2 ks文件生成的三种方式


方法1


  每安装好一台Centos机器,Centos安装程序都会创建一个kickstart配置文件,记录你的真实安装配置。如果你希望实现和某系统类似的安装,可以基于该系统的kickstart配置文件来生成你自己的kickstart配置文件。(生成的文件名字叫anaconda-ks.cfg位于/root/anaconda-ks.cfg)  


方法2


  Centos提供了一个图形化的kickstart配置工具。在任何一个安装好的Linux系统上运行该工具,就可以很容易地创建你自己的kickstart配置文件。kickstart配置工具命令为redhat-config-kickstart(RHEL3)或system-config-kickstart(RHEL4,RHEL5).网上有很多用CentOS桌面版生成ks文件的文章,如果有现成的系统就没什么可说。但没有现成的,也没有必要去用桌面版,命令行也很简单。


方法3


  阅读kickstart配置文件的手册。用任何一个文本编辑器都可以创建你自己的kickstart配置文件。

1.4.3 centos7.4自动应答文件(ks)


# Kickstart Configurator for CentOS 7 by yao zhang #命令段

install #告知安装程序,这是一次全新安装,而不是升级

url --url="http://172.16.1.201/CentOS7/" #通过http下载安装镜像

text #以文本格式安装

lang en_US.UTF-8 #设置字符集格式

keyboard us #设置键盘类型

zerombr #清除mbr引导

bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" #指定引导记录被写入的位置

network --bootproto=static --device=eth0 --gateway=10.0.0.254 --ip=10.0.0.202 --nameserver=223.5.5.5 --netmask=255.255.255.0 --activate #配置eth0网卡

network --bootproto=static --device=eth1 --ip=172.16.1.202 --netmask=255.255.255.0 --activate #配置eth1网卡

network --hostname=Cobbler #设置主机名

#network --bootproto=dhcp --device=eth1 --onboot=yes --noipv6 --hostname=CentOS7

timezone --utc Asia/Shanghai 可以使用dhcp方式设置网络

authconfig --enableshadow --passalgo=sha512 #设置密码格式

rootpw --iscrypted $6$X20eRtuZhkHznTb4$dK0BJByOSAWSDD8jccLVFz0CscijS9ldMWwpoCw/ZEjYw2BTQYGWlgKsn945fFTjRC658UXjuocwJbAjVI5D6/ #密文密码

clearpart --all --initlabel #清空分区

part /boot --fstype xfs --size 1024 #/boot分区

part swap --size 1024 #swap分区

part / --fstype xfs --size 1 --grow #/分区

firstboot --disable #负责协助配置redhat一些重要的信息

selinux --disabled #关闭selinux

firewall --disabled #关闭防火墙

logging --level=info #设置日志级别

reboot #安装完成重启


%packages #包组段 @表示包组

@^minimal

@compat-libraries

@debugging

@development

tree

nmap

sysstat

lrzsz

dos2unix

telnet

wget

vim

bash-completion

%end


%post #脚本段,可以放脚本或命令

systemctl disable postfix.service #关闭邮件服务开机自启动

%end


1.4.4 PXE配置文件default


由于多个客户端可以从一个PXE服务器引导,PXE引导映像使用了一个复杂的配置文件搜索方式来查找针对客户机的配置文件。如果客户机的网卡的MAC地址为8F:3H:AA:6B:CC:5D,对应的IP地址为10.0.0.195,那么客户机首先尝试以MAC地址为文件名匹配的配置文件,如果不存在就以IP地址来查找。根据上述环境针对这台主机要查找的以一个配置文件就是 /tftpboot/pxelinux.cfg/01-8F:3H:AA:6B:CC:5D。如果该文件不存在,就会根据IP地址来查找配置文件了,这个算法更复杂些,PXE映像查找会根据IP地址16进制命名的客户机配置文件。例如:10.0.0.195对应的16进制的形式为C0A801C3。(可以通过syslinux软件包提供的gethostip命令将10进制的IP转换为16进制)


如果C0A801C3文件不存在,就尝试查找C0A801C文件,如果C0A801C也不存在,那么就尝试C0A801文件,依次类推,直到查找C文件,如果C也不存在的话,那么最后尝试default文件。


总体来说,pxelinux搜索的文件的顺序是:


/tftpboot/pxelinux.cfg/01-88-99-aa-bb-cc-dd

/tftpboot/pxelinux.cfg/C0A801C3

/tftpboot/pxelinux.cfg/C0A801C

/tftpboot/pxelinux.cfg/C0A801

/tftpboot/pxelinux.cfg/C0A80

/tftpboot/pxelinux.cfg/C0A8

/tftpboot/pxelinux.cfg/C0A

/tftpboot/pxelinux.cfg/C0

/tftpboot/pxelinux.cfg/C

/tftpboot/pxelinux.cfg/default


1.4.5 上面的事情做完以后就可以批量安装系统了


[root@Cobbler ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda3 98G 1.5G 97G 2% /

devtmpfs 227M 0 227M 0% /dev

tmpfs 237M 0 237M 0% /dev/shm

tmpfs 237M 4.6M 232M 2% /run

tmpfs 237M 0 237M 0% /sys/fs/cgroup

/dev/sda1 1014M 135M 880M 14% /boot

tmpfs 48M 0 48M 0% /run/user/0


[root@Cobbler ~]# systemctl status firewalld.service

● 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@Cobbler ~]# getenforce

Disabled


[root@Cobbler ~]# hostname -I

10.0.0.202 172.16.1.202


1.5 常见错误

1.5.1 网卡无法启动解决


解决办法:


将NetworkManager服务停止,再重新启动network服务


[root@CentOS7 ~]# systemctl disable NetworkManager

Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.

Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.

Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.


[root@CentOS7 ~]# systemctl stop NetworkManager


1.5.2 Could not find kernel image




报错原因:selinux没关

1.5.3 查考文档


http://blog.oldboyedu.com/autoinstall-kickstart/


http://www.zyops.com/autoinstall-kickstart

————————————————

版权声明:本文为CSDN博主「惨绿少年」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/admin_root1/article/details/84965606

2020年Quantumult共享账号全攻略:从入门到精通的高效使用指南

引言:共享经济时代的网络加速利器

在数字生活日益丰富的2020年,iOS用户对高质量网络代理工具的需求呈现爆发式增长。Quantumult作为当时备受推崇的多协议代理工具,凭借其卓越的性能和灵活的配置选项,成为众多科技爱好者的首选。面对相对较高的订阅成本,共享账号模式应运而生——这种创新方式不仅显著降低了使用门槛,更形成了独特的数字资源共享生态。本文将深入剖析Quantumult共享账号的完整使用链条,从核心功能解析到高级配置技巧,为您呈现一份详尽的实践手册。

第一章 Quantumult工具深度解析

1.1 工具定位与技术架构

Quantumult绝非普通的网络代理应用,它是一个融合了流量管理、规则引擎和协议栈的智能网络平台。其技术架构支持从基础的HTTP/HTTPS代理到复杂的SOCKS5隧道,甚至能够实现基于JavaScript的流量定制化处理。2020年版本的最大突破在于引入了"策略组"概念,允许用户根据不同应用、不同时段自动切换代理策略,这种设计思路在当时领先同类产品至少一个代际。

1.2 核心功能矩阵

  • 多协议支持矩阵
    ▸ HTTP/HTTPS标准代理协议
    ▸ SOCKS5带认证的隧道协议
    ▸ VMess/VLESS等新兴加密协议(需通过插件扩展)
    ▸ 原生支持TLS1.3加密传输

  • 智能分流系统
    通过基于域名的规则匹配,可实现国内外流量智能分流。典型场景如:国内直连节省延迟,国际流量自动选择最优线路。

  • 性能优化特性
    内置TCP快速打开、0-RTT握手等加速技术,配合BBR拥塞控制算法,使网络延迟降低40%以上。

第二章 共享账号生态的运营逻辑

2.1 共享经济模型分析

2020年Quantumult共享账号市场呈现出典型的平台经济特征:
- 供给端:专业技术团队批量采购企业级线路,通过账号拆分实现规模效益
- 需求端:个人用户以1/3-1/5的价格获得80%以上的核心功能体验
- 平台方:各类论坛和TG群组充当信息中介,发展出完整的信用评价体系

2.2 风险控制方法论

使用共享账号必须注意的三大安全准则:
1. 信息隔离原则:绝不使用共享账号登录个人iCloud等敏感服务
2. 流量监控机制:定期检查Quantumult的流量日志,异常流量立即断连
3. 支付安全规范:优先选择支持第三方担保交易的平台,避免直接转账

第三章 实战配置全流程详解

3.1 环境准备阶段

  1. 设备兼容性检查(需iOS 11.0+系统)
  2. 地区账号切换指南(部分功能需要美区/日区App Store)
  3. 网络环境预检测(关闭运营商DNS劫持等干扰)

3.2 账号配置六步法

  1. 凭证导入:通过二维码扫描或手动输入账号信息
  2. 服务器优选:使用延迟测试功能自动选择最优节点
  3. 规则集加载:导入维护良好的第三方规则仓库(推荐使用神机规则)
  4. 策略组配置:设置流媒体/游戏/下载等场景专属策略
  5. MITM配置:针对特定网站启用中间人解密(需谨慎使用)
  6. 模块化扩展:添加JavaScript脚本实现自动签到等高级功能

3.3 性能调优技巧

  • CDN加速方案:对视频流媒体启用边缘缓存加速
  • 协议优化组合:TCP+WS+TLS组合适合高干扰网络环境
  • 时段策略配置:夜间自动切换至低优先级线路节省成本

第四章 典型问题解决方案库

4.1 连接类故障排除

| 故障现象 | 诊断步骤 | 解决方案 |
|---------|---------|---------|
| 持续认证失败 | 1.检查账号有效期 2.验证密码特殊字符 | 联系供应商重置凭证 |
| 间歇性断流 | 1.进行MTR路由跟踪 2.检查MTU设置 | 启用TCP快速重传 |

4.2 功能异常处理

  • 规则失效:更新规则时间戳,检查语法冲突
  • 脚本报错:检查JavaScript引擎兼容性,回退稳定版本
  • 证书警告:重新安装CA证书,关闭系统证书验证

第五章 进阶玩法与生态拓展

5.1 自动化运维体系

通过Quantumult的API接口实现:
- 自动切换最优节点
- 流量使用量预警
- 定时策略切换

5.2 私有化部署方案

技术型用户可尝试:
1. 自建VPS服务器集群
2. 配置多用户隔离系统
3. 实现账号租赁自动化管理

专业点评:共享模式的数字伦理思考

这篇指南揭示了一个有趣的数字悖论:在追求网络无界的同时,我们却不得不建立更复杂的规则系统。Quantumult共享账号现象本质上是网络自由主义与商业逻辑的巧妙平衡——它既突破了地理限制,又受制于资源分配的客观规律。

从技术角度看,2020年的Quantumult代表了移动端代理工具的巅峰设计,其模块化架构至今仍被后来者模仿。而共享账号模式则展现了用户群体的集体智慧,通过自治规则和信用机制,在没有官方支持的情况下构建起可持续的共享经济模型。

需要警惕的是,这种模式始终游走在服务条款的灰色地带。正如指南中强调的安全准则所示,享受便利的同时必须建立风险意识。或许未来的发展方向应该是开源社区驱动的去中心化方案,在保持共享优势的同时规避合规风险。

这份指南的价值不仅在于技术层面的详尽指导,更在于它记录了一个特定时期的网络文化现象。当我们在2023年回望这些实践,会发现许多创新思路已经融入主流网络工具的设计哲学,这正是技术演进的有趣之处。

版权声明:

作者: freeclashnode

链接: https://www.freeclashnode.com/news/article-4061.htm

来源: FreeClashNode

文章版权归作者所有,未经允许请勿转载。

免费节点实时更新

热门文章

最新文章

归档