🌐 [高级] 跨子网 PXE 启动
🧩 概览
本指南介绍了更高级的 ggRock PXE 引导场景,涉及位于多个子网、VLAN 或网络段中的客户端。
🛠️ 问题
在复杂的网络环境中,客户端设备可能位于不同的子网上。默认情况下,PXE 广播不会跨越子网边界 — 这意味着多子网 PXE 引导需要额外的配置。
✅ 解决方案

1. 禁用默认网关处理
编辑 ggRock 配置文件,避免引导流量通过默认网关路由。
nano /opt/ggrock/app/App_Data/config.json
添加以下内容:
{
"ServerConfiguration": {
"BootDefaultGateway": "None"
}
}
💾 按CTRL+X,然后按Y,再按Enter保存并关闭。
2. 定义 PXE 的子网范围
创建一个自定义的 dnsmasq 配置文件:
nano /etc/dnsmasq.d/vlan.conf
添加以下行,将 IP 范围和网掩码替换为正确的值,以定义网络上 PXE 客户端的完整范围。目标是覆盖包含所有潜在 PXE 客户端的最广泛的地址范围:
dhcp-range=10.0.0.0,proxy,255.255.255.0
示例:
- 如果您的 PXE 客户端在
10.0.0.0 – 10.0.0.255中,请使用:
dhcp-range=10.0.0.0,proxy,255.255.255.0
- 如果您的 PXE 客户端跨越
10.0.0.0 – 10.0.1.255,请使用:
dhcp-range=10.0.0.0,proxy,255.255.254.0
- 如果您要覆盖
10.0.0.0 – 10.0.255.255,请使用:
dhcp-range=10.0.0.0,proxy,255.255.0.0
📌 注意: 每个包含您的 PXE 客户端的子网或超网,仅使用一行 dhcp-range。proxy 关键字确保 dnsmasq 会提供 PXE 选项,而无需分配 IP(在另一个 DHCP 服务器提供地址时使用)。
3. 重启服务
重启 ggRock 和网络服务器以应用更改:
systemctl restart ggrock
systemctl restart nginx
💡 其他说明
- 根据您的网络拓扑,可能需要自定义
dnsmasq配置。 - 确保在客户端和 PXE 服务器之间的每个第 3 层设备(例如路由器或 L3 交换机)上配置了 IP Helper 地址(或 DHCP 中继)。
🧠 工作原理:跨子网 PXE
- 客户端广播: 客户端向本地子网发送 DHCP/PXE 广播。
- IP Helper: 路由器拦截广播并将其作为单播转发给 PXE 服务器。
- 多跳路由: 如果客户端和服务器之间存在更多路由器,每个路由器也必须通过 IP Helper 转发。
🖼️ 示例图表
Client ---[Switch]---[Router 1]---[Router 2]---[PXE Server]
^ ^
IP Helper IP Helper
Configured Configured
✅ 路径中的每个路由器都必须配置为转发 PXE/DHCP 数据包,以确保成功引导。
🆘 需要帮助?
如果您在跨子网引导时仍有困难,别担心 — 我们会帮您解决!
通过我们的 💬 网络支持聊天联系我们,或发送电子邮件至 support@ggcircuit.com。
更新于: 24/04/2026
谢谢!
