linux pxe启动ftp格式,FTP+DHCP+TFTP+PXElinux实现RHLINUX的网络自动安装

(一)原理

第一步: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安装程序的引导内核。

安装的流程:PXE网卡启动------DHCP服务器------获得IP------从TFTP上下载pxelinux.0、vmlinuz、initrd------启动系统------通过PEX去FTPTP下载ks.cfg文件-----跟据ks.cfg去FTP下载安装包及安装系统------完成安装。

(二)配置步骤

1)、配置yum仓库

2)、ftp的配置

3)、dhcp的配置

4)、tftp的配置

5)、ks.cfg的生成和配置

详细配置

1.配置yum客户端

/etc/yum.repos.d/rh

yum repolist   查看yum仓库内容

yum  list all    查看可安装的文件

49e397fece5e5097c511df5d7feb66ed.png

b9ddd5ae2001ad44837d19512bd30e1f.png

2、ftp放置安装文件   yum install -y vsftpd

启动ftp

service  vsftpd restart  临时启动

chkconfig  vsftpd on    永久启动

把光盘上的安装文件放到ftp  cp -r .  /var/ftp/pub

b18d6bf42df9de5835927257a06eee7d.png

2a9833e555605c22bdadc1e3318f797f.png

3、dhcp

yum install -y dhcp

vim /etc/dhcpd.conf

:r  /文件

改subnet区域

添加

next-server    192.168.145.100;       tftp服务器的地址发给客户端

filename       "pxelinux.0";           pxe的文件发给客户端客户端会去tftp

每次修改都要重启服务

chkconfig  dhcpd on

2af66bdf36687a86ef09e6752d182143.png

f0517010cea90275466518f1a07fad77.png

e76bfb7161a276da0f86c968ae950fdf.png

9c2ca46181bdd5f23a9d12a37a9e3b7b.png

下面的这一步很关键,做完以后不要忘记重启哦

526219eb1bfb49780d268d8b1d3e00ff.png

c7d76719050912fc99def238a8fec336.png

4、  tftp放置pxe的驱动和配置

查看tftp装没有 yum  list  all  |grep tftp

rpm -ql 查看tftp-server的目录

vim /etc/xinetd.d/tftp

dgram表示用udp

wait         单线程多线

管理员

服务器进程目录

用户不唤醒吗 把yes-》no

server xinetd  restart   依赖于超级守护进程所以要启动超级守护进程就可以了

5.2把驱动考到tftp

tftp的根tftpboot目录在/下

把驱动考到它的根目录

cp /usr/lib/syslinux/pxelinux.0    pxe驱动

cp /mnt/cdrom/p_w_picpaths/pxeboot/vmlinuz  pxe的内核

cp  /mnt/cdrom/p_w_picpaths/pxeboot/initrd.img 硬件驱动

为pxe建业个目录

mkdir -pv pxelinux.cfg

吧pxe的配置文件考到pxelinux.cfg

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

编辑default文件

修改

kernel vmlinuz

append  ks=ftp://192.168.145.100/pub/ks.cfg  ksdevice=eth0  initrd=initrd.img

改改时间

34f89c5dcaecf1121345800eaf8b8438.png

a5c43fbae9e1b40f1a124ba05761254a.png

拷贝的指令没有截图根据上面的步骤拷贝文件就行

9eea8fc597c7e03f8116164baf8bd0f4.png

9d3c8498cd665c16696778eb70f9ada6.png

5、ks.cfg的生成和配置

用yun安装system-config-kickstart   要用的命令(需要安装)

用system-config-kickstart产生ks.cfg

后安装脚本

#!/bin/bash

IP=`ifconfig | grep -i bcast|awk '{print $2}'`

num=${IP##*.}

sed -i "s/HOSTNAME.*$/HOSTNAME=lu$num/" /etc/sysconfig/network

sed -i "s/BOOTPROTO.*$/BOOTTPROTO=none/" /etc/sysconfig/network-scripts/ifcfg-eth0

sed -i "s/IPADDR.*$/IPADDR=192.168.10.$num/" /etc/sysconfig/network-scripts/ifcfg-eth0

sed -i "s/NETMASK.*$/NETMASK=255.255.255.0/" /etc/sysconfig/network-scripts/ifcfg-eth0

编辑ks.fg

在ks.fg上添加

key  --skip

services  --disable  sendmail

e12e9d721fa74388e56aade902d03bee.png

2532432b17e95f348fc91669ab53132f.png

45e0dd2834ad4ef2a7ebc22ca4cc1c26.png

ff51bcfdc8f05904664c42ced9076f7e.png

877bc3f74af2e3bef3d8985ce12898bf.png

ed237bc3d0b52e3a39ac69cac50cd1f2.png

2b2a92bfca358e68a5ff41a09d9b4088.png

0c30dde3935febcea14f2d5b0a604d9e.png

把ks.cfg放到ftp服务器上

e49b2c90903a75c37e5d6c10d8e7fd16.png

a899bfcbe5cc6e6d4c1bf1b56dc5dfa6.png

为了不必要的错误发生把三个服务器重启一下

ecc1aa221b1f63b4d169859d30b81cb7.png

开始安装了:

6c93622b25610d316255b438ca11abe2.png

哈哈!安装成功

53c664cf58e4854beea1f053d0e71e98.png


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部