在 Ubuntu 14.04 中配置 PXE 服务器

PXE(预启动执行环境Preboot Execution Environment)服务器容许用户从网络中启动 Linux 发行版而且能够不须要 Linux ISO 镜像就能同时在数百台 PC 中安装。若是你客户端的计算机没有 CD/DVD 或USB 引导盘,或者若是你想在大型企业中同时安装多台计算机,那么 PXE 服务器能够帮你节省时间和金钱。linux

在这篇文章中,咱们将告诉你如何在 Ubuntu 14.04 配置 PXE 服务器。ubuntu

 

配置网络服务器

开始前,你须要先设置 PXE 服务器使用静态 IP。在你的系统中要使用静态 IP 地址,须要编辑 “/etc/network/interfaces” 文件。网络

打开 “/etc/network/interfaces” 文件.app

sudo nano /etc/network/interfaces运维

做以下修改:async

# 回环网络接口oop

auto lolinux运维

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 地址来访问网络。

一、编辑 “/etc/default/dhcp3-server” 文件.

sudo nano /etc/default/dhcp3-server

做以下修改:

INTERFACES="eth0"

保存 (Ctrl + o) 并退出 (Ctrl + x) 文件.

二、编辑 “/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;

}

保存文件并退出。

三、启动 DHCP 服务.

sudo /etc/init.d/isc-dhcp-server start

 

配置 TFTP 服务器:

TFTP 是一种文件传输协议,相似于 FTP,但它不用进行用户认证也不能列出目录。TFTP 服务器老是监听网络上的 PXE 客户端的请求。当它检测到网络中有 PXE 客户端请求 PXE 服务时,它将提供包含引导菜单的网络数据包。

一、配置 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

保存文件并退出。

二、编辑 “/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"

保存文件并退出。

三、 使用 xinetd 让 boot 服务在每次系统开机时自动启动,并启动tftpd服务。

sudo update-inetd --enable BOOT

sudo service tftpd-hpa start

四、检查状态。

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 30;44 #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 桌面的菜单项。

 

结论

配置使用 PXE 服务器从网络启动安装能提升效率和节省时间。你能够在本地网络中同时安装数百个客户端。全部你须要的只是一个 PXE 服务器和能启动 PXE 的客户端。

免费领取兄弟连IT教育原创linux运维工程师视频/细说linux教程,详情咨询官网客服:http://www.lampbrother.net/linux/

或者勾搭Q2430675018

欢迎加入linux交流群 478068715

相关文章
相关标签/搜索