如果无法更改 dhcp 服务器,如何使用 PXE 设置 Cobbler?

如果无法更改 dhcp 服务器,如何使用 PXE 设置 Cobbler?

过去,我曾多次设置 PXE 服务器,方法是让普通 dhcp 服务器返回网络启动所需的一切:在单个 dhcp 设置中同时返回常规 ip 配置和 bootinfo。这样容易做到

根据我读过的文献(维基百科有一个很好的总结) 应该可以有一个未修改的 dhcp 服务器(例如,如果您所在地的管理员拒绝访问)和一个仅返回启动信息的单独服务器。这通常称为“PXE 服务器”或“代理 DHCP”服务器。过去我见过(未使用)这个 pxe 服务器(上次发布是五年前)。

昨天我安装了 Cobbler 来看看它到底能做什么。现在我想使用它(喜欢它的易用性),但修改“主”dhcpd 服务器来获取 PXE 不是一个选项。

我无法找到有关如何使用真正的 PXE(==proxy dhcp)服务器运行 cobbler 的任何文档。

这可以用 cobbler 来完成吗?

我可以将 isc dhcp 服务器配置为 PXE 服务器吗(即没有 ip 信息,只有启动信息)?

或者我应该采取一种完全不同的方法(如果是这样,您的建议是什么)?

谢谢


我刚刚发现的新事物:dnsmasq 版本 2.4.8 的更新日志说:

“Proxy-DHCP,其中 dnsmasq 仅提供 PXE 信息并且另一个 DHCP 服务器进行地址分配,也是允许的。”

非常有趣。尤其是因为 cobbler 已经可以控制 dnsmasq。


更新:

dnsmasq 2.51 将支持此配置,以完全实现我想要的技巧。

我的 /etc/cobbler/dnsmasq.template 现在看起来像这样:

# Cobbler generated configuration file for dnsmasq
# $date
#

# resolve.conf .. ?
#no-poll
#enable-dbus
read-ethers
addn-hosts = /var/lib/cobbler/cobbler_hosts

# Be a proxyDHCP server
dhcp-range=10.10.0.0,proxy

# Only respond to clients that are known (i.e present in /etc/ethers)
dhcp-ignore=#known

# Set this (and domain: see below) if you want to have a domain
# automatically added to simple names in a hosts-file.
expand-hosts
domain=test.basjes.nl,10.10.15.0

# Loads <tftp-root>/pxelinux.0 from dnsmasq TFTP server.
pxe-service=x86PC, "Boot PXELinux (=Cobbler controlled)", pxelinux ,$next_server

$insert_cobbler_system_definitions

更新日期:2012-04-30

几个月前,我收到一封电子邮件,有人说他无法让上述方法工作。原来是我修理和更换了我的鞋匠,却忘了这件事。所以我提供了对主线 cobbler 的关键修复它刚刚成为树干的一部分。我还创建了一些额外的支持文件

答案1

我们要做的是安装我们制作的 ISO 文件,从中启动内核和 initrd,并让其从中央位置加载 kickstart。然后,此 kickstart 文件指向包含 RPM 文件的存储库,该存储库可能是您的 cobbler 服务器。

遗憾的是,我对 Cobbler 没有太多经验,但也许这对您来说是一个选择?

答案2

PXE ROM 需要来自 DHCP 服务器的“下一个服务器”指令,以便查找和加载引导加载程序(无论是 grub、pxelinux 还是任何其他引导加载程序)。如果没有提供“下一个服务器”,则由 PXE ROM 决定要做什么。您必须查看网卡 BIOS 配置,看看是否有可以手动指定服务器的选项。

正如上面的回答所述,使用自定义 ISO 或 USB 启动机器,并在内核命令行中提供所有信息可能是最好的方法。如果您无法访问 DHCP 服务器的配置。

答案3

如果您只想运行一些测试,您可以在同一个网络上拥有多个 dhcp 服务器。您可以让 cobbler 创建一个 dhcpd 配置,该配置将告诉服务器仅在特定 MAC 发出 ARP 请求时做出响应。如果您只是注释掉/禁用该服务器上的任何范围(我在这里谈论的是 isc-dhcpd),它就不会造成干扰。如果您使用 AD 等,您可能会收到一些 Windows 框抱怨(在广播中)此 dhcp 服务器不具有权威性,但除此之外,我认为没有太大的危险。

但最好的方法是让 cobbler/dhcp 和您要配置的服务器与网络的其余部分分开。这样,您就限制了广播域,其他任何盒子都看不到您的 dhcp 公告。

相关内容