Openwrt路由器DHCP+群晖nas做iPXE启动(二):群晖NAS配置TFTP,HTTP服务,提供启动文件
先复习下网络启动的过程:
总结启动流程下:
1、PC加电自检,进入网卡PXE启动。
2、PXE向DHCP服务器请求IP地址,发送option60,标识自己的架构。
3、DHCP服务器,发送启动TFTP服务器ip和对应的iPXE启动文件名给PC的PXE程序。
4、PC的PXE程序到TFTP服务器下载iPXE启动文件,并启动iPXE。
5、iPXE再次向DHCP服务器发送请求,获取自己的配置文件名。
6、iPXE到TFTP服务器下载配置文件,进入iPXE启动菜单。
前面的完成了openwrt的配置,走到了第3步,网卡的PXE启动程序,获取了tftp服务器的ip和启动文件名,接下来就要用到TFTP服务器、HTTP服务器。
下面我们要配置群晖nas,配置http、tftp服务。
一、配置HTTP服务
1、规划web目录:指定网站要使用的磁盘空间。
2、安装web station:根据自己的规划,完成web station的安装、配置。

3、完成后,系统自动创建了两个共享,web和web_packages,其中web就是我们的网站定目录,也就是http://192.168.1.3/的主目录。这里192.168.1.3是本人群晖NAS的IP,请用你的替换。
4、web下建立tftp目录,这个作为我们网路启动服务目录

二、配置TFTP服务:
这个简单,打开控制面板,进入文件服务,启用TFTP,指定TFTP的根文件夹,指向我们前面设置的web/tftp即可。

三、下载ipxe启动文件:
1、下载iPXE启动程序:
第一篇介绍过,网络启动分为PXE启动和iPXE启动,DHCP设置启动文件就是ipxe的启动程序,分别是BIOS模式下的undionly.kpxe,和UEFI模式下的 ipxe.efi ,这两个文件请到ipxe官网下载:
https://boot.ipxe.org/undionly.kpxe
https://boot.ipxe.org/ipxe.efi
下载后纺织到web/tftp目录下。
到这里,网络启动流程就到了
第4步,PC机从TFTP获取了iPXE启动文件,然后开始执行。
第5步,iPXE启动程序被执行,再次向DHCP服务器请求配置配置文件。DHCP返回tftp服务器ip和boot.ipxe。
2、boot.ipxe是iPXE的配置文件:boot.ipxe
这个是ipxe比较复杂的部分,我提供个样板,请保存为boot.ipxe。
3、配置boot.ipxe.cfg,这个是变量文件,内容如下,请保存为boot.ipxe.cfg。请注意需要替换自己NAS服务器ip。
这里指定了http服务器的地址,以及menu.ipxe所在目录。
4、配置启动菜单,menu.ipxe
先附上我的menu.ipxe,请保存为menu.ipxe。
menu基本分为两部分,UEFI菜单和BIOS菜单。下面的语句判单启动模式,分别启用对应的菜单:
# bios or uefi
iseq ${platform} efi && goto start_efi || goto start_bios
菜单下面就是各个启动项的配置。
上面的三个文件,即boot.ipxe,boot.ipxe.cfg,menu.ipxe,请保存到web/tftp目录下。
5、启动iso打包的PE系统:
IPXE可以启动ISO文件,WIM文件,等等系统镜像,这里以ISO打包的pe为例说明,其它请大家参考上面的menu进行设置即可。
请下载微PE工具箱的iso文件,修改名字微petools64.iso,放置到web/tftp/iso目录中。
:UEFI64
echo Boot iPXE ${arch} | ${platform}
sanboot --no-describe http://192.168.1.3/tftp/iso/petools64.iso || goto failed
goto start
:BIOS64DOS
echo Boot iPXE ${arch} | ${platform}
initrd http://192.168.1.3/tftp/iso/petools64.iso
chain memdisk iso raw || goto failed
goto start
6、测试。
根据启动流程,开始启动测试,并根据流程,判断问题,解决问题,祝你们成功。