网络安装centos6.0 之菜鸟总结
 
最近一个项目要用到centos,很久没摸过了,懒得刻盘,就想试试网络安装,在网上参考了很多文档,历经磨难,终于搞定了,现在做个总结,把很多容易忽视的小细节写出来,以供菜鸟参考,高手就无视吧。
以下原文出自http://bbs.linuxtone.org/thread-1586-1-1.html,我根据自己的实际情况做了一点修改,标出了一些小细节,菜鸟容易出错的地方。另外感谢群里的朋友们,感谢你们的帮助。
一、 介绍
简单原理介绍:无光软驱,服务器通过PXE网卡启动,从dhcp服务器获取IP 通过tftp 下载pxelinux.0文件找到pxelinux.cfg里的配置文件,按配置文件找着vmlinuz引导centos进入安装界面,之后选择NFS方式安装系统。
 
另: 如需要实现全自动安装 要安装 Kickstart 软件包并配置。本文并不讨论
 
二、环境说明
本文测试环境及用到的软件
Server: centos 6.0 dhcp nfs tftp ip:192.168.1.251 (此IP只需要与服务器网卡相连,不管是什么都可以)
 
三、安装配置过程及基本讲解:
首先,关闭防火墙,service iptables stop,这个一定要做的,否则后面nfs连不上,tftp也连不上,我就是卡在这卡了一个晚上。
可以检查下,有些人的防火墙是默认关闭的,service iptables status
Chkconfig –list |grep iptables检查开机是否自动开启防火墙
Chkconfig –levels 35 iptables off设置开机不启动防火墙
 
安装相应的软件:yum -y install dhcp* nfs* tftp* #这个是按默认方式安装nfs,dhcp,tftp,输完这个命令,会自动把这些东西都装好。
1、 配置tftp
vi /etc/xinetd.d/tftp
 
service tftp
{
        disable = no             #默认是yes 改为no
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /tftpboot #这个地方是tftp的默认目录,可自行修改
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
重启xinetd服务: /etc/init.d/xinetd restart 
查看tftp 是否启动:# chkconfig --list |grep tftp
                        tftp:           on
 
2、 配置nfs
mount /iso/CentOS-5.2-i386-bin-1of6.iso /mnt -o loop #这是挂载镜像文件
mount /dev/cdrom /mnt 这个是挂载光驱。我是虚拟机,直接挂载的光驱。
echo "/tftpboot *(ro,sync)" >> /etc/exports 
echo "/mnt *(ro,sync)" >> /etc/exports   #此二步设置共享的目录
exportfs -a   #使配置生效
service rpcbind start #启动rpc服务,也就是原来的portmap,如果没有安装,请输入
yum install rpcbind 
5.8中为portmap  service portmap start
/etc/init.d/nfs start    #启动nfs服务,要先启动rpc服务后再启动nfs服务。
Showmount -e localhost #看查共享的目录
Export list for localhost:
/mnt      *
/tftpboot *
 
 3、配置dhcp
可以直接copy下面的配置(注意修改ip地址和子网)
vi /etc/dhcp/dhcpd.conf
 
ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.251;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.1.251;   #本地IP
option time-offset -18000; # Eastern Standard Time
range dynamic-bootp 192.168.1.12 192.168.1.254; #要分配的IP从12~254
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.1.251;
filename "pxelinux.0";   #客户端启动后要查找的配置文件
}(注意此处的}不能少)
 
/etc/init.d/dhcpd start 或者service dhcpd start 启动dhcp服务
 
4、 配置pxe所需要的文件
mkdir /tftpboot/ 在tftpboot目录下mkdir pxelinux.cfg,建立pxelinux.cfg目录
cp /usr/share/syslinux/pxelinux.0 /tftpboot/ 这个地方,如果没有pxelinux.0或者找不到syslinux目录的,请输入yum install syslinux
cp /mnt/p_w_picpaths/pxeboot/vmlinuz  /tftpboot/
cp /mnt/p_w_picpaths/pxeboot/initrd.img  /tftpboot/
cp /mnt/isolinux/isolinux.cfg  /tftpboot/pxelinux.cfg/default 这3个文件拷贝到tftpboot目录中
5.x中路径不一样
  1. cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
     
  2. cp /mnt/isolinux/vmlinuz /tftpboot/
     
  3. cp /mnt/isolinux/initrd.img /tftpboot/
     
  4. cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default  
四、测试
启动服务器,一般是按F12选择进入PXE网络启动。这时就会自动获取IP并进入
Boot: 界面。按linux text 进入。之后选择NFS安装系统。
 
五、配置文件详解
dhcpd.conf配置的有关说明:
 
parameters(参数):
ddns-update-style 配置DHCP-DNS互动更新模式
default-lease-time 指定缺省租赁时间的长度,单位是秒
max-lease-time 指定最大租赁时间长度,单位是秒
hardware 指定网卡接口类型和MAC地址
server-name 通知DHCP客户服务器名称
get-lease-hostnames flag 检查客户端使用的IP地址
fixed-address ip 分配给客户端一个固定的地址
authritative 拒绝不正确的IP地址的要求
 
declarations(声明):
shared-network 用来告知是否一些子网络分享相同网络
subnet 描述一个IP地址是否属于该子网
range 起始IP 终止IP 提供动态分配IP 的范围
host 主机名称 参考特别的主机
group 为一组参数提供声明
allow unknown-clients或deny unknown-client 是否动态分配IP给未知的使用者
allow bootp或deny bootp 是否响应激活查询
allow booting或deny booting 是否响应使用者查询
filename 开始启动文件的名称,应用于无盘工作站
next-server 设置服务器从引导文件中装如主机名,应用于无盘工作站
 
option(选项):
subnet-mask 为客户端设定子网掩码
domain-name 为客户端指明DNS名字
domain-name-servers 为客户端指明DNS服务器IP地址
host-name 为客户端指定主机名称
routers 为客户端设定默认网关
broadcast-address 为客户端设定广播地址
ntp-server 为客户端设定网络时间服务器IP地址
time-offset 为客户端设定和格林威治时间的偏移时间,单位是秒。