实验环境的搭建:
通过VMware Workstation搭建一个虚拟局域网环境.该局域网,
一台为名为CentOS1,计划做为kickstart 服务器,具体如下
为实验方便,已关闭iptables和SELinux
已配置完成yum,可通过yum来安装软件
另一台为刚配置好的裸机,未安装任何操系统
两台主机通过虚拟交换机VMnet8实现互联互通
注: 这边的主机是指那台需要安装操作系统的裸机,下同
那么,就让我们在CentOS上先来搭建这个DHCP+TFTP+FTP的PXE环境吧.
3.服务端软件安装
一般在linux上面安装一个服务,是按安装,配置,启动,检查4步来做的,下面我们安装,也是按这个流程来进行
1.安装DHCP服务
a.安装
#yum -y install dhcp
b.配置
查看配置文件位置
# rpm -ql dhcp |grep "dhcpd.conf" /etc/dhcp/dhcpd.conf #配置文件 /usr/share/doc/dhcp-4.1.1/dhcpd-conf-to-ldap /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample #模板 /usr/share/man/man5/dhcpd.conf.5.gz
注:在CentOS6之后,DHCP的配置文件调整到/etc/dhcp/目录下了
编写配置文件
# vim /etc/dhcp/dhcpd.conf #不进行DDNS的更新 ddns-update-style none; #不允许客户机更新DNS记录 ignore client-updates; #与下面的range配合声明可分配IP的范围 subnet 192.168.80.0 netmask 255.255.255.0 { #可分配的起始IP 结束IP range 192.168.80.10 192.168.80.20; #设定netmask option subnet-mask 255.255.255.0; #设置默认的IP租用期限 default-lease-time 21600; #设置最大 的IP租用期限 max-lease-time 43200; #用来告知主机TFTP服务器的ip next-server 192.168.80.3; #告知主机从TFTP根目录下载pxelinux.0文件 #pxelinux.0是PXE专用的一个boot loader 文件 filename "/pxelinux.0"; }
c.启动DHCP
# service dhcpd start Starting dhcpd: [ OK ]
d.检查DHCP是否正常监听
# netstat -nlptu |grep dhcp udp 0 0 0.0.0.0:67 0.0.0.0:* 1875/dhcpd
2.安装TFTP服务
a.安装
# yum -y install tftp-server
b.配置
# cd /etc/xinetd.d/ # ls chargen-dgram cvs daytime-stream discard-stream echo-stream tcpmux-server time-dgram chargen-stream daytime-dgram discard-dgram echo-dgram rsync tftp time-stream # vim tftp service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot #指定默认目录 disable = no #由原来的yes,改为no per_source = 11 cps = 100 2 flags = IPv4 }
在这我们暂时先不启动TFTP服务,继续配置主机引导所需要的文件
# yum -y install syslinux # rpm -ql syslinux |grep pxelinux /usr/share/doc/syslinux-4.02/pxelinux.txt /usr/share/syslinux/gpxelinux.0 /usr/share/syslinux/pxelinux.0
复制
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
b.复制选单展示文件
# cp /usr/share/syslinux/vesamenu.c32 /var/lib/tftpboot/
2.通光CentOS的安装光盘,获取 vmlinuz 和 initrd.img到TFTP的根目录
先挂载光盘,再复制
# mount /dev/cdrom /media/ mount: block device /dev/sr0 is write-protected, mounting read-only # cd /media/isolinux/ # cp vmlinuz /var/lib/tftpboot/ # cp initrd.img /var/lib/tftpboot/
当然如果你图省事,直接把/media/isolinux目录下的所有文件都复制到/var/lib/tftptboot/目录下,然后再进行下面的步骤,也没有问题,建议还是全复制了,这样开机选单画面还好看一点
这边用完先别把光盘umount掉,我们下面还有用
3.创建存放开机菜单配置文件的目录
# mkdir -p /var/lib/tftpboot/pxelinux.cfg
将光盘isolinux目录下的isolinux.cfg 复制到刚才我们新建的那个目录下,并改名为default
# cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
好了,我们把刚才TFTP没有做完的两步接下去做完
c.启动TFTP
# /etc/init.d/xinetd restart Stopping xinetd: [FAILED] Starting xinetd: [ OK ]
d.检查TFTP服务的监听是否正常
# netstat -nlptu |grep 69 udp 0 0 0.0.0.0:69 0.0.0.0:* 1675/xinetd
把上面这几步做完,主机就可以顺利开机了,但我们要安装系统,所以还得继续下去
a.安装vsFTP服务,提供系统安装程序以及安装程序所需的各种资源
# yum -y install vsftpd
b.安装完后,将系统安装盘中的所有文件复制到/var/ftp/pub目录下
# cp -a /media/* /var/ftp/pub/
c.启动FTP
# /etc/init.d/vsftpd start Starting vsftpd for vsftpd: [ OK ]
d.检查vsFTP服务监听是否正常
# netstat -nlptu |grep vsftpd tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 2118/vsftpd
到此一个PXE环境的服务端已经搭建好了,我们来看一下效果
4.主机通过网络安装操作系统
a.设置客户端从网络引导
b.设置从光盘引导
c.选择第一个选项
d.选择英语
e.选择美式键盘
f.选择URL方式安装
g.禁用IPv6
h.输入FTP的地址
好了大功告成,已经正常跳转到图形化安装界面了,下面就和本地用光盘装一样了,具体步骤大家自行百度吧