一.实验一:搭建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
前期准备:
设置网络参数
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 //查看网卡配置前面写vim代表修改该配置
# Intel Corporation 82545EM GigabitEthernet Controller (Copper)
DEVICE=eth0 //设备名,默认的不建议修改
BOOTPROTO=none //类型,此类型为通用
HWADDR=00:0C:29:6F:36:09 //本机MAC地址
ONBOOT=yes
NETMASK=255.255.255.0 //子网掩码
IPADDR=192.168.10.253 //ip地址
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes
[root@localhost ~]# service network restart //重启该服务
配置主机名
[root@localhost ~]# vim/etc/sysconfig/network //修改该配置
[root@localhost ~]# hostnameserver01.tarena.com //改名主机名
[root@localhost ~]# cat/etc/sysconfig/network //查看配置
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=server01.tarena.com //主机名可在这修改
实验步骤:
配置DHCP
[root@localhost ~]# rpm -q dhcp //检测是否安装
package dhcp is not installed //代表没有安装此软件
[root@localhost ~]# yum -y install dhcp //YUM库安装软件
[root@server01 ~]# rpm -q dhcp //检测是否安装软件
dhcp-3.0.5-31.el5_8.1 //代表安装了此软件
[root@localhost ~]# vim /etc/dhcpd.conf //修改dhcp主配置文件
[root@localhost ~]# cat /etc/dhcpd.conf //查看配置
ddns-update-style interim;
ignore client-updates;
subnet 192.168.10.0 netmask 255.255.255.0 { //第一个是网段,后面是子网
option routers 192.168.10.254; //网关
option subnet-mask 255.255.255.0; //子网
option domain-name "tarena.com"; //域名
option domain-name-servers 192.168.10.253; //dns
range dynamic-bootp 192.168.10.1 192.168.10.200; //允许的使用的网段
default-lease-time 21600;
max-lease-time 43200;
host ns {
next-server marvin.redhat.com;
hardware ethernet12:34:56:78:AB:CD; //指定机器的MAC地址
fixed-address 207.175.42.254; //指定机器的固定ip
}
filename"pxelinux.0"; //启用此服务,此服务得先安装
}
[root@localhost ~]# service dhcpd restart //重启服务
配置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 bindbind-chroot caching-nameserver //安装软件
[root@server01 ~]# rpm -q bind bind-chrootcaching-nameserver //检测是否安装
bind-9.3.6-20.P1.el5_8.5
bind-chroot-9.3.6-20.P1.el5_8.5
caching-nameserver-9.3.6-20.P1.el5_8.5 //代表已安装此软件
[root@server01 ~]# cd/var/named/chroot/etc/ //切换到该目录
[root@server01 etc]# ls //查看
localtime named.caching-nameserver.conf named.rfc1912.zones rndc.key
[root@server01 etc]# cp -pnamed.caching-nameserver.conf named.conf //复制该模板-p保留原有权限
[root@server01 etc]# vim named.conf //编辑该模板
15 listen-on port 53 { 192.168.10.253; }; //本机ip
27 allow-query { any; };
28 allow-query-cache { any; };
37 match-clients { any; };
38 match-destinations { any; }; //any本机的意思
[root@server01 etc]# vimnamed.rfc1912.zones //编辑该文件
50 zone "tarena.com" IN { //域名
51 type master;
52 file "tarena.com.zone"; //存放正向解析文件的名字
53 allow-update { none; };
54};
55
56zone "10.168.192.in-addr.arpa" IN { //反向解析ip反写
57 type master;
58 file "192.168.10.arpa"; //存放反向解析文件的名字
59 allow-update { none; };
[root@server01 etc]# cd/var/named/chroot/var/named/ //切换到该目录
[root@server01 named]# ls //查看目录表
data localhost.zone named.ca named.local slaves
localdomain.zone named.broadcast named.ip6.local named.zero
[root@server01 named]# cp -p named.localtarena.com.zone //复制该模版 命名为配置列表上的名字
[root@server01 named]# vim 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.253 //连续的解析
[root@server01 named]# cp -ptarena.com.zone 192.168.10.arpa //复制刚才的文件这样修改起来方便
[root@server01 named]# vim 192.168.10.arpa //编辑该文件
$TTL 86400
@ IN SOA localhost. root.localhost. (
2014061801 ; 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$.tarena.com.
[root@server01 named]# service namedrestart //重启
把软件包存放
[root@server01 ~]# mkdir -p/data/iso/rhel5.9 //创建目录加-p递归没有的也顺路给创建了
[root@server01 ~]# cp -rfp /misc/cd/*/data/iso/rhel5.9/ //复制挂载的光盘到该目录下*代表所有的
配置TFTP
[root@server01 ~]# rpm -q tftp-server //检查是否安装了此软件
tftp-server-0.49-2 //表示存在
[root@server01 ~]# vim /etc/xinetd.d/tftp //编辑TFTP的主配置文件
14 disable = no
[root@server01 ~]# service xinetd restart //重启该服务
[root@server01 ~]# rpm -q syslinux //检查是否安装了此软件
syslinux-4.02-7.2.el5
[root@server01 ~]# rpm -ql syslinux | greppxelinux.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 //复制该文件
[root@server01 ~]# cp /data/iso/rhel5.9/isolinux/vmlinuz/tftpboot/ //复制
[root@server01 ~]# cp/data/iso/rhel5.9/isolinux/initrd.img /tftpboot/
[root@server01 ~]# cp/usr/share/syslinux/pxelinux.0 /tftpboot/
配置HTTP共享
[root@server01 ~]# rpm -q httpd //检测是否安装此软件
httpd-2.2.3-74.el5
[root@server01 ~]# vim/etc/httpd/conf/httpd.conf //编辑该软件主配置
265 ServerName www.tarena.com:80 //域名后面是端口号
281 DocumentRoot"/data/iso/rhel5.9/" //http的网页显示的路径
[root@server01 ~]# service httpd restart //重启
测试
新建一个试验机都在vmnet1里,开启时进入bios模式。并安装看用户名是否改变成
Ip跟用户名的序号是一样的。
总结:
实验一告诉我们安装系统时不用一个一个机器去安装系统,只要都连在一个网路里就可以用一个服务器安装整个网路中的电脑的系统。Dhcp地址池的范围在范围dns解析时要一样不然客户机的ip跟名字不一样。
二.实验二:通过Kickstart实现无人值守安装(接着实验一)
1. 安装无人值守的设置
[root@server01 ~]# rpm -qsystem-config-kickstart //检测是否安装此软件
package system-config-kickstart is notinstalled //表示没有安装
[root@server01 ~]# yum -y installsystem-config-kickstart //Yum库安装
[root@server01 ~]# rpm -qsystem-config-kickstart //检测是否安装此软件
system-config-kickstart-2.6.19.9-2.el5 //表示安装
[root@server01 ~]# system-config-kickstart //启动该软件后会出现一个配置器,这个就是在手动安装系统时出现的配置,选择好后保存默认会在root 下
[root@server01 ~]# ls //查看
anaconda-ks.cfg Desktop install.log install.log.syslog ks.cfg
[root@server01 ~]# cp ks.cfg/data/iso/rhel5.9/ //复制
[root@server01 ~]# cp ks.cfg/data/iso/rhel5.9/ //复制
[root@server01 ~]# cd/tftpboot/pxelinux.cfg/ //切换
[root@server01 pxelinux.cfg]# ls //查看
default
[root@server01 pxelinux.cfg]# vim default //编辑该文件因为该文件是只读的权限所以在编辑好后wq! 强制保存并退出
label linux //
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.10.253/ks.cfg //后面加一段这个
[root@server01 ~]# vim/data/iso/rhel5.9/ks.cfg //在ks.cfg 文件添加下面的内容随便放,不过我实验时放在最后是不行的,所以建议放在中间,30 是序号不用写
30 key --skip
[root@server01 ~]# service httpd restart
总结:
实验三真正实现了无人值守安装的操作。不过前提是前面的配置正确就可以无问题是用。
命令有的是空格显示的不算清楚。如出错可以查看是否忘了空格,没有的话请帮我指出哪里出错谢谢。