测试环境:win10/vmware workstation 12 pro
操作系统:RHEL 6.5(PXE服务器)
安装与配置:
。安装DHCP
。安装XINETD, 并启用TFTP服务
。安装syslinux(yum安装):会自动在tftpboot目录下放置pxelinux.0及seamenu.c32文件,还有一些其它文件
配置DHCP: 在地址分配子项中增加filename "pxelinux.0"
配置tftp: enable一下即可,无其它特殊配置,无需-c,整个过程不会向tftp写文件
配置菜单:在tftpboot目录下,创建一个default文件,即菜单文件,例如如下文件:
配置好之后,就可以启动一台PXE客户端进行测试了,正常情况下,就可以显示菜单了。说明PXE配置成功了,接下来就可以根据实际安装需求,定制default文件、制定ks.cfg文件及布署安装包了。
工作流程分析(根据抓包结果得出):
1.DHCP: 分配IP地址,并分配pxelinux.0文件名告之PXE client
2. Client通过tftp拿到pxelinux.0,大约19个blocks
3. Client运行pxelinux.0, 准备拿配置文件
4. 连续tftp几个文件(大约10个左右,文件名好象与mac地址有关,肯定找不到),pxelinux.cfg目录下
564d330d-5a45-e2de-eb15-88e321e7dfd2
01-00-0c-29-e7-df-d2
/C0A89464
C0A8946
C0A894
C0A89
C0A8
C0A
C0
C
以上文件肯定没有,最后取得default文件。
5. 成功后,client再继续tftp,取vesamenu.c32,大约117blocks
6. Client取到相应的menu.c32,就在client上运行,client根据之前拿到的default显示菜单
Troubleshooting:
1. pxe client DHCP成功,但是tftp.....报错
pxe服务器的iptables没有关掉(与宿主windows的防火墙无关)
2.
时间: 2024-11-09 08:46:56