我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何在Ubuntu系统上配置PXE服务器

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何在Ubuntu系统上配置PXE服务器

本篇内容主要讲解“如何在Ubuntu系统上配置PXE服务器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何在Ubuntu系统上配置PXE服务器”吧!

PXE概述
PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户?)基本软件设置,从而引导预先安装在服务器中的终端操作系统。

简单说来,PXE服务器就是DHCP服务器+TFTP服务器。网络启动过程大概是这样的(可能并不严谨):客户端发送动态获得IP地址的广播包到网络上,DHCP服务器在收到该广播包后,发送给客户端分配IP地址的回应包,客户端收到回应包后设置自己的IP地址,然后从DHCP服务器获得启动服务器的IP地址(DHCP服务器066选项,这就是TFTP服务器的IP地址)及启动文件名(DHCP服务器067选项,这里的启动文件名就是pxelinux.0或者支持pxe的grub4dos的grldr,当然,也可以是startrom.n12或者使用3com Image Edit创建的pxe启动菜单文件,总之,它应该是一种由pxe启动规范规定的固定格式的可执行文件),然后客户端到联系启动服务器(TFTP服务器)获得启动文件并执行,这样基本上就完成了pxe启动过程。

在Unix或者Linux系统下,DHCP服务器和TFTP服务器一般都是分开设置的,两台服务器甚至可以在两台不同的机器上,其实Windows下的设置也是一样的,但在Windows下,我们可以通过使用HaneWin DHCP服务器软件或TFTPD32一个软件就搞定(我个人推荐使用HaneWin DHCP服务器软件,但TFTPD32设置起来更简单一些,就是效率有些低),详细的设置方法请自己摸索,你只要知道,在设置PXE服务器时,要设置好DHCP和TFTP两个服务器,其中DHCP服务器要设置启动服务器名(066选项)和启动文件名(067选项)。

配置网络
开始前,你需要先设置 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 地址来访问网络。

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


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 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 桌面的菜单项。
如何在Ubuntu系统上配置PXE服务器

到此,相信大家对“如何在Ubuntu系统上配置PXE服务器”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何在Ubuntu系统上配置PXE服务器

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何在Ubuntu系统上配置PXE服务器

本篇内容主要讲解“如何在Ubuntu系统上配置PXE服务器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何在Ubuntu系统上配置PXE服务器”吧!PXE概述PXE(preboot execu
2023-06-13

怎么在Ubuntu 14.04中配置PXE服务器

这篇文章主要讲解了“怎么在Ubuntu 14.04中配置PXE服务器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Ubuntu 14.04中配置PXE服务器”吧!PXE(预启动执行环境
2023-06-16

如何在ubuntu 15.04服务器上配置SNMPv3

这篇文章主要介绍“如何在ubuntu 15.04服务器上配置SNMPv3”,在日常操作中,相信很多人在如何在ubuntu 15.04服务器上配置SNMPv3问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何在
2023-06-17

如何在阿里云服务器上配置Windows系统

本文将详细介绍如何在阿里云服务器上配置Windows系统。我们将从选择Windows服务器类型开始,然后介绍如何在阿里云控制台中进行Windows服务器的创建和配置,最后我们将详细介绍如何在Windows系统上安装和配置所需的软件和服务。在阿里云上配置Windows系统需要几步简单的步骤。首先,你需要选择一个合适
如何在阿里云服务器上配置Windows系统
2023-11-15

如何在Ubuntu上安装并配置Apache服务器

在Ubuntu上安装和配置Apache服务器可以通过以下步骤完成:安装Apache服务器:在终端中运行以下命令来安装Apache服务器:sudo apt updatesudo apt install apache2启动Apache服务器
如何在Ubuntu上安装并配置Apache服务器
2024-04-09

如何在Ubuntu上安装并配置Tomcat服务器

首先,确保已经安装了Java环境。可以在终端输入以下命令检查Java是否已安装:java -version如果未安装Java,可以使用以下命令安装OpenJDK:sudo apt updatesudo apt install defau
如何在Ubuntu上安装并配置Tomcat服务器
2024-04-09

如何在Ubuntu上安装并配置FTP服务器

在Ubuntu上安装和配置FTP服务器有很多种方法,最常用的是使用vsftpd(Very Secure FTP Daemon)。以下是在Ubuntu上安装和配置vsftpd的步骤:打开终端并更新软件包列表:sudo apt update安装
如何在Ubuntu上安装并配置FTP服务器
2024-04-09

在Ubuntu系统上怎么配置网桥

本篇内容主要讲解“在Ubuntu系统上怎么配置网桥”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在Ubuntu系统上怎么配置网桥”吧!网桥是一个硬件装备,用来将两个或多个数据链路层(OSI七层模
2023-06-13

如何在FreeBSD系统上安装和配置Web服务器

在FreeBSD系统上安装和配置Web服务器可以通过以下步骤实现:安装Apache HTTP服务器:在终端中运行以下命令安装Apache HTTP服务器:sudo pkg install apache24配置Apache服务器:在终端
如何在FreeBSD系统上安装和配置Web服务器
2024-04-09

怎么在Ubuntu系统上安装配置Golang

本篇内容介绍了“怎么在Ubuntu系统上安装配置Golang”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!步骤1:更新你的Apt存储库在安装
2023-07-05

如何在CentOS系统的服务器上用ss5配置socket5代理

这篇文章主要介绍“如何在CentOS系统的服务器上用ss5配置socket5代理”,在日常操作中,相信很多人在如何在CentOS系统的服务器上用ss5配置socket5代理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对
2023-06-10

编程热搜

目录