我遇到了 PXE 启动的一个有趣问题,而 TFTP 服务器位于另一个路由(非 NAT)子网。
设置:
配有 Intel x710 10g 网卡的 Dell PowerEdge 640/740 服务器。
两个路由网络:10.0.1.0/24、10.0.2.0/24。
物理服务器和 DHCP 服务器位于网络段 10.0.1.0/24。TFTP
服务器位于网络段 10.0.2.0/24。
可以从网络 10.0.1.0/24 访问 TFTP 服务器。可以下载文件。
DHCP 配置:
default-lease-time 300;
max-lease-time 600;
allow booting;
allow bootp;
next-server 10.0.2.10;
subnet 10.0.1.0 netmask 255.255.255.0 {
range 10.0.1.50 10.0.1.90;
option subnet-mask 255.255.255.0;
option routers 10.0.1.254;
filename "bootx64.efi";
}
问题:
服务器网卡启动信息显示:
>> Start PXE over IPV4
Station IP address is 10.0.1.50
NBP filename is bootx64.efi
NBP filesize is 0 Bytes
PXE-E99: Unexpected network error
看起来网卡没有正确设置默认网关地址。
来自 DHCP 服务器的 Tcpdump:
15:42:12.799841 IP (tos 0x0, ttl 64, id 30339, offset 0, flags [none], proto UDP (17), length 387)
0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from xx:xx:xx:xx:xx:xx, length 359, xid 0xd4d2c098, Flags [Broadcast]
Client-Ethernet-Address xx:xx:xx:xx:xx:xx
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Request
Server-ID Option 54, length 4: 10.0.1.1
Requested-IP Option 50, length 4: 10.0.1.50
MSZ Option 57, length 2: 65280
Parameter-Request Option 55, length 35:
Subnet-Mask, Time-Zone, Default-Gateway, Time-Server
IEN-Name-Server, Domain-Name-Server, Hostname, BS
Domain-Name, RP, EP, RSZ
TTL, BR, YD, YS
NTP, Vendor-Option, Requested-IP, Lease-Time
Server-ID, RN, RB, Vendor-Class
TFTP, BF, GUID, Option 128
Option 129, Option 130, Option 131, Option 132
Option 133, Option 134, Option 135
GUID Option 97, length 17: 0.68.69.76.76.81.0.16.54.128.82.200.192.79.81.88.50
NDI Option 94, length 3: 1.3.16
ARCH Option 93, length 2: 7
Vendor-Class Option 60, length 32: "PXEClient:Arch:00007:UNDI:003016"
15:42:12.800819 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
10.0.1.1.bootps > 255.255.255.255.bootpc: BOOTP/DHCP, Reply, length 300, xid 0xd4d2c098, Flags [Broadcast]
Your-IP 10.0.1.50
Server-IP 10.0.2.10
Client-Ethernet-Address xx:xx:xx:xx:xx:xx
file "bootx64.efi"[|bootp]
尝试在其中一台服务器上运行 Linux Live CD。Linux dhclient 能够从 DHCP 服务器接收默认路由。
因此,要么是 DHCP 配置错误,要么是网卡缺少功能。
是否可以通过路由网络使用 PXE 启动?
谢谢。
答案1
首先,请仔细检查路由器是否确实是由 DHCP 服务器发送的 - 我没有在您包含的跟踪中看到它们(但您可能已将其剪切)。
如果发送了这些消息,这看起来似乎是 UEFI 网络堆栈的问题,它是平台 BIOS 的一部分,而不是 NIC 本身的选项 ROM。在这种情况下,NIC 仅提供 UEFI UNDI 驱动程序,它只是在主机和 NIC 之间混洗以太网帧。
您可以尝试使用其他提供 UEFI UNDI 驱动程序的卡来检查问题是否仍然存在。
请检查您的主板供应商是否有可用的更新 BIOS。