2,yum安装ftp 目的就是为了上传下载 boot 文件
yum -y install vsftpd
登录后复制
3,安装tftp插件:
yum -y install tftp-server tftp xinetd
登录后复制
4,修改tftp配置文件
vim /etc/xinetd.d/tftp
默认不允许tftp开启 改为no no 是开启
登录后复制
5,启用xinetd 在启用 tftp
systemctl start xinetd
systemctl start tftp
登录后复制
6,安装dhcp,以及编辑dhcp文件
yum -y install dhcp
cp -p /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
登录后复制
55行下面,箭头所指的方向是要编写的内容
重启DHCP: systemctl restart dhcpd
7,创建一个目录,在ftp目录下
mkdir /var/ftp/ygz
将光盘复制一份到ftp刚新建的目录下面(复制过程有点长,耐心等待)
cp -rf /media/* /var/ftp/ygz/
登录后复制
8,进入pxe引导文件
cd /media/images/pxeboot/
cp vmlinuz initrd.img /var/lib/tftpboot/
cp /media/isolinux/boot.msg /var/lib/tftpboot/
登录后复制
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
登录后复制
9,安装PXE软件
yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
登录后复制
10,编辑默认配置文件
vim /var/lib/tftpboot/pxelinux.cfg/default
删除配置文件的所有东西并重新编辑:
default auto
prompt 1
timeout 600
display boot.msg
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.10.1/ygz/
登录后复制
11.重启所有服务
systemctl restart vsftpd
systemctl restart xinetd
systemctl restart tftp
systemctl restart dhcpd
登录后复制
验证: 开启客户端
客户端的虚拟机必须内存条给2G以上,不然可能会报错
耐心等待......
按回车健开始引导
耐心等待......
剩下的就是手动安装了
②如果网卡不是集成的,则可以拔掉网卡上的引导芯片或者用网卡设置程序,禁止网卡的BootROM引导功能也可以关机,然后在开机之后,当出现“Press Shift-F10 Configure……”时,马上按“Shift+F10”组合键,进入菜单之后,从第4行中将Boot order rom设置为disable,然后按F4键保存退出。
PXE(Preboot Execution Environment,远程引导技术)是RPL(Remote Initial Program Load,远程启动服务)的升级产品。它们的不同之处为:RPL是静态路由,PXE是动态路由。不难理解:RPL是根据网卡上的ID号加上其它的记录组成的一个帧向服务器发出请求,而服务器那里早已经有了这个ID数据,匹配成功则进行远程启动;PXE则是根据服务器端收到的工作站MAC地址(就是网卡号),使用DHCP服务给这个MAC地址指定一个IP地址,每次重启动可能同一台工作站有与上次启动有不同的IP,即动态分配地址。下面以工作站引导过程说明PXE的原理:
1、 工作站开机后, PXE BootROM(自启动芯片) 获得控制权之前先做自我测试,然后以广播形式发出一个请求FIND帧。
2、 如果服务器收到工作站所送出的要求, 就会送回 DHCP 回应, 内容包括用户端的 IP 地址, 预设通讯通道, 及开机映像文件。 否则, 服务器会忽略这个要求。
3、 工作站收到服务器发回的响应后则会回应一个帧,以请求传送启动所需文件。
4、 之后,将有更多的讯息在工作站与服务器之间作应答, 用以决定启动参数。 BootROM 由 TFTP 通讯协议从服务器下载开机映像档, 这个映像档就是软盘的映象文件。
5、 工作站使用TFTP 协议接收启动文件后,将控制权转交启动块,引导操作系统,完成远程启动.
还需开启TFTP,建议使用tftpd32或hanewin dhcp建立PXE服务,他们都集成dhcp和tftp服务。启动文件可以是pxelinux,grub4dos中的grldr或用3Com DABS中的3Com Boot Image Editor制作的启动文件。
配置网络开始前,你需要先设置 PXE 服务器使用静态 IP。在你的系统中要使用静态 IP 地址,需要编辑 “/etc/network/interfaces” 文件。
打开 “/etc/network/interfaces” 文件.
sudo nano /etc/network/interfaces
作如下修改:
# 回环网络接口
auto lo
iface lo inet loopback
# 主网络接口
auto eth0
iface eth0 inet static
address 192.168.1.20
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
保存文件并退出。这将设置其 IP 地址为“192.168.1.20”。然后重新启动网络服务。
sudo /etc/init.d/networking restart
安装 DHCP, TFTP 和 NFS:
DHCP,TFTP 和 NFS 是 PXE 服务器的重要组成部分。首先,需要更新你的系统并安装所有需要的软件包。
为此,运行以下命令:
sudo apt-get update
sudo apt-get install isc-dhcp-Server inetutils-inetd tftpd-hpa syslinux nfs-kernel-Server
配置 DHCP 服务:
DHCP 代表动态主机配置协议Dynamic Host Configuration Protocol,它主要用于动态分配网络配置参数,如用于接口和服务的 IP 地址。在 PXE 环境中,DHCP 服务器允许客户端请求并自动获得一个 IP 地址来访问网络。
1、编辑 “/etc/default/dhcp3-server” 文件.
sudo nano /etc/default/dhcp3-server
作如下修改:
INTERFACES="eth0"
保存 (Ctrl + o) 并退出 (Ctrl + x) 文件.
2、编辑 “/etc/dhcp3/dhcpd.conf” 文件:
sudo nano /etc/dhcp/dhcpd.conf
作如下修改:
default-lease-time 600
max-lease-time 7200
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.21 192.168.1.240
option subnet-mask 255.255.255.0
option routers 192.168.1.20
option broadcast-address 192.168.1.255
filename "pxelinux.0"
next-Server 192.168.1.20
}
保存文件并退出。
3、启动 DHCP 服务.
sudo /etc/init.d/isc-dhcp-server start
配置 TFTP 服务器:
TFTP 是一种文件传输协议,类似于 FTP,但它不用进行用户认证也不能列出目录。TFTP 服务器总是监听网络上的 PXE 客户端的请求。当它检测到网络中有 PXE 客户端请求 PXE 服务时,它将提供包含引导菜单的网络数据包。
1、配置 TFTP 时,需要编辑 “/etc/inetd.conf” 文件.
sudo nano /etc/inetd.conf
作如下修改:
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
保存文件并退出。
2、编辑 “/etc/default/tftpd-hpa” 文件。
sudo nano /etc/default/tftpd-hpa
作如下修改:
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="[:0.0.0.0:]:69"
TFTP_OPTIONS="--secure"
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"
保存文件并退出。
3、 使用 xinetd 让 boot 服务在每次系统开机时自动启动,并启动tftpd服务。
sudo update-inetd --enable BOOT
sudo service tftpd-hpa start
4、检查状态。
sudo netstat -lu
它将如下所示:
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 *:tftp *:*
配置 PXE 启动文件
现在,你需要将 PXE 引导文件 “pxelinux.0” 放在 TFTP 根目录下。为 TFTP 创建目录结构,并从 “/usr/lib/syslinux/” 复制 syslinux 提供的所有引导程序文件到 “/var/lib/tftpboot/” 下,操作如下:
sudo mkdir /var/lib/tftpboot
sudo mkdir /var/lib/tftpboot/pxelinux.cfg
sudo mkdir -p /var/lib/tftpboot/Ubuntu/14.04/amd64/
sudo cp /usr/lib/syslinux/vesamenu.c32 /var/lib/tftpboot/
sudo cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/
设置 PXELINUX 配置文件
PXE 配置文件定义了 PXE 客户端启动时显示的菜单,它能引导并与 TFTP 服务器关联。默认情况下,当一个 PXE 客户端启动时,它会使用自己的 MAC 地址指定要读取的配置文件,所以我们需要创建一个包含可引导内核列表的默认文件。
编辑 PXE 服务器配置文件,使用有效的安装选项。
编辑 “/var/lib/tftpboot/pxelinux.cfg/default”:
sudo nano /var/lib/tftpboot/pxelinux.cfg/default
作如下修改:
DEFAULT vesamenu.c32
TIMEOUT 100
PROMPT 0
MENU INCLUDE pxelinux.cfg/PXE.conf
NOESCAPE 1
LABEL Try Ubuntu 14.04 Desktop
MENU LABEL Try Ubuntu 14.04 Desktop
kernel Ubuntu/vmlinuz
append boot=casper netboot=nfs nfsroot=192.168.1.20:/var/lib/tftpboot/Ubuntu/14.04/amd64
initrd=Ubuntu/initrd.lz quiet splash
ENDTEXT
LABEL Install Ubuntu 14.04 Desktop
MENU LABEL Install Ubuntu 14.04 Desktop
kernel Ubuntu/vmlinuz
append boot=casper automatic-ubiquity netboot=nfs nfsroot=192.168.1.20:/var/lib/tftpboot/Ubuntu/14.04/amd64
initrd=Ubuntu/initrd.lz quiet splash
ENDTEXT
保存文件并退出。
编辑 “/var/lib/tftpboot/pxelinux.cfg/pxe.conf” 文件。
sudo nano /var/lib/tftpboot/pxelinux.cfg/pxe.conf
作如下修改:
MENU TITLE PXE Server
NOESCAPE 1
ALLOWOPTIONS 1
PROMPT 0
MENU WIDTH 80
MENU ROWS 14
MENU TABMSGROW 24
MENU MARGIN 10
MENU COLOR border 3044 #ffffffff #00000000 std
保存文件并退出。
为 PXE 服务器添加 Ubuntu 14.04 桌面启动镜像
对于这一步需要 Ubuntu 内核和 initrd 文件。要获得这些文件,你需要 Ubuntu 14.04 桌面 ISO 镜像。你可以通过以下命令下载 Ubuntu 14.04 ISO 镜像到 /mnt 目录:
sudo cd /mnt
sudo wget http://releases.ubuntu.com/14.04/ubuntu-14.04.3-desktop-amd64.iso
注意: 下载用的 URL 可能会改变,因为 ISO 镜像会进行更新。如果上面的网址无法访问,看看这个网站,了解最新的下载链接。
挂载 ISO 文件,使用以下命令将所有文件复制到 TFTP文件夹中:
sudo mount -o loop /mnt/ubuntu-14.04.3-desktop-amd64.iso /media/
sudo cp -r /media/* /var/lib/tftpboot/Ubuntu/14.04/amd64/
sudo cp -r /media/.disk /var/lib/tftpboot/Ubuntu/14.04/amd64/
sudo cp /media/casper/initrd.lz /media/casper/vmlinuz /var/lib/tftpboot/Ubuntu/
将导出的 ISO 目录配置到 NFS 服务器上
现在,你需要通过 NFS 协议来设置“安装源镜像( Installation Source Mirrors)”。你还可以使用 HTTP 和 FTP 来安装源镜像。在这里,我已经使用 NFS 输出 ISO 内容。
要配置 NFS 服务器,你需要编辑 “/etc/exports” 文件。
sudo nano /etc/exports
作如下修改:
/var/lib/tftpboot/Ubuntu/14.04/amd64 *(ro,async,no_root_squash,no_subtree_check)
保存文件并退出。为使更改生效,输出并启动 NFS 服务。
sudo exportfs -a
sudo /etc/init.d/nfs-kernel-server start
现在,你的 PXE 服务器已经准备就绪。
配置网络引导 PXE 客户端
PXE 客户端可以是任何支持 PXE 网络引导的计算机系统。现在,你的客户端只需要在系统的 BIOS 中设置 “从网络引导(Boot From Network)” 选项就可以启动并安装 Ubuntu 14.04 桌面。
现在准备出发吧 - 用网络引导启动你的 PXE 客户端计算机,你现在应该看到一个子菜单,显示了我们创建的 Ubuntu 14.04 桌面的菜单项。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)