原理图

实验步骤

1.配置DHCP

yum install -y dhcp  #安装 dhcp
vim /etc/dhcp/dhcpd.conf

subnet 网段 netmask 255.255.255.0 {
  range 192.168.16.66 192.168.16.77;
  option routers 192.168.16.2;    #网关
  next-server 192.168.16.130; #tftp server的ip
  filename "pxelinux.0"; #pxe boot需要的启动文件名, 相当于bootloader
}

2.配置TFTP

yum install tftp-server xinetd
vim /etc/xinetd.d/tftp

disable  -->   no
server_args  --> -s 保存目录

3.配置httpd

yum install httpd
systemctl restart httpd

4.搬文件

UpDate:2020-03-20 11:31:37 修补各种坑坑洼洼

`/tftpboot tftp的保存路径
/iso 系统挂载路径`

##### 1.首先把系统镜像挂载出来
mount -o loop /dev/sr0 /iso
Tips:如果sr0为空还是VM虚拟机,则看机器的属性 CD/DVD 那设备状态 [已连接] 这个有没有开

##### 2.引导程序
mkdir /tftpboot
正常是没有没有启动文件的,需要先安装
yum install -y syslinux
cp /usr/share/syslinux/pxelinux.0 /tftpboot/
Tips:pxelinux.0文件名要和dhcp配置文件内的一致

##### 3.启动文件
cd /tftpboot
cp /iso/isolinux/* .   ##isolinux目录下全部复制到tftpboot
mkdir pxelinux.cfg
cp isolinux.cfg pxelinux.cfg/default
cp ~/an(tab) /var/www/html/ks.cfg
TIPs:ks.cfg 配置文件是在你安装系统时选择的那些配置(语言、安装源、硬盘那些)
网上大多数都用的kickstart,但是我个人没用过

##### 4.挂载一个地方能给 PXEclient用的
mkdir /var/www/html/cdrom
mount /dev/sr0 /var/www/html/cdrom

5.修改启动文件

##### 1.default
vim /tftpboot/pxelinux.cfg/default

default linux

 ## 找到 lable linux
    append initrd=initrd.img ks=http://192.168.1.123/ks.cfg
####################################
##### 2.ks.cfg
vim /var/www/html/ks.cfg
#cdrom   ## 一定要删掉
url --url="http://192.168.1.123/cdrom"   ## 插入这行

注意事项:

UpDate:2020-03-20 11:39:08 经历10个小时折腾出来的东西

  • 1.ks.cfg
    权限改为777 ,防止暴毙
  • 2.selinux firewalld
    全部关掉,防止暴毙
  • 3.cdrom一定要注释
    即使url --url 在前 ,也会跑去cdrom找CD玩(亲身经历,血的教训)[bq]luotianyi/15[/bq]
  • 4.tftp重启命令
    systemctl restart xinetd tftp tftp* (别问为什么,问就是求稳)
  • 5.内存建议2G最低
    以免暴毙

使用FTP

Update: 2019-12-03 09:05:42 星期二
1. 安装VSFTPD
2.修改配置文件vsftpd
anonymous_enable=YES
anon_upload_enable=YES
#写入权限
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
3.修改启动文件
cp ~/an(tab) /pub/ks.cfg
#### ks.cfg
url --url="ftp://192.168.60.224/pub/iso"

##### pxelinux.cfg
 ks=ftp://192.168.60.224/pub/ks.cfg

NFS

Update:2020-03-21 14:33:54

因为NFS的特殊性,所以在共享目录里挂载的镜像是找不到的,所以请使用cp复制文件来实现

1.安装
2.修改nfs文件
vim /etc/exportfs
    /iso *(ro)
    /tftpboot *(ro)
### 本人的镜像挂载:/iso
exportfs -r  ## 重载
3.修改启动文件
##### ks.cfg
nfs --server=10.30.50.13 --dir=/iso
nfs --server=IP --dir=共享目录

##### default
append ks=nfs:10.30.50.13:/tftpboot/ks.cfg initrd=initrd.img

#########################
ks.cfg 可以复制到tftpboot目录下
Last modification:June 28th, 2021 at 04:27 pm