拓扑图如下

pxe自动安装CentOS的实现_centos

要实现pxe自动安装需要安装vsftp、tftp、DHCP、system-config-kickstart

[root@localhost test]# yum install vsftpd dhcp tftp-server system-config-kickstart -y

一、配置DHCP服务器

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

         1 #

         2 # DHCP Server Configuration file.

         3 #   see /usr/share/doc/dhcp*/dhcpd.conf.sample

         4 #   see 'man 5 dhcpd.conf'

         5 #

       按照提示把/usr/share/doc/dhcp*/dhcpd.conf.sample读进来

        :r /usr/share/doc/dhcp*/dhcpd.conf.sample

       删除第8,9两行  删除第26,27两行

       把29-32行修改为

        29 subnet 192.168.3.0 netmask 255.255.255.0 {

        30   range 192.168.3.110   192.168.3.120;

        31   option routers 192.168.3.254;

        32   next-server 192.168.3.121;  #tftp服务器地址

        33   filename           "pxelinux.0";  #tftp的驱动名称

        34 }

        删除34行以后的

       :35,$ d

       保存并退出

二、配置tftp服务器

       [root@station121 ~]# rpm -ql tftp-server

       /etc/xinetd.d/tftp

       /usr/sbin/in.tftpd

       /usr/share/doc/tftp-server-0.49

       /usr/share/doc/tftp-server-0.49/CHANGES

       /usr/share/doc/tftp-server-0.49/README

       /usr/share/doc/tftp-server-0.49/README.security

       /usr/share/doc/tftp-server-0.49/README.security.tftpboot

       /usr/share/man/man8/in.tftpd.8.gz

       /usr/share/man/man8/tftpd.8.gz

       /var/lib/tftpboot

       [root@station121 ~]# cd /etc/xinetd.d/

       [root@station121 xinetd.d]# vim tftp

pxe自动安装CentOS的实现_centos_02


       重启xinetd并设置开机自动启动

       [root@station121 xinetd.d]# service xinetd restart

       [root@station121 xinetd.d]# chkconfig xinetd on

       查看tftp的69端口是否存在

       [root@station121 xinetd.d]# netstat -tupln |grep 69

       udp        0      0 0.0.0.0:69                  0.0.0.0:*                  1520/x        inetd

       进入tftp的根目录

       [root@station121 xinetd.d]# cd /var/lib/tftpboot

       客户机动态获得地址后将要从tftp根目录下载内核和驱动

       复制内核和驱动到tftp根目录

       [root@station121 tftpboot]# cp /media/cdrom/isolinux/vmlinuz  ./

       [root@station121 tftpboot]# cp /media/cdrom/isolinux/initrd.img  ./

       查看当前目录

       [root@station121 tftpboot]# ll

       total 35684

       -r--r--r--. 1 root root 32491856 Apr 10 20:23 initrd.img

       -r-xr-xr-x. 1 root root  4043888 Apr 10 20:21 vmlinuz

       安装syslinux来生成pxelinux.0

       [root@station121 tftpboot]# yum install syslinux

       如果提示已安装

       直接拷贝/usr/share/syslinux/pxelinux.0到tftp根目录

       [root@station121 tftpboot]# cp /usr/share/syslinux/pxelinux.0 ./

       创建配置目录

       [root@station121 tftpboot]# ls pxelinux.cfg/

       进入配置目录,将/media/cdrom/isolinux/isolinux.cfg 拷贝到配置目录并命名为default

       [root@station121 tftpboot]# cd pxelinux.cfg/

       [root@station121 pxelinux.cfg]# cp /media/cdrom/isolinux/isolinux.cfg default

       到这里tftp服务器就建好了

三、配置ftp服务器

       把光盘里的文件拷贝到ftp根目录

       [root@station121 ftp]# cp -r /media/cdrom/* .

四、把前面设置好的服务都再打开一下

       [root@station121 ftp]# service dhcpd start

       Starting dhcpd:                                            [  OK  ]

       [root@station121 ftp]# chkconfig dhcpd on

       [root@station121 ftp]# service xinetd restart

       Stopping xinetd:                                           [  OK  ]

       Starting xinetd:                                           [  OK  ]

       [root@station121 ftp]# service vsftpd restart

       Shutting down vsftpd:                                      [  OK  ]

       Starting vsftpd for vsftpd:                                [  OK  ]

       [root@station121 ftp]# chkconfig vsftpd on

五、使用system-config-kickstart生成ks.cfg文件

       [root@station121 ftp]# system-config-kickstart

       置如图

pxe自动安装CentOS的实现_centos_03

pxe自动安装CentOS的实现_centos_04

pxe自动安装CentOS的实现_centos_05

pxe自动安装CentOS的实现_pxe _06

pxe自动安装CentOS的实现_centos_07

pxe自动安装CentOS的实现_pxe _08

pxe自动安装CentOS的实现_centos_09

pxe自动安装CentOS的实现_pxe _10

pxe自动安装CentOS的实现_centos_11

pxe自动安装CentOS的实现_centos_12

pxe自动安装CentOS的实现_pxe _13

pxe自动安装CentOS的实现_centos_14

pxe自动安装CentOS的实现_pxe _15

pxe自动安装CentOS的实现_pxe _16

pxe自动安装CentOS的实现_pxe _17

pxe自动安装CentOS的实现_pxe _18

六、进入/var/lib/tftpboot,编辑tftp服务器的配置文件

       [root@station121 ftp]# cd /var/lib/tftpboot

       [root@station121 tftpboot]# ll

       total 35716

       -r--r--r--. 1 root root 32491856 Apr 10 20:23 initrd.img

       -rw-r--r--. 1 root root    26828 Apr 10 21:09 pxelinux.0

       drwxr-xr-x. 2 root root     4096 Apr 10 21:17 pxelinux.cfg

       -r-xr-xr-x. 1 root root  4043888 Apr 10 20:21 vmlinuz

       [root@station121 tftpboot]# cd pxelinux.cfg/

       [root@station121 pxelinux.cfg]# ls

       default

       修改default文件

       [root@station121 tftpboot]# vim default

pxe自动安装CentOS的实现_centos_19

pxe自动安装CentOS的实现_centos_20

七、再打开一台虚拟机实现pxe自动安装

       安装好后登录进去,查看主机名和IP地址

pxe自动安装CentOS的实现_centos_21

好了,pxe自动安装已经完成了