在一个局域网环境中,往往需要部署操作系统,单个部署对于较大的网络环境不太可能,这时就需要批量部署一个操作系统即能大大节省时间又能保证局域网内的客户机操作系统一致性,方便网管员们对其做设置

测试环境:RHEL5.5

实验准备

1 关闭iptables和selinux

如何关闭呢 在命令行中输入

iptables –F 清空防火墙规则

然后输入 service iptables save 保存防火墙

然后 vim /etc/selinux/config 中修改SELINUX=disable   禁用selinux 默认为强制开启

保存退出后要重启机器才可以进行下一步动作

2 配置IP地址

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0    
BOOTPROTO=static  //要修改的    
IPADDR=192.168.1.1 要修改的    
NETMASK=255.255.255.0    
ONBOOT=yes

保存退出后再重新启动网络服务

service network restart

3 配置yum源

首先挂载光盘

mount /dev/cdrom /mnt

然后新建一个yum源

vim /etc/yum.repos.d/server.repo

[server]

name=server

baseurl=file:///mnt/Server

gpgcheck=0

wq保存退出

然后更新一下yum源

yum update

做完了前期的准备工作后就要开始安装一系列软件

一、安装vsftp服务

执行 yum –y install vsftpd*

chkconfig vsftpd on

service vsftpd restart

二、复制PXE启动时需要的文件

1 复制必要文件

cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

mkdir /tftpboot/pxelinux.cfg

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

cp /mnt/p_w_picpaths/pxeboot/initrd.img /tftpboot/

cp /mnt/p_w_picpaths/pxeboot/vmlinuz /tftpboot/

2 修改/tftpboot/pxelinux.cfg/default文件

chmod u+w /tftpboot/pxelinux.cfg/default

vim /tftpboot/pxelinux.cfg/default

default linux    
prompt 1    
timeout 600

display boot.msg    
F1 boot.msg    
F2 options.msg    
F3 general.msg    
F4 param.msg    
F5 rescue.msg    
label linux    
kernel vmlinuz    
append initrd=initrd.img ks=ftp://192.168.1.1/ks.cfg

以下无改动 遂省略

三、安装DHCP服务

yum –y install dhcp*

拷贝主配文件模板

cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf

修改主配文件

vim /etc/dhcpd.conf

ddns-update-style interim;    
ignore client-updates;    
subnet 192.168.1.0 netmask 255.255.255.0 {

# --- default gateway    
option routers 192.168.1.1;

option subnet-mask 255.255.255.0;    
filename "pxelinux.0";

next-server 192.168.1.1;    
# option nis-domain "domain.org";    

# option domain-name "domain.org";  
option domain-name-servers 192.168.1.1;    
option time-offset -18000; # Eastern Standard Time    
# option netbios-node-type 2;    
range dynamic-bootp 192.168.1.100 192.168.1.200;    
default-lease-time 21600;

后面不做改动 保存退出然后重新启动服务

srvice dhcpd restart

四、安装配置kickstart

1 安装kickstart包

yum –y install system-config-kickstart.noarch

2 生成ks.cfg配置文件

在终端中运行system-config-kickstart命令

在基本配置里选择语言和输入密码

kickstart+dhcp+vsftp+tftp_防火墙

在安装选项里选择FTP服务器的IP地址和目录

kickstart+dhcp+vsftp+tftp_操作系统_02kickstart+dhcp+vsftp+tftp_操作系统_03kickstart+dhcp+vsftp+tftp_防火墙_04

在分区信息里调整分区表信息

kickstart+dhcp+vsftp+tftp_service_05

网络配置,点“add network device”——“ok”

kickstart+dhcp+vsftp+tftp_service_06

单击file 选择保存文件

kickstart+dhcp+vsftp+tftp_防火墙_07

修改新生成的ks.cfg文件

vim ks.cfg

在# Partition clearing information一行后

clearpart --none    
key –skip 不输入序列号

最后输入从/root/anaconda-ks.cfg里复制的部分内容

%packages    
@admin-tools    
@base    
@chinese-support    
@core    
@development-libs    
@development-tools    
@dialup    
@editors    
@gnome-desktop    
@gnome-software-development    
@games    
@graphical-internet    
@graphics    
@java    
@legacy-software-support    
@office    
@printing    
@sound-and-video    
@text-internet    
@x-software-development    
@base-x    
kexec-tools    
fipscheck    
device-mapper-multipath    
sgpio    
python-dmidecode    
imake    
emacs    
libsane-hpaio    
mesa-libGLU-devel    
xorg-x11-utils    
xorg-x11-server-Xnest    
xorg-x11-server-Xvfb

保存退出

将配置文件复制到制定位置

我们在/tftpboot/pxelinux.cfg/default文件中曾设置ks=ftp://192.168.1.8/ks.cfg    
将文件复制到该位置

cp ks.cfg /var/ftp/

重新加载光盘镜像到FTP目录下

umount /dev/cdrom    
mount /dev/cdrom /var/ftp/pub/

五 开启服务

service iptables stop

setenforce 0

chkconfig tftp on

chkconfig dhcpd on

chkconfig vsftpd on

service xinetd restart  TFTP属于xinetd的子服务

service dhcpd restart

service vsftpd restart

六 测试客户端

这时用虚拟机的同志们就可以新建一台未加任何操作系统的主机开机就可以网络安装操作系统了

如果物理机需要在BIOS里设置网络启动然后开机就可以了