实验拓扑:

       

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


实验一:搭建PXE Server

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

分别给每台客户端分配主机名,格式如下

stationx.tarena.com 192.168.10.x

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

前提条件:

1,网络参数

[root@svr1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 # Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)

DEVICE=eth0

BOOTPROTO=static

HWADDR=00:0C:29:DB:02:CE

ONBOOT=yes

IPADDR=192.168.1.254

NETMASK=255.255.255.0

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

NETWORKING=yes

NETWORKING_IPV6=yes

HOSTNAME=svr1.tarena.com

GETEWAY=192.168.1.1

[root@svr1 ~]# cat /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost

::1 localhost6.localdomain6 localhost6

192.168.1.254 svr1.tarena.com svr1

2,配置yum

[root@svr1 ~]# cat /etc/yum.repos.d/yum.repo 

[rhel-yum] //格式需要写为[rhel-xx],不然之后利用图形化配置ks脚本的时候会出错

name=yum

baseurl=file:///misc/cd/Server

gpgcheck=0


步骤:

1,安装所需软件包

[root@svr1 ~]# yum -y install dhcp bind bind-chroot caching-nameserver 

2,配置dhcp服务(用于给pxe分配IP与指引)

[root@svr1 ~]# cat /etc/dhcpd.conf 

ddns-update-style none;

default-lease-time 21600;

max-lease-time 43200;

option routers 192.168.1.254;

option subnet-mask 255.255.255.0;

option domain-name "tarena.com";

option domain-name-servers 192.168.1.254;

next-server 192.168.1.254; //指定tftp地址

filename "pxelinux.0"; //引导文件

subnet 192.168.1.0 netmask 255.255.255.0 {

range dynamic-bootp 192.168.1.10 192.168.1.50;

}

[root@svr1 ~]# service dhcpd restart

[root@svr1 ~]# chkconfig dhcpd on

3,配置dns服务(主要用于分配主机名,可以不配置)

[root@svr1 ~]# cat /var/named/chroot/etc/named.conf 

options {

listen-on port 53 { 192.168.1.254; };

...

allow-query     { any; };

allow-query-cache { any; };

};

view localhost_resolver {

match-clients   { any; };

match-destinations { any; };

include "/etc/named.rfc1912.zones";

};

[root@svr1 ~]# cat /var/named/chroot/etc/named.rfc1912.zones

zone "tarena.com" IN {

type master;

file "tarena.com.zone";

};

zone "1.168.192.in-addr.arpa" IN {

type master;

file "tarena.com.arpa";

};

[root@svr1 ~]# cat /var/named/chroot/var/named/tarena.com.zone 

$TTL 86400

@       IN      SOA     localhost. root.localhost.  (

                                      2014061801 ; Serial

                                      28800      ; Refresh

                                      14400      ; Retry

                                      3600000    ; Expire

                                      86400 )    ; Minimum

        IN      NS      svr1.tarena.com.

svr1 IN A 192.168.1.254

$GENERATE 10-50 station$ IN A 192.168.1.$        //利用函数匹配主机与IP

[root@svr1 named]# service named restart

[root@svr1 named]# chkconfig named on

4,配置tftp服务

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

server_args             = -s /tftpboot //共享路径

disable                 = no //开启监听

[root@svr1 ~]# service xinetd restart

[root@svr1 ~]# chkconfig xinetd on

5,复制pxe启动需要的文件到/tftpboot

[root@svr1 tftpboot]# rpm -ql syslinux |grep pxelinux.0 //pxe启动文件所需的软件包

/usr/share/syslinux/gpxelinux.0

/usr/share/syslinux/pxelinux.0

[root@svr1 tftpboot]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/ //拷贝网卡引导文件

[root@svr1 tftpboot]# mkdir -p /tftpboot/pxelinux.cfg //创建目录

[root@svr1 tftpboot]# cp /data/iso/rhel5.9/p_w_picpaths/pxeboot/vmlinuz ./ //拷贝系统内核文件

[root@svr1 tftpboot]# cp /data/iso/rhel5.9/p_w_picpaths/pxeboot/initrd.img ./ //拷贝镜像文件

[root@svr1 tftpboot]# cp /data/iso/rhel5.9/isolinux/isolinux.cfg ./pxelinux.cfg/default //创建启动配置文件

6,创建nfs共享

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

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

[root@svr1 ~]# service portmap restart;service nfs restart

7,创建ks脚本

[root@svr1 ~]# yum -y install system-config-kickstart

安装图形化安装工具

[root@svr1 ~]# system-config-kickstart & //执行安装,然后按照自己的需求配置,配置完成后选择文件->保存

[root@svr1 ~]# cat /var/www/html/ks.cfg //保存后的文件

install //安装类型为安装新系统

text //文本环境安装

nfs --server=192.168.1.254 --dir=/data/iso/rhel5.9 //网络安装

bootloader --location=mbr //启动类型

zerombr //清空MBR

clearpart --all --initlabel //清空分区

key --skip //跳过序列号

firewall --disabled //关闭防火墙

firstboot --disable //关闭首次启动的配置

lang zh_CN //语言

keyboard us //键盘类型

logging --level=info //登录级别

network --bootproto=dhcp --device=eth0 --onboot=on //网卡配置

reboot //安装完成后操作

rootpw --iscrypted $1$FiSs3KzW$YpvlnpSUqy7XQas2XpEAE1 //root密码

selinux --disabled //禁用selinux

timezone  Asia/Shanghai //时区

xconfig  --defaultdesktop=GNOME --depth=8 --resolution=640x480 //显示选项

part /boot --bytes-per-inode=4096 --fstype="ext3" --size=100

part swap --bytes-per-inode=4096 --fstype="swap" --size=2048

part / --bytes-per-inode=4096 --fstype="ext3" --grow --size=1 //分区

%packages //安装包

@chinese-support

@gnome-desktop

@base-x

@system-tools

@text-internet

@admin-tools

@graphical-internet

@editors

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

default linux

prompt 1

timeout 6

label linux

kernel vmlinuz

append initrd=initrd.img ks=http://192.168.1.254/ks.cfg //把ks脚本写到脚本文件里

接下来配置好http,测试ks=http://192.168.1.254/ks.cfg能否出来内容,完成后启动客户端,选择网络启动,等待安装