一、配置DHCP
- 安裝dchp
~]# yum install dhcpd
- 編輯配置文件
~]# vi /etc/dhcp/dhcpd.conf
subnet 192.168.168.0 netmask 255.255.255.0 {
option routers 192.168.168.100;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.168.128 192.168.168.254;
default-lease-time 600;
max-lease-time 7200;
#指定網絡引導文件名
filename "pxelinux.0";
#指定tftp服務器地址
next-server 192.168.168.100;
}
- 啓用dhcp服務
~]# systemctl start dhcpd
- 查看dhcp服務狀態(啓動服務沒有報錯不一定正常)
~]# systemctl status dhcpd
二、配置TFTP
- 安裝tftp
~]# yum install tftp-server
- 安裝xinetd
tftp依賴於xinetd服務管理
~]# yum install xinetd
- 編輯配置文件
~]# vi /etc/xinetd.d/tftp
service tftp
{
socket_type =dgram
protocol =udp
wait =yes
user =root
server =/usr/sbin/in/tftpd
server_args =-s /Data/tftpboot
disable =no
per_source =11
cps =100 2
flags =IPv4
}
#-s chroot
#-c creat files
#disable 服務是否關閉
- 啓用tftp服務
~]# systemctl start xinetd
- 查看tftp是否啓用
~]# ss -upl | grep tftp
三、配置FTP
- 安裝vsftpd
~]# yum install vsftpd
- 編輯配置文件
~]# vi /etc/vsftpd/vsftpd.conf
#修改匿名用戶目錄
anon_root=/Data/ftp
#取消匿名用戶密碼輸入提示
no_anon_password=YES
- 啓用vsftpd服務
~]# systemctl start vsftpd
- 查看vsftpd服務狀態
~]# systemctl status vsftpd
四、配置KS.CFG文件
- 拷貝系統文件/root/anaconda-ks.cfg並修改,製作成ks.cfg文件
#version=CentOS7
#version=DEVEL
# Firewall configuration
firewall --enabled --http --ssh --port=22:tcp
# Install OS instead of upgrade
install
# Use FTP installation media
#原本值爲cdrom;指爲光盤源安裝,現修改成ftp源
ulr --url ftp://192.168.168.100/pub/CentOS7
# Root password
rootpw --iscrypted $6$.3Wlqa30zo2IeR7J$YUizzv8mrb.KDrjs0m.281rIReMZjIc3LJSrzN7l3aLcil8YUVuqaWvc.DJAr6xcLHZb.zPb8QS7mAuPCnrRT0
# System authorization information
auth --useshadow --passalgo=sha512
#Run teh Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# System keyboard
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai --isUtc --nontp
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --none --initlabel
# Disk partitioning information
#按需求定義磁盤分區
part swap --fstype="swap" -ondisk=sda --size=3000
part /boot --fstype="ext4" -ondisk=sda --size=500
part /home --fstype="ext4" -ondisk=sda --size=2000
part / --fstype="ext4" -ondisk=sda --size=5000
part /Data --fstype="ext4" -ondisk=sda --size=9900
#安裝前執行命令
%pre
echo "Welcome to my kickstart"
%end
#安裝後執行命令
%post --nochroot
echo "192.168.10.55 server " >> /etc/hosts
%end
#選定安裝包
%packages
@compat-libraries
@core
@development
%end
- 使用ksvalidator檢查kickstart文件有無錯誤
~]# ksvalidator ks.cfg
- 拷貝ks.cfg文件至ftp指定目錄
~]# cp /root/ks.cfg /Data/ftp/pub/CentOS7
五、製作安裝文件
- 拷貝安裝文件至tftp目錄
~]# mount /dev/cdrom /media
~]# cp -r /media/isolinux /Data/tftp
- 拷貝網絡引導文件pexlinux.0至tftp目錄
- rpm2cpio:從rpm包中提取cpio歸檔文件
- cpio:從歸檔文件中提取文件或向歸檔文件中寫入文件
~]# mount /dev/cdrom /media
~]# cd /Data
~]# rpm2cpio /media/Packages/syslinux-4.05-8.el7.x86_64.rpm | cpio -idmv
~]# mkdir -pv /Data/tftp/pxelinux.cfg
~]# cp /Data/usr/share/syslinux/pxelinux.0 /Data/tftp/pxelinux.cfg/pxelinux.0
- 製作引導菜單文件
~]# vi /Data/tftp/pxelinux.cfg/default
default autoinstall prompt 1 timeout 10
label autoinstall
kernel vmlinuz
append ks=ftp://192.168.168.100/pub/ks.cfg initrd=initrd.img
- 拷貝安裝鏡像至ftp目錄(是爲ISO展開文件)
~]# cp -r /media /Data/ftp/pub/CentOS7
六、小結
- 重要目錄
/Data/tftp
/Data/tftp/pxelinux.cfg
/data/ftp/pub/CentOS7
-
配置文件
/etc/dhcpd/dhcpd.conf /etc/xinetd.d/tftp /etc/vsftpd/vsftpd.conf /Data/ftp/pub/CentOS7/ks.cfg /Data/tftp/pxelinux.cfg/default
- 文件調用順序
- dhcp指定pxelinux.0位置
- pxelinux.0調用default文件
- default指定ks.cfg位置
- ks.cfg指定鏡像文件位置