Linux配置PXE服务避坑指南


一、概述

网上搭建pxe的服务一大把,不过很多感觉说得不太清楚,因此整理一下,用最简单最快捷的方法搭建好pxe服务器


二、依赖服务

pxe实际只依赖 tftp 和 dhcp,其他 ftp/http/nfs 可以后期加入,后面文章会继续介绍。

三、安装

1、tftp服务

以任何的方式安装并启用tftp服务即可,查看对应服务指向的根目录,例如 /var/lib/tftproot/

2、DHCP服务

以任何方式安装好DHCP服务,这里以VMWare虚拟机为客户端,就不做具体dhcp配置的详细说明。

DHCP正常运行后,PXE对DHCP的配置和普通的是有差异的,因为普通DHCP获取到IP即可,PXE的DHCP需要知道问哪个服务器,要哪个文件,因此DHCP的配置上加上以下两句

vmware的 NAT 的DHCP服务配置在 /etc/vmware/vmnet8/dhcpd/dhcpd.conf,可以加在最前面,好像加在subnet里面也行

filename "pxelinux.0";
next-server 192.168.29.1;

当然,配置完成后记得通过 /etc/init.d/vmware restart 指令让此服务重启生效

pxe引导跟普通的DHCP的差异就在这两项。

filename 告诉pxe加载的时候加载tftp服务端下的文件作为初始引导的文件名。

next-server 告诉pxe找哪个服务器IP获取tftp的文件,具体看你的vmware配置的是什么网段,例如配置NAT的,就看vmnet8的配置文件及vmnet8的本机IP

3、需要的文件

以安装ubuntu 16.04/18.04为例,去 http://cdimage.ubuntu.com/netboot/ 网址,选择对应的版本,下载 netboot.tar.gz 文件,直接解压到 tftp 的根目录即可。

保证tftp根目录有几个文件  pxelinux.0 (DHCP 后取这个文件进行第0步的配置),pxelinux.cfg/default (menu的配置就在这里实现,里面可能还会依赖其他文件,不过如果是直接解压,依赖不会有问题), 依赖的文件,例如 ldlinux.c32,menu.cfg 之类,这些依赖文件只要看default里面怎么配,不是绝对的。

 

如果上述三个要素都做好,进入pxe模式应该就会提示dhcp获取到IP,并进行文件的下载。

如果遇到问题,

a ) DHCP后没其他打印,

    i ) 确定配置好DHCP服务,因为DHCP服务完成后,即使没有tftp服务,都会提示获取IP成功,并进入tftp下载模式。

b ) 如果DHCP成功,打印tftp超时之类,请检查看

    i ) 是否在DHCP上配置了  next-server ,

    ii )  tftp服务是否在运行,默认是UDP 69端口,可以用nmap 127.0.0.1 -Su 扫一下看端口状态

    iii ) 防火墙是否配置好或者直接关闭防火墙。

 

四、总结

以上是最小的更改下可以验证pxe的方法,接下来需要挂载iso到http或者NFS上后文继续。

简单来说,

1、pxe先通过DHCP获取IP,然后通过DHCP下的 filename 和 next-server 找到 tftp 服务,

2、然后加载 tftp 服务下的 pxelinux.0 文件(或其他名字,由 filename 定义)和 pxelinunx.cfg/default 配置,

3、通过配置上载入其他可能用到的文件,例如 ldlinux.c32 ,menu.cfg 等,弹出菜单。

4、通过 menu.cfg / txt.cfg 等配置的菜单,加载 vmlinux 和 initrd,以达到从网络引导 linux 内核和简单 ram 文件系统,进入下一步的安装

 

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Linux上部署PXE(Preboot Execution Environment),您需要执行以下步骤: 1. 安装和配置DHCP服务器:您需要安装并配置一个DHCP服务器,以便为客户端提供IP地址和PXE引导文件的位置。在大多数Linux发行版中,您可以使用`dhcpd`软件包来实现这一点。编辑DHCP服务器的配置文件(通常位于`/etc/dhcp/dhcpd.conf`),并为客户端指定PXE引导文件的位置。 2. 安装和配置TFTP服务器:TFTP(Trivial File Transfer Protocol)用于传输PXE引导文件到客户端。您可以使用`tftpd-hpa`软件包来安装TFTP服务器。编辑TFTP服务器的配置文件(通常位于`/etc/default/tftpd-hpa`),确保指定PXE引导文件的目录。 3. 准备PXE引导文件:PXE引导文件是客户端在启动时下载和执行的文件。您可以从网络上下载一个通用的PXE引导文件,例如`pxelinux.0`。将该文件复制到TFTP服务配置文件中指定的目录。 4. 配置网络引导:在DHCP服务配置文件中,指定客户端将从哪个服务器下载PXE引导文件。您需要在DHCP配置文件中添加类似以下内容的条目: ``` next-server <TFTP服务器IP地址>; filename "pxelinux.0"; ``` 将`<TFTP服务器IP地址>`替换为您TFTP服务器的实际IP地址。 5. 启动和测试:启动DHCPTFTP服务器,并确保客户端能够通过PXE引导。您可以在客户机上启用PXE引导选项,并检查其是否能够成功下载并执行PXE引导文件。 请注意,这只是一个大致的概述,具体步骤可能因Linux发行版和软件包版本而有所不同。确保参考相关文档和指南以获得更详细的说明。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值