德克云技术联盟
标题:
Linux的网络安装(无人值守、自动安装)
[打印本页]
作者:
李臻宇
时间:
2014-7-16 17:23
标题:
Linux的网络安装(无人值守、自动安装)
本帖最后由 李臻宇 于 2014-7-16 17:28 编辑
network.jpeg
(50.19 KB, 下载次数: 80)
下载附件
保存到相册
2014-7-16 17:28 上传
网络安装原理:
第一步:PXE Client向DHCP发送请求
首先,将支持PXE的网络接口卡(NIC)的客户端的BIOS设置成为网络启动,通过PXE BootROM(自启动芯片)会以UDP(简单用户数据报协议)发送一个广播请求,向网络中的DHCP服务器索取IP地址等信息。
第二步:DHCP服务器提供信息
DHCP服务器收到 客户端的请求,验证是否来至合法的PXE Client的请求,验证通过它将给客户端一个“提供”响应,这个“提供”响应 中包含了为客户端分配的IP地址、pxelinux启动程序(TFTP)位置,以及配置文件所在位置。
第三步:PXE客户端请求下载启动文件
客户端收到服务器的“回应”后,会回应一个帧,以请求传送启动所需文件。这些启动文件包括:pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img等文件。
第四步:Boot Server响应客户端请求并传送文件
当服务器收到客户端的请求后,他们之间之后将有更多的信息在客户端与服务器之间作应答, 用以决定启 动参数。BootROM 由 TFTP 通讯协议从Boot Server下载启动安 装程序所必须的文件(pxelinux.0、pxelinux.cfg/default)。default文件下载完 成后,会根据该文件中定义的引导顺序,启动Linux安装程序的引导内核。
一、NFS(Network File System)网络文件系统,提供linux和linux间的文件共享服务
Red hat enterprise linux 使用nfsd作为nfs服务器
nfsd依赖portmap服务(RPC)
1、服务器关键配置文件/etc/exports
配置文件内容格式:/path/dirname ipaddressorname(option)
2、因为比较简单直接针对需求进行练习。
需求:客户端若干,要求只读共享/tmp给所有客户端,读写共享/web给特定ip(10.0.0.2),只读共享/knowledge给fish.com域成员,读写共享/给特定主机(rain.fish.com),不转换root身份,默认情况下root用户访问nfs服务器时候转换身份为nobody,只读共享/pub给所有客户端,所有用户访问NFS服务器时候都将身份转换为nobody,只读共享/pub给所有客户端,并且所有用户访问NFS服务器时都将身份转为nobody,读写共享/home/rain给用户rain所有用户访问NFS时候都将身份换为uid=600的用户,并且所在组更改为在gid=600的用户组。
针对上面须求,写出配置文件如下
/tmp *(ro) #只读共享/tmp给所有客户端
/web 10.0.0.2(rw) #读写共享/web给特定ip(10.0.0.2)
/knowledge *.fish.com(ro) #只读共享/knowledge给fish.com域成员
/ rain.fish.com(rw,no_root_squash) #读写共享/给特定主机(rain.fish.com)
/pub *(rw,all_squash) #只读共享/pub给所有客户端
/home/rain rain(rw,all_squash,anonuid=600,anongid=600) #读写共享/home/rain给用户rain
在options也可以标注sync or async 是否同步,默认不加就是同步
例如 /web 10.0.0.2(rw,sync) 不+的话生效的时候他会给你警告不过不要紧,全当没看到,他会给你默认的sync.
3、修改完成后保存退出,使用exportfs -r生效。
4、确保nfs启动
/etc/init.d/nfs restart
5、客户端工具
察看NFS服务器RPC信息
rpcinfo -p iporservername
showmount -e iporname
察看NFS服务器共享信息
mount nfsserver:/share /path/dirname
二、DHCP
DHCP是"动态主机配置协议"(Dynamic Host Configuration Protocol)的缩写,DHCP可以为连接到TCP/IP网络的系统提供网络配置信息。网络上的主机作为DHCP客户端可以从网络中的DHCP服务器下载网络的配置信息。包括IP地址,子网掩码、网关、DNS服务器和代理服务器地址。
DHCP的原理:当网络内配置了DHCP的计算机一开机,就会强制发送一个有限地址广播(255.255.255.255),本地网络中DHCP服务器受到广播后,会根据收到的物理地址在服务器上寻找相应的配置,并从划定的IP区域中发送某个IP地址附加选项(如租用期)掩码,网关等信息给该计算机,该计算机受到信息以后会相应一条注册信息给服务器,告诉该IP地址已被租用,防止IP地址冲突。整个过程实际上相当复杂,双方经过多次的信息交换最终才能注册成功,注册成功以后计算机就可以直接上网了。
下面开始配置这样一个服务器
1、默认的安装Red hat enterprise linux 4 DHCP是没有安装的
检察是否安装
rpm -qa | grep dhcp
如果没有安装可以从第四张光盘安装
rpm -ivh dhcp-3.0.1-12_EL
2、拷贝配置文件
默认的DHCP的配置文件不在/etc/下我们去拷贝一个模版过来
cp /usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample /etc/dhcpd.conf -p
3、接下来我们修改配置文件
原配置文件如下:
ddns-update-style interim;
ignore client-updates;
subnet 192.168.0.0 netmask 255.255.255.0 { #用户可以通过subnet语句通过IP地址段和子网掩码告之DHCP服务器可以分配的IP
# --- default gateway
option routers 192.168.0.1; #默认路由和网关的IP地址
option subnet-mask 255.255.255.0; #设置子网掩码
option nis-domain "domain.org"; #unix下的域名(NIS:network information service的域名)
option domain-name "domain.org"; #DNS的域名
option domain-name-servers 192.168.1.1; #设置DNS服务器的IP地址可以多个。
option time-offset -18000; # Eastern Standard Time #设置与格林威治时间的偏差(具体啥意思我也不很清楚)
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.0.128 192.168.0.254; #通过range语句,可以指定动态分配给客户端的IP地址范围
default-lease-time 21600; #客户端IP地址默认租用的时间长度,单位:秒
max-lease-time 43200; #最长租用时间
# we want the nameserver to appear at a fixed address
host ns { #给某些主机邦定固定IP(可多个)
next-server marvin.redhat.com; #设置第一服务器从引导文件装入的主机名,一般用于无盘站
hardware ethernet 12:34:56:78:AB:CD; #需要邦定地址的网卡MAC地址
fixed-address 207.175.42.254; #指定MAC分配的IP地址
DHCP配置实例:
网关为192.168.5.49地址段为192.168.5.20-192.168.5.49, 子网掩码是255.255.255.128.其中192.168.5.20和192.168.5.30要分配给固定的主机(PC1macaddress:00-D0-59-A8-35-2B,PC2macaddress:00-50-56-C0-00-01).
步骤1、复制/usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample 到/etc/dhcpd.conf
cp /usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample /etc/dhcpd.conf -p
步骤2、修改配置文件/etc/dhcpd.conf (下面呈现修改好的配置文件)
ddns-update-style interim;
ignore client-updates;
subnet 192.168.5.0 netmask 255.255.255.128 {
#default gateway
option routers 192.168.5.254;
option subnet-mask 255.255.255.128;
# option nis-domain "domain.org";
option domain-name "fish.com";
option domain-name-servers 61.134.1.4,61.134.1.8,202.100.4.15; #用逗号分隔
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.5.20 192.168.5.49;
default-lease-time 3600;
max-lease-time 7200;
# we want the nameserver to appear at a fixed address
host PC1 {
# next-server marvin.redhat.com;
hardware ethernet 00-D0-59-A8-35-2B;
fixed-address 192.168.5.20;
}
host PC2 {
# next-server marvin.redhat.com;
hardware ethernet 00-50-56-C0-00-01;
fixed-address 192.168.5.30;
}
步骤3、重新启动服务
/etc/init.d/dhcpd restart
三、正式开始
我的主机ip为10.0.0.20根据自己更改。
1、首先把光盘或镜像的文件全部拷贝到一个目录下
这里需要注意一点首先unalias cp因为RHEL默认的cp=cp -i,或者拷贝命令用"\cp",否则你会死的很惨,不信试试看,要你输入确定到死。
cp /media/cdrom/* /RHEL4 -r #我拷贝到跟下的/RHEL4了。
2、下面检查所需要的软件包安装情况
A、DHCP
[root@rain media]# rpm -q dhcp
dhcp-3.0.1-12_EL
B、TFTP
[root@rain media]# rpm -q tftp-server
tftp-server-0.39-1
C、PXE
[root@rain media]# rpm -q system-config-netboot
system-config-netboot-0.1.32-1_EL4
D、KICKSTART
[root@rain media]# rpm -q system-config-kickstart
system-config-kickstart-2.5.16.1-1
[root@rain tftpboot]# rpm -qa |grep nfs
system-config-nfs-1.2.8-1
nfs-utils-1.0.6-65.EL4
3、TFTP开机自动启动就行了,因为pxe装好以后自动在/tftp/下面放了很多相关文件。为了能够让客户机
加载网络安装的引导程序。
chkconfig --level 35 tftp on
4、配置nfs
共享出/RHEL4
echo "/RHEL4" >> /etc/export*
使之生效
**portfs -r
开机自动运行
chkconfig --level 35 nfs on
5、配置DHCP
拷贝模板文件之/etc/下
cp /usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample /etc/dhcpd.conf -p
配置(前面有文档,这里不详细解释,更改后的配置文件如下)
ddns-update-style interim;
ignore client-updates;
next-server 10.0.0.20; #告诉客户机TFTP服务器位置
filename "linux-install/pxelinux.0"; #告诉客户机文件位置
subnet 10.0.0.0 netmask 255.0.0.0 {
# --- default gateway
option routers 10.0.0.20;
option subnet-mask 255.0.0.0;
# 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 ntp-servers 192.168.1.1; #以下三行注销掉否则反向解析非常慢
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 10.0.0.30 10.0.0.254;
default-lease-time 21600;
max-lease-time 43200;
# # we want the nameserver to appear at a fixed address
# host ns {
# next-server marvin.redhat.com;
# hardware ethernet 12:34:56:78:AB:CD;
# fixed-address 207.175.42.254;
}
}
6、KICKSTART(这一步为了网络安装的时候可以做到无干预安装,如果你仅仅想不需要光驱手动也可以可
以忽略此步骤)
进入xwin生成ks.cfg(如果你不想进xwin或者没有安装,手写也可以)
startx
Applications-System Tools-kickstart
定制你要安装的操作系统
Installation Method
choose the Installation Method
选择NFS
NSF server:填写你的NFS服务器地址
NFS Directory: 填写你的安装文件所放的目录,也就是通过NFS共享出去的目录
Display Config Uration
video card 和 Monitor 选择自动搜索 除非大家配置一样
Post-Installation Script
可以写一些shell 例如加一些固定的帐户等等。
生成的ks.cfg放在/RHEL4下
下面我把ks.cfg文件内容拿出来 省得没有装xwin的朋友的麻烦
#Generated by Kickstart Configurator
#platform=x86, AMD64, or Intel EM64T
#System language
lang en_US
#Language modules to install
langsupport zh_** --*efault=en_US
#System keyboard
keyboard us
#System mouse
mouse
#Sytem timezone
timezone Asia/Shanghai
#Root password
rootpw --iscrypted $1$zgZ7DcOT$D9dVhG5kYDW0MOF9hqgce.
#Reboot after installation
reboot
#Install OS instead of upgrade
install
#Use NFS installation Media
nfs --server=10.0.0.2 --dir=/RHEL4
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part /boot --fstype ext3 --size 100
part swap --size 500
part /boot --fstype ext3 --size 1 --grow
#System authorization infomation
auth --useshadow --enablemd5
#Firewall configuration
firewall --enabled
#XWindows configuration information
xconfig --depth=8 --resolution=640x480 --defaultdesktop=GNOME
#Package install information
%packages --resolvedeps
7、PXE
PXE
reboot Execution Environment(预启动执行环境)
PXE环境的需求
A、主板支持从网络引导
B、以太网卡带有支持PXE引导的接口(引导模块)
PXE Configuration
pxeos [-a|-m|-d|-l] [-i <description> ] [-p <protocol> ] [-D<1|0>] [-s <server>] [-L
<location>] [-A <1|0>] [-u <user>] [-K <kickstart>] [-P <password>] name
-a: 添加操作系统描述
-m: 修改操作系统描述
-d: 删除操作系统描述
-l: 列出所有的操作系统描述
-i: 操作系统描述
-p: 访问存放操作系统的主机时使用的协议(NFS, HTTP, FTP)
-D: 是否建立无盘工作站信息
-s: 存放操作系统的服务器地址
-L: 服务器上存放操作系统的目录名称
-A: 如果使用FTP访问主机,是否使用匿名登录
-u: 如果使用FTP访问主机并且不使用匿名登录,指定用户名称
-P: 如果使用FTP访问主机并且不使用匿名登录,指定用户密码
-K: 如果使用kickstart自动安装功能,指定kickstart配置文件路径,比如:
nfs:10.0.0.200:/RHEL/ks.cfg
name 自定义操作系统的缩写名称
运行命令
pxeos -a -i "Lizy_OS" -p NFS -D 0 -s 10.0.0.20 -L /RHEL4 -K
nfs:10.0.0.20:/RHEL4/ks.cfg RainOs
命令解释-a添加 -i "Lizy_OS"操作系统描述(自定义)
-p NFS 访问存放操作系统的主机时使用的协议为NFS
-D 0 说明不是无盘站
-s 10.0.0.20 存放操作系统的服务器地址为10.0.0.20
-L 服务器上存放操作系统的目录名成为/RHEL4
-K 如果使用kickstart自动安装功能,指定kickstart配置文件路径 nfs:10.0.0.20:/RHEL4/ks.cfg
RainOs 定义操作系统的缩写名称(自定义)
抛砖引玉,希望喜峰尽快推出Windows的网络安装。将来出货的时候也不需要找那么些外援了~
欢迎光临 德克云技术联盟 (http://www.decoclouds.com/)