实验拓扑:

                         

-----PXE Server(vmnet1)-------------Client(vmnet1)------

 

实验一:搭建PXE Server

   服务器IP为192.168.10.253,可以给192.168.10.0/24安装RHEL5.9

   分别给每台客户端分配主机名,格式如下(1-100)

         stationx.tarena.com    192.168.10.x

   安装所需要的软件包存放在/data/iso/rhel5.9

前期准备:

1、设置网络参数

[root@localhost ~]# ifconfig eth0 | grep "inetaddr"

          inetaddr:192.168.10.253 Bcast:192.168.10.255  Mask:255.255.255.0

[root@localhost ~]# cat /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=yes

HOSTNAME=server01.tarena.com

[root@localhost ~]# grep server01 /etc/hosts

192.168.10.253 server01.example.com    server01

2、创建YUM源

[root@localhost ~]# mkdir -p /data/iso/rhel5.9

//放入rhel5.9 iso

[root@localhost ~]# cp -rpf /misc/cd/* /data/iso/rhel5.9/

3、配置YUM客户端

[root@localhost ~]# cd /etc/yum.repos.d/

[root@localhost yum.repos.d]# cp rhel-debuginfo.reporhel5.9.repo

[root@localhost yum.repos.d]# cat rhel5.9.repo

[rhel-server]

name=Red Hat Enterprise Linux Server

baseurl=file:///data/iso/rhel5.9/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

实验步骤:

1、配置DHCP(给需要安装系统的主机分配ip)

[root@server01 ~]# rpm -q dhcp                    //检查是否安装了dhcp

package dhcp is not installed                          //提示没有安装

[root@server01 ~]# yum -y install dhcp          //安装dhcp

[root@server01 ~]# cat /etc/dhcpd.conf         //dhcp主配置文件

ddns-update-style interim;

       default-lease-time 21600;

       max-lease-time 43200;

        optionrouters                    192.168.10.254;//网关

        optiondomain-name             "tarena.com";//域名

        optiondomain-name-servers      192.168.10.253;//DNS

        next-server192.168.10.253;     //tftp服务器地址

        filename"pxelinux.0";             //网卡引导文件名

subnet 192.168.10.0 netmask 255.255.255.0 {

        rangedynamic-bootp 192.168.10.1 192.168.10.100;

}

[root@server01 ~]# service dhcpd restart             //开启服务

[root@server01 ~]# chkconfig dhcpd on              //开机自启

[root@server01 ~]# netstat -tulnp | grep :67         //查看dhcp端口

udp        0      0 0.0.0.0:67               0.0.0.0:*                     5219/dhcpd   

2、配置DNS

[root@server01 ~]# rpm -q bind bind-chrootcaching-nameserver

package bind is not installed

package bind-chroot is not installed

package caching-nameserver is not installed

[root@server01 ~]# yum -y install bind bind-chrootcaching- nameserver

[root@server01 ~]# cd /var/named/chroot/etc/

[root@server01 etc]# cp -pnamed.caching-nameserver.conf  named.conf

[root@server01 etc]# vim named.conf

...

 15         listen-on port 53 { 192.168.10.253; };

 16 //       listen-on-v6port 53 { ::1; };

...

 27         allow-query     { any; };

 28         allow-query-cache { any; };

...

 37         match-clients      { any; };

 38         match-destinations { any; };

[root@server01 etc]# vim named.rfc1912.zones

...

    51  zone"tarena.com" IN {

    52         type master;

    53         file "tarena.com.zone";

    54 };

    55

    56 zone "10.168.192.arpa" IN {

    57          typemaster;

    58         file "10.168.192.arpa";

 [root@server01 etc]#named-checkconf named.conf  //检测语法是否出错

[root@server01 etc]# cd /var/named/chroot/var/named/

[root@server01 named]# cp -p named.local tarena.com.zone

[root@server01 named]# cat tarena.com.zone

$TTL    86400

@       IN      SOA    localhost. root.localhost.  (

                                     2014061801 ; Serial

                                     28800      ; Refresh

                                     14400      ; Retry

                                     3600000    ; Expire

                                      86400)    ; Minimum

                     IN      NS     server01.tarena.com.

server01       IN      A       192.168.10.253

$GENERATE      1-100   station$ IN A  192.168.10.$

[root@localhost named]# cat 10.168.192.arpa   

$TTL    86400

@       IN      SOA    localhost. root.localhost.  (

                                     1997022700 ; Serial

                                     28800      ; Refresh

                                     14400      ; Retry

                                     3600000    ; Expire

                                      86400 )    ; Minimum

            IN      NS    server01.tarena.com.

253     IN      PTR   server01.tarena.com.

$GENERATE      1-100  $  IN PTR  station$

 

[root@server01 named]# service named restart

[root@server01 named]# chkconfig named on

3、配置TFTP

[root@server01 ~]# rpm -q tftp-server

tftp-server-0.49-2

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

...

 13         server_args             = -s /tftpboot        //文件路径

 14         disable                 = no                    //启用服务

...

[root@server01 ~]# service xinetd restart

[root@server01 ~]# chkconfig xinetd on

[root@server01 ~]# netstat -tulnp | grep xinetd

udp        0      0 0.0.0.0:69                  0.0.0.0:*                 5842/xinetd 

[root@server01 ~]# rpm -ql syslinux | grep pxelinux.0

/usr/share/syslinux/gpxelinux.0

/usr/share/syslinux/pxelinux.0

[root@server01 ~]# mkdir /tftpboot/pxelinux.cfg       //创建目录

[root@server01 ~]# cp/data/iso/rhel5.9/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default     //改名为default

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

[root@server01 ~]# cp /data/iso/rhel5.9/isolinux/vmlinuz/tftpboot/  //内核、镜像到TFTP根目录

[root@server01 ~]# cp/data/iso/rhel5.9/isolinux/initrd.img /tftpboot/

4、配置NFS共享

[root@localhost ~]# cat /etc/exports

/data/iso/rhel5.9      *(ro)

[root@localhost ~]# service portmap restart

[root@localhost ~]# service nfs restart

[root@localhost ~]# chkconfig portmap on

[root@localhost ~]# chkconfig nfs on

或者配置FTP

[root@server01 ~]# yum -y install vsftpd

[root@server01 ~]# tail -n 1 /etc/vsftpd/vsftpd.conf

anon_root=/data/iso/rhel5.9

[root@server01 ~]# service vsftpd restart

[root@server01 ~]# chkconfig vsftpd on

在或者配置HTTP

[root@server01 ~]# yum -y install httpd

[root@server01 ~]# grep DocumentRoot/etc/httpd/conf/httpd.conf |  grep -v"^#"

DocumentRoot "/data/iso/rhel5.9"

[root@server01 ~]# grep Indexes/etc/httpd/conf.d/welcome.conf

    Options Indexes

[root@server01 ~]# service httpd restart

[root@server01 ~]# chkconfig httpd on

 

实验二:通过Kickstart实现无人值守安装(接着实验一)

[root@localhost ~]# yum -y installsystem-config-kickstart

操作过程见图片

在/root/ks.cfg文件中添加key --skip

[root@localhost ~]# cp /root/ks.cfg /data/iso/rhel5.9/ 

//将应答文件不是在客户机可以访问的位置

[root@server01 ~]# vim /tftpboot/pxelinux.cfg/default

...

 10 label linux     

 11   kernel vmlinuz

 12   append initrd=initrd.imgks=http://192.168.10.253/ks.cfg

//修改