1.测试环境

测试环境:


系统:centos+DHCP+VSFTP+TFTP

服务器IP:192.168.1.1

DHCP地址段:192.168.1.10 - 192.168.1.100

Client:一台普通的PC(需要能从网卡,支持PXE启动)


1.1 安装配置dhcp

1.1.1 安装dhcp

#yum -y install dhcp


1.1.2 配置dhcp

# vi /etc/dhcp/dhcpd.conf



default-lease-time 21600;

max-lease-time 43200;

log-facility local7;


subnet 192.168.1.0 netmask 255.255.255.0 {

  range 192.168.1.10 192.168.1.100;

  option routers 192.168.1.1;

  option broadcast-address 192.168.1.255;

  filename "/pxelinux.0";   #tftp 目录

  Next-server 192.168.1.1;  #tftp服务器ip


}


1.2 ftp 安装

# yum -y install vsftp


1.2.1 vstfp配置


vi /etc/vsftpd/vsftpd.conf

anonymous_enable=YES  #运行匿名用户访问

local_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=YES    #允许匿名用户上传

anon_mkdir_write_enable=YES  #允许匿名用户写

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES


pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES


1.3 安装配置tftp

1.3.1 安装tftp


# yum -y install tftp*

1.3.2 配置tftp

# vi /etc/xinetd.d/tftp

service tftp

{

        socket_type             = dgram

        protocol                = udp

        wait                    = yes

        user                    = root

        server                  = /usr/sbin/in.tftpd

        server_args             = -s /tftpboot   #tftp目录路径

        disable                 = no          # yes 改为no

        per_source              = 11

        cps                     = 100 2

        flags                   = IPv4

}


1.4 复制系统安装所需要的文件

1.4.1复制安装程序所必须的initrd.img 和 vmlinuz

# mount /dev/cdrom /mnt/

# cp /mnt/isolinux/initrd.img /tftpboot/

# cp /mnt/isolinux/vmlinuz /tftpboot/


1.4.2 复制pxelinux.0和default


配置PXE的引导文件,pxe需要2个文件,一个是pxelinux.0,另外一个是default

pxelinux.0 需要先安装包

#yum -y install syslinux

# cp /usr/share/syslinux/pxelinux.0 /tftpboot/


复制defaul

# mkdir -p /tftpboot/pxelinux.cfg/

# cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/

# cd /tftpboot/pxelinux.cfg/

# mv isolinux.cfg default


查看文件


#cd /tftpboot

#ls

initrd.img  pxelinux.0  pxelinux.cfg   vmlinuz


# ls /tftpboot/pxelinux.cfg/

default


1.5 配置default

#vi /tftpboot/pxelinux.cfg/default


default 1   #默认启动lable

prompt 1

timeout 60  #超时时间


display boot.msg

menu background splash.jpg

menu title Welcome to CentOS 6.3!

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 1

  kernel /vmlinuz

  append initrd=initrd.img ramdisk_size=9216 ks=ftp://192.168.1.1/pub/RHEL6/ks.cfg

ks路径一定要写绝对路径


1.6 拷贝iso 文件

# mount /dev/cdrom /mnt/

# mkdir -p /var/ftp/pub/RHEL6/

# cp -rf /mnt/* /var/ftp/pub/RHEL6/


1.7 配置ks.cfg

复制ks.cfg,从root下复制

# cp /root/anaconda-ks.cfg /var/ftp/pub/RHEL6/

# mv anaconda-ks.cfg ks.cfg


配置ks.cfg


# vi ks.cfg


#platform=x86, AMD64, or Intel EM64T

#version=DEVEL

# Firewall configuration

firewall --enabled --ssh

# Install OS instead of upgrade

install

# Use NFS installation media

#nfs --server=192.168.100.101 --dir=/media/cdrom

url --url=ftp://192.168.1.1/pub/RHEL6/

# Root password

rootpw  --iscrypted $6$MzZ3BXZsXNr0f8/x$eCsipyVr5SmqiqGVcGVv2N5kaQ7ff7zO5qTotejBRjjNM8QkQI.Emor8jY8RAv/ULvD/FoMU/AM2V21y../7f.

# System authorization information

auth  --useshadow  --passalgo=sha512

# Use text mode install

text

# System keyboard

keyboard us

# System language

lang en_US

# SELinux configuration

selinux --disabled

# Do not configure the X Window System

skipx

# Installation logging level

logging --level=info

# Reboot after installation


reboot


# System timezone

timezone --isUtc Asia/Shanghai

# Network information

network  --bootproto=dhcp --device=eth0 --onboot=on

# System bootloader configuration

bootloader --location=mbr


# Clear the Master Boot Record

zerombr


# Partition clearing information

clearpart --all --initlabel

# Disk partitioning information

part swap --size=2048

part / --fstype=ext4 --grow --size=200


%packages

@base

@core

@development

@server-policy

sgpio

%end


2. 启动服务

2.1 启动dhcp

# /etc/init.d/dhcpd start

2.2 启动tftp

# /etc/init.d/xinetd start

2.3 启动vsftp

# /etc/init.d/vsftpd start


3.注意事项

3.1 Server 端必须关闭防火墙,关闭selinux

# /etc/init.d/iptables stop

# setsebool -P

setsebool:  SELinux is disabled.


 


4. 错误

4.1 PXE:not found file

检查tftp路径


4.2. unable to download the kickstart

检查ks文件路径及配置

关闭防火墙,selinux