如何为 PXE 服务器的所有子网启用 DHCP 服务器?

如何为 PXE 服务器的所有子网启用 DHCP 服务器?

我已经设置了一个 PXE 启动服务器,用于通过网络安装 ubuntu。目前,​​我正在使用主机 mac 地址来安装 ubuntu 操作系统。我想在所有子网中启用 DHCP 服务器,例如 172.29.34.0/24 172.29.36.0/24 等,而不是使用它的 mac 地址。请在下面找到我当前的配置,

DHCP 服务器配置:

allow booting;
allow bootp;
subnet 172.29.32.0 netmask 255.255.255.0 {
    range 172.29.32.20 172.29.32.200;
    option broadcast-address 172.29.1.255;
    option routers 172.29.32.1;
}
group {
    next-server 172.29.32.9;
    filename "/pxelinux.0";
    host webppc {
        hardware ethernet BC:30:5B:C3:23:69;
        option host-name  "webppc";
    }
}

答案1

我不能保证它会起作用,但是您可以按子网指定选项而不是按组指定(尽管您将丢失主机名的分配 - 如果您没有唯一的方法(即 MAC)来识别每个系统,这是可以预料的)。

allow booting;
allow bootp;
subnet 172.29.32.0 netmask 255.255.255.0 {
    next-server 172.29.32.9;
    filename "/pxelinux.0";

    range 172.29.32.20 172.29.32.200;
    option broadcast-address 172.29.32.255;
    option routers 172.29.32.1;
}
#Repeat this block for each subnet
subnet 172.29.34.0 netmask 255.255.255.0 {
    next-server 172.29.32.9; #Note this is on another subnet.
    filename "/pxelinux.0";

    range 172.29.34.20 172.29.34.200;
    option broadcast-address 172.29.34.255;
    option routers 172.29.34.1;
}

答案2

allow booting;
allow bootp;
subnet 172.29.32.0 netmask 255.255.255.0 {
    range 172.29.32.20 172.29.32.200;
    range 172.29.33.20 172.29.33.200;
    range 172.29.34.20 172.29.34.200;
    option broadcast-address 172.29.1.255;
    option routers 172.29.32.1;
}
group {
    next-server 172.29.32.9;
    filename "/pxelinux.0";
    host webppc {
        hardware ethernet BC:30:5B:C3:23:69;
        option host-name  "webppc";
    }
}

答案3

您可能考虑通过网络路由器进行 DHCP 中继。这是企业网络中一种非常常见的方法,可以避免 DHCP 服务器在每个 VLAN 上都拥有一个网络接口,以便它能够监听 DHCP/bootp 广播。

我还建议使用快速 PXE 菜单超时(可能为 5 秒或 10 秒),让它响应所有流量(默认),而不是仅响应您配置的流量。您可能会认为这很危险,因为有些最终用户会按下按钮并意外重新安装他们的操作系统,如果您在启动屏幕上用公司徽标分散他们的注意力,他们通常会忽略菜单提示。

相关内容