在 CentOS 中排除 PXE 启动故障

在 CentOS 中排除 PXE 启动故障

我正在对已设置的 PXE 服务器进行故障排除。它基于 Cent OS 5.5。我们在相对简单的 Cent OS 安装上安装了以下组件:

  • tftp 服务器 (xinetd)
  • 系统Linux

我们不需要在此框上运行 DHCP、DNS 或 DNSMasq,因为这些服务已由我们网络上的另一组服务器处理。此框主要用于处理 PXE 启动所需的 TFTP 功能、显示 PXE 启动菜单以及存储可用于 PXE 启动的一些 ISO。我们已经对在其中测试的 VLAN 的 DHCP 服务器进行了以下更改:

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

我们还更新了此 VLAN 交换机上的 DHCP Helper 地址,使其指向我们的 PXE 服务器。最后,我们允许 PXE 引导客户端的 IP 范围通过 PXE 服务器上的 IPTABLES 防火墙,端口为 69。下面列出了尝试连接到 PXE 服务器的客户端的 tcpdump 输出。客户端尝试连接,然后失败,提示 TFTP-OPEN 已超时。

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

11:40:33.700465 IP <IP REMOVED>.ah-esp-encap > <IP REMOVED>.tftp:  28 RRQ "/pxelinux.0" octet tsize 0
11:40:35.678042 IP <IP REMOVED>.acp-port > <IP REMOVED>.tftp:  28 RRQ "/pxelinux.0" octet tsize 0
11:40:39.687397 IP <IP REMOVED>.msync > <IP REMOVED>.tftp:  28 RRQ "/pxelinux.0" octet tsize 0
11:40:45.674107 IP <IP REMOVED>.gxs-data-port > <IP REMOVED>.tftp:  28 RRQ "/pxelinux.0" octet tsize 0
11:40:53.638246 IP <IP REMOVED>.vrtl-vmf-sa > <IP REMOVED>.tftp:  28 RRQ "/pxelinux.0" octet tsize 0
11:41:03.581136 IP <IP REMOVED>.newlixengine > <IP REMOVED>.tftp:  33 RRQ "/pxelinux.0" octet blksize 1456

1830 packets captured
1830 packets received by filter
0 packets dropped by kernel

我已经使用以下命令验证了 xinetd 正在运行并监听端口 69:

netstat -nulp | grep 69

我按照 CentOS wiki 上列出的教程进行操作这里大部分内容是设置所需的文件和 PXE 布局的结构。但是,我们没有看到我们设置的 PXE 启动菜单,而且机器似乎从未正确进行 PXE 启动。

我不确定从这里开始如何进行,并且好奇是否有人熟悉 PXE 故障排除,可能能够帮助我启动并运行它。

提前感谢您的帮助。

答案1

tftp 使用的端口多于 69。您需要允许 udp >1023 往返于 tftp 服务器。

答案2

您是否可能通过 /etc/hosts.deny 阻止访问?

服务器是否为多宿主服务器(2 个或更多网络接口)?rpcbind 是否只绑定到一个接口,而不是正确的接口?尝试使用 -h IP1 -h IP2 启动 rpcbind。

查看

man rpcbind

如果您还在服务器上执行 tcpdump,您是否看到有任何数据包到达那里?

/etc/xinetd.d/tftp 中的“only_from”设置可能错误?“server_args = -s /tftpboot”?

相关内容