PXE搭建

前提最好是防火墙规则-F,关闭,selinux 是disable

这个在以后更新linux系统的时候还可以在这个基础上再次增加可以一体化安装的系统。

1.用yum来安装所需要的软件包,先来搭建yum光盘源:

[root@PXE ~]# mount /dev/cdrom /media

在/etc/yum.repos.d目录下创建一个以.repo结尾的文件:

[root@PXE ~]# mv /etc/yum.repos.d/* /mnt/

[root@PXE ~]# vi /etc/yum.repos.d/my.repo

配置内容如下:

[name]
name=mycd
gpgcheck=0
baseurl=file:///media

2.安装vsftpd服务以及开启服务,设置为开机自动启动。

[root@PXE ~]# yum install vsftpd –y

在/var/ftp目录下创建一个centos6.6目录,并将centos6.6光盘中的所有文件都复制到此目录下

[root@PXE ~]#mkdir /var/ftp/centos6.6

[root@PXE ~]# cp –rf /media/* /var/ftp/centos6.6/

 [root@PXE ~]# /etc/init.d/vsftpd start

[root@PXE ~]# chkconfig vsftpd on    

在防火墙添加策略(我在此处直接关闭了防火墙)

3.安装TFTP,修改tftp配置文件及开启服务

[root@PXE ~]# yum install tftp –y

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

[root@PXE ~]#vim /etc/xinetd.d/tftp

service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = yes
per_source = 11
cps = 100 2
flags = IPv4
}

接着重新启动xinetd服务,然后查看服务端口是否打开。

[root@PXE ~]# /etc/init.d/xinetd restart

OK,TFTP服务正常启动。Xinetd服务本来就是开机启动的,所以这里我们不再需要设置。

注意:但是要注意linux的防火墙规则,一定要允许UDP端口69的通信。(如果防火墙直接关闭了请忽略)

4.安装dhcp,修改配置文件及开启服务:

[root@PXE ~]# yum install dhcp –y

[root@PXE ~]#vim /etc/dhcp/dhcpd.conf

ignore client-updates;
allow booting;
allow bootp;
subnet 10.160.15.0 netmask 255.255.255.0 {

option routers 10.160.15.1;

option domain-name-servers 8.8.8.8;

option subnet-mask 255.255.255.0;

range dynamic-bootp 10.160.15.100 10.160.15.225;

filename "/pxelinux.0";

default-lease-time 21600;

max-lease-time 43200;

next-server 10.160.15.2;
}

接着启动DHCP,设置为开机启动

[root@PXE ~]# /etc/init.d/dhcpd start

[root@PXE ~]# chkconfig dhcpd on

5.系统光盘获得,分别为vmlinuz和initrd.Img位于文件夹images/pxeboot中。找到这两个文件并将其复制到tftp服务的根目录下/var/lib/tftpboot/。

6.准备PXE引导程序,启动菜单文件

用于PXE网络安装的引导程序为pxelinux.0,由软件包syslinux提供。安装好软件包syslinux,然后将文件pxelinux.0也复制大盘tftp服务的根目录下。

[root@PXE ~]#yum install –y syslinux

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

启动菜单用来指导客户机的引导过程,包括如何调用内核,如何加载初始化镜像。默认的启动菜单文件为default,应放置在tftp根目录的pxelinux.cfg子目录中,典型的启动菜单配置可参考一下操作手动建立。将/media/isolinux/isolinux.cfg文件复制到/var/lib/tftpboot/pxelinu.cfg/改名为default

[root@PXE~]#mkdir  /var/lib/tftpboot/pxelinux.cfg

[root@PXE~]#cp /media//isolinux/isolinux.cfg /var/lib/tftpboot/pxelinu.cfg/default

[root@PXE mnt]# vim /var/lib/tftpboot/pxelinux.cfg/default

default linux1
#prompt 1
timeout 600

display boot.msg

menu background splash.jpg
menu title Welcome to CentOS 6.6!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000

label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img ks=ftp://10.160.15.2/centos6.6/ks.cfg

更改default文件的权限

[root@PXE mnt]# chmod 644 /var/lib/tftpboot/pxelinux.cfg/default

root@PXE mnt]# ll /var/lib/tftpboot/pxelinux.cfg/default

-rw-r--r--. 1 root root 967 Sep 22 20:34 /var/lib/tftpboot/pxelinux.cfg

 拷贝ks脚本到/var/ftp/centos6.6/

并且给他777的权限

Ks脚本里面要写上镜像的路径。分区安装包就根据需要自己勾选

原文地址:https://www.cnblogs.com/tengfei520/p/5453788.html