By Kevinzou
kissingwolf@gmail.com版权声明:
本文遵循“署名非商业性使用相同方式共享 2.5 中国”协议
您可以自由复制、发行、展览、表演、放映、广播或通过信息网络传播本作品您可以根据本作品演义自己的作品
您必须按照作者或者许可人指定的方式对作品进行署名。您不得将本作品用于商业目的。
如果您改变、转换本作品或者以本作品为基础进行创作,您只能采用与本协议相同的许可协议发布基于本作品的演绎作品。
对任何再使用或者发行,您都必须向他人清楚地展示本作品使用的许可协议条款。如果得到著作权人的许可,您可以不受任何这些条件的。
Kevinzou(kissingwolf@gmail.com)
本文目录
第1章 网络无人职守安装.................................................................................................................1第1.1节 动态主机配置协议(DHCP)..........................................................................................1第1.2节 DHCP服务器..................................................................................................................3第1.3节 DHCP配置项..................................................................................................................4第1.4节 预启动施行环境(PXE)....................................................................................................6第1.5节 配置PXE.........................................................................................................................8第1.6节 PXELINUX....................................................................................................................10第1.7节 Kickstart 和PXELINUX................................................................................................12第2章 试验实例.................................................................................................................................1第2.1节 服务器端安装软件包......................................................................................................1第2.2节 配置服务器环境..............................................................................................................1第2.2.1节配置dhcp服务..........................................................................................................1第2.2.2节设置tftp服务............................................................................................................2第2.2.3节配置NFS提供安装内容目录的服务......................................................................4第2.2.4节生成kickstart文件....................................................................................................4第2.2.5节设置Apache服务器.................................................................................................5第2.2.6节启动dhcpd服务........................................................................................................5第2.3节 客户端设置......................................................................................................................5
I
第1章 网络无人职守安装第1章 网络无人职守安装
第1.1节 动态主机配置协议(DHCP)
1.服务端端口67/UDP2.客户端端口68/UDP
3.客户端发送DHCPDISCOVER在网络中寻求地址分配4.服务端回应DHCPDISCOVER请求5.客户端发送DHCPREQUEST6.服务端发送DHCPACK7.客户端得到地址
DHCP是DynamicHostConfigurationProtocol的缩写﹐它的前身是
BOOTP。BOOTP原本是用于无盘主机连接的网络上面的﹕网络主机使用BOOTROM而
不是磁盘起动并连接上网络﹐BOOTP则可以自动地为那些主机设定TCP/IP环境。但
BOOTP有一个缺点:您在设定前须事先获得客户端的硬件MAC地址,而且与IP的对应
是静态的。换而言之,BOOTP非常缺乏\"动态性\",若在有限的IP资源环境中,BOOTP的一对一的对应关系会造成非常大的浪费。
DHCP可以看作是BOOTP的增强版本﹐它分为两个部份﹕服务器端和客户端。所有
的IP地址设定资料都由DHCP服务器集中管理﹐并负责处理客户端的DHCP要求﹔而客户端则会使用从服务器分配下来的IP环境资料。比较起BOOTP,DHCP透过\"租约\"的概念,有效且动态的分配客户端的TCP/IP设定,而且作为兼容考量,DHCP也完全照顾了
BOOTPClient 的需求。
DHCP的工作原理 如下:
当DHCP 客户端第一次登录网络的时候,也就是客户发现本机上没有任何 IP 资料,它会向网络发出一个 DHCPDISCOVER 封包。因为客户端还不知道自己属于哪一个网络,所以封包的来源位址会为 0.0.0.0 ,而目的位址则为 255.255.255.255 ,然后再附上
DHCPDISCOVER 的信息,向网络进行广播。 当 DHCP 服务器监听到客户端发出的
1
第1章 网络无人职守安装DHCPDISCOVER 广播后,它会从那些还没有租出的IP地址范围内按一定顺序选出一个IP地址 ,连同其它TCP/IP 设置,回应给客户端一个DHCPOFFER 封包。由于客户端在
开始的时候还没有 IP 位址,所以在其DHCPDISCOVER 封包内会带有其MAC 地址信息,并且有一个 XID 编号来辨别该封包,DHCP 服务器回应的DHCPOFFER封包则会根据这些资料传递给要求租约的客户。根据服务器端的设置,DHCPOFFER封包会包含一个租约期限的信息。如果客户端收到网络上多台DHCP 服务器的回应,只会挑选其中一个
DHCPOFFER(通常是最先抵达的那个),并且会向网络发送一个DHCPREQUEST广播
封包,告诉所有DHCP 服务器它将指定接受哪一台服务器提供的 IP 地址。同时,客户端还会向网络发送一个ARP 封包,查询网络上面有没有其它机器使用该 IP 地址;如果发现该 IP 已经被占用,客户端则会送出一个 DHCPDECLINE 封包给 DHCP 服务器,拒绝接受其 DHCPOFFER,并重新发送 DHCPDISCOVER信息。 当 DHCP 服务器接收到客户端的 DHCPREQUEST 之后,会向客户端发出一个DHCPACK 回应,以确认 IP 租约的正式生效,也就结束了一个完整的DHCP 工作过程。
2
第1章 网络无人职守安装第1.2节 DHCP服务器1.dhcp 软件包
2./etc/dhcpd.conf配置文件
3.例子配置文件/usr/share/doc/dhcp 不像大多数RPM那样,默认情况下dhcp的RPM包并没有默认的/etc/dhcpd.conf配置文件,但是你可以根据/usr/share/doc/dhcp 3 第1章 网络无人职守安装第1.3节 DHCP配置项1.ddnsupdatestyle2.subnet3.option 4.range dynamicbootp5.defaultleasetime6.maxleasetime7.host DHCP.CONF配置文件中常用的全局设置如下: ddnsupdatestyle参数用来设置DHCP服务器与DNS服务器的动态信息更新模式.可 选配置项为adhoc、interim和none。interim为DNS互动更新。 subnet 是DHCP.CONF文件中最常用的声明,用于在子网中设置动态分配的地址的网 络属性。如果在/etc/sysconfig/dhcp中设置了DHCPDARGS=eth0,那么subnet则只针对 eth0设备。subnet的设置中有很多option设置,可以为DHCP客户设置默认网关、子网 掩码、NIS域、DNS服务器地址和时间设置等。 range dynamicbootp 为DHCP服务器设置可动态分配的IP地址池。defaultleasetime 为DHCP客户设置默认的地址租期,单位为秒。maxleasetiime 为DHCP客户设置最长的地址租期,单位为秒。 host 设置特定主机声明,主要用于绑定特定MAC地址的主机和IP地址。dhcpd.conf例子文件: ddns-update-style interim; //配置使用DHCP更新DNS ignore client-updates; //忽略客户端更新subnet 192.168.0.0 netmask 255.255.255.0 { //设置子网声明4 第1章 网络无人职守安装option routers 192.168.0.254 //为DHCP客户设置默认网关option subnet-mask 255.255.255.0; //为DHCP客户设置子网掩码option nis-domain “notuplooking.com”; //为DHCP客户设置NIS域option domain-name “uplooking.com”; //为DHCP客户设置DNS域 option domain-name-servers 192.168.0.254; //为DHCP客户设置DNS地址,如果网络中没有DNS服务器和有DNS却没有反向解析的时候,不要设置此项,会影响客户机的启动和安装速度option ntp-servers 192.168.0.254; //为DHCP客户设置网络时间服务器的ip地址range dynaic-bootp 192.168.0.100 192.168.0.130; //设置地址池default-lease-time 21600; //为DHCP客户设置默认的地址租期(单位s)max-lease-time 43200; //为DHCP客户设置最长的地址租期(单位s)host stu1 { //设置主机声明 next-server server.uplooking.com; //设置用于定义服务器从引导文件中装入的主机名, 用于无盘工作站hardware Ethernet 12:34:56:78:AB:CD; //指定DHCP客户的MAC地址fixed-address 192.168.0.1; //对指定的MAC地址分配固定的IP地址 }} 5 第1章 网络无人职守安装第1.4节 预启动施行环境(PXE) 1.通过网卡引导计算机2.网卡和BIOS必须支持PXE3.需要使用DHCP和TFTP服务 PXE(Preboot Execution Environment)是由Intel设计的协议,它可以使计算机通过 网络启动。协议分为客户端和服务器两端,PXE 客户端在网卡的ROM中,当计算机引导时BIOS把PXE客户端调入内存执行,并显示出命令菜单,经用户选择后,PXE客户端将放置在远端的操作系统通过网络下载到本地运行。 PXE协议的成功运行需要解决以下两个问题:第一,IP由谁和如何分配分配;第二,客 户端所需系统内核和其他文件从哪里得到。 对于第一个问题,可以通过DHCP 服务解决,由DHCP 服务来给PXE 客户端分配一个IP地址,同时在配置DHCP Server时,需要增加相应的PXE特有配置。比如告诉 PXE客户端所需文件到哪里找。 至于第二个问题,在PXE 客户端所在的ROM中,已经存在了TFTP 客户端。PXE 客户端使用TFTP 客户端,通过TFTP协议到TFTP 服务器上下载所需的文件。 PXE的工作过程: PXE 客户端是需要PXE启动的计算机,TFTP 服务器和DHCP 服务器可以运行在单 一的Linux 服务器上,也可以安装在两个的Linux服务器上。Bootstrap文件、配置文件、内核文件以及内核启动其他必须文件都放置在运行TFTP服务器的TFTP服务根目录下。    PXE客户端是作为kickstart安装方式启动还是无盘工作站方式启动,在最终文件需求 上有所不同。kickstart安装方式需要在bootstrap文件或bootstrap所需boot配置文件中指定kickstart文件的位置,而无盘工作站则要指定nfsroot的位置。 具体的流程参见下图 6 第1章 网络无人职守安装7 第1章 网络无人职守安装第1.5节 配置PXE 1.配置DHCP服务器和TFTP服务器 2.dhcpd.conf中的两个配置项:filename 和 nextserver3.tftp的bootstrap文件:/tftpboot/filename 安装DHCP服务软件包,并正确配置DHCP服务的配置文件/etc/dhcpd.conf。如下为最简单的dhcpd.conf配置: ddns-update-style interim; ignore client-updates; subnet 192.168.0.0 netmask 255.255.255.0 { option routersoption subnet-masknext-server 192.168.0.254; filename=\"pxelinux.0\"; range dynamic-bootp 192.168.0.200 192.168.0.240; default-lease-time 21600; max-lease-time 43200; } 192.168.0.254; 255.255.255.0; 此配置文件中指定了TFTP服务器IP地址为192.168.0.254,同时指定了bootstrap文件为192.168.0.254 这台TFTP服务器/tftpboot目录下的pxelinux.0的文件。 安装tftpserver软件包后,会自动建立/tftpboot目录,但是要启动tftpserver需要同时指定xinetd服务和tftp服务, 因为tftp服务是基于xinetd的。 8 第1章 网络无人职守安装# chkconfig xinetd on# chkconfig tftp on# service xinetd restart9 第1章 网络无人职守安装第1.6节 PXELINUX 1.SYSLINUX启动工具主要用以启动CD/DVD 2.放入/tftpboot目录的bootstrap文件名必须保证和dhcpd.conf中配置的一样(pxelinux.0) 3.Linux安装和无盘工作站所需要的内核文件(vmlinuz和initrd.img)也要放 在/tftpboot/目录 4./tftpboot/pxelinux.cfg/目录放置网络启动配置文件 PXELINUX 是 SYSLINUX和ISOLINUX 类似的软件。PXELINUX让我们可以 使用符合 Intel PXE (PreeXecution Environment) 规格的网卡 boot ROM,直接从区域网络上启动 Linux 核心及整个系统。系统安装了syslinux的RPM包后就可以 在/usr/lib/syslinux目录中找到pxelinux.0这个文件,这个文件就是用来从无盘客户端引导、启动和安装Linux系统的关键文件。 在PXE客户端装入pxelinux.0引导器文件后,它将按pxelinux.0文件内建的规则读取pxelinux.cfg/目录下的配置文件。它找寻配置文件的方法是先比对MAC地址而后是IP地址,如果均无匹配,则将文件名为default的文件作为配置文件。例如请求的PXE客户端MAC地址为00:16:D3:24:EB:DB,分配的IP地址为192.168.0.1(十六进制表示方式为 C0A80001)。它请求一个TFTP服务器上的PXELINUX配置文件的顺序就是: /tftpboot/pxelinux.cfg/00-16-d3-24-eb-db/tftpboot/pxelinux.cfg/C0A80001/tftpboot/pxelinux.cfg/C0A8000/tftpboot/pxelinux.cfg/C0A800/tftpboot/pxelinux.cfg/C0A80/tftpboot/pxelinux.cfg/C0A8/tftpboot/pxelinux.cfg/C0A 10 第1章 网络无人职守安装/tftpboot/pxelinux.cfg/C0/tftpboot/pxelinux.cfg/C/tftpboot/pxelinux.cfg/default11 第1章 网络无人职守安装第1.7节 Kickstart 和PXELINUX 1.kickstart文件位置由PXELINUX的启动配置文件告知安装内核2.kickstart 文件可以由nfs或http服务器提供3.安装包源位置由kickstart文件指定 一个简单的PXELINUX配置文件: # cat /tftpboot/pxelinux.cfg/defaultdefault local prompt 1 timeout 60 display boot.msg label local   localboot 1  label linux   kernel vmlinuz  append initrd=initrd.img ramdisk_size=8192 label ksinstall  kernel vmlinuz  append initrd=initrd.img ramdisk_size=8192 ks=http://192.168.0.254/ks.conflabel vncinstall  kernel vmlinuz12 第1章 网络无人职守安装  append initrd=initrd.img ramdisk_size=8192 vnc vncpassword=password13 第2章 试验实例第2章 试验实例 第2.1节 服务器端安装软件包#mount 192.168.0.254:/var/ftp/pub/ /mnt#cd /mnt/{redhat_file_tree_dir}/{rpm_dir}#rpm -ivh dhcp-*.rpm#rpm -ivh xinetd*.rpm#rpm -ivh  tftp-server*.rpm#rpm -ivh syslinux*.rpm#rpm -ivh nfs-utils-*.rpm#rpm -ivh httpd*.rpm #rpm -ivh system-config-kickstart*.rpm 由于不同版本的RedHat或Fedora系统的rpm_dir目录名不同,所以请根据实际情况选择合适的目录。 第2.2节 配置服务器环境第2.2.1节配置dhcp服务 设置dhcpd.conf文件 #vi /etc/dhcpd.confddns-update-style interim; ignore client-updates; allow bootp; 14 第2章 试验实例allow booting; subnet 192.168.0.0 netmask 255.255.255.0 { option routersoption subnet-masknext-server 192.168.0.x ;  filename=\"pxelinux.0\"; option time-offset -18000;192.168.0.254; 255.255.255.0; // 将此处的ip地址改为你本地的ip地址 range dynamic-bootp 192.168.0.200 192.168.0.240; default-lease-time 21600; max-lease-time 43200; } 先不要启动dhpc服务,保证你所处的网络中没有其它dhpc服务的情况下再启动,否则会出现ip分配竞争的问题。 第2.2.2节设置tftp服务 设置tftp服务随xinetd服务一同启动 #chkconfig xinetd on#chkcfonfig tftp on将网络安装所需要的启动和映像文件拷贝到/tftpboot #cd /mnt/{redhat_file_tree_dir}/images/pxeboot#cp vmlinuz /tftpboot#cp initrd.img /tftpboot15 第2章 试验实例#cp /usr/lib/syslinux/pxelinux.0 /tftpboot然后在/tftpboot中建立pxelinux.cfg文件夹 #mkdir /tftpboot/pxelinux.cfg在pxelinux.cfg文件夹中建立pxe配置文件default #cd /tftpboot/pxelinux.cfg#vi default写入最简单的本地硬盘引导和远程kickstart安装配置项 default localprompt1timeout60label locallocalboot label installkernel vmlinuz 1 appendinitrd=initrd.imgramdisk_size=8192 ks=http://192.168.0.x/ks/ks.conf 记得将192.168.0.x改为你本地的ip地址重启xinetd服务,使tftp服务生效 #service xinetd restart16 第2章 试验实例第2.2.3节配置NFS提供安装内容目录的服务 准备一个共享的安装目录 #mkdir /var/ftp/pub/RedHat将光盘中安装文件目录或192.168.0.254服务器上的安装文件目录完全复制到这个目录中,形成安装文件目录树 #cp -a /mnt/{redhat_file_tree_dir}  /var/ftp/pub/RedHat配置nfs共享目录配置文件 #vi /etc/exports写入 /var/ftp/pub/RedHat192.168.0.0/255.255.255.0从新启动nfs服务 #service nfs restart第2.2.4节生成kickstart文件 生成ks.conf配置文件 #system-config-kickstart需要注意的地方是,设置系统安装方式为网络安装,设置安装源为nfs方式,安装文件服务器为你的ip地址,安装文件目录为 /var/ftp/pub/RedHat/{redhat_file_tree_dir}, 其它的你就随意吧! 设置并生成ks.conf文件后,为了方便共享使用,按/tftpboot/pxelinux.cfg/default文件里设置的访问方式,将ks.conf文件放在/var/www/html/ks目录下 #mkdir /var/www/html/ks17 第2章 试验实例#cp ks.conf /var/www/html/ks第2.2.5节设置Apache服务器 如果你之前没有配置过apache,现在启动httpd服务就可以了;如果你之前配置过 apache,请将/etc/httpd/conf/httpd.conf配置文件恢复。 #service httpd start第2.2.6节启动dhcpd服务 请确保你所在的网络中没有其它dhcp服务器#server dhcpd start第2.3节 客户端设置 将服务器和安装客户端用网线和路由器相连,如果你无法保证网络中仅有一台dhcp服务器,请使用对连线将服务器和客户端相连。 设置客户端从网卡启动,并且保证网卡支持pxe启动方式。 重启客户端,如果看到boot:提示符出现,证明服务器端dhcp和tftp服务工作正常。如果在boot:提示符后键入install并回车,可以正确的安装,说明其它服务也正常运行了。 18              
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务
