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


16

过去,我通过使普通的dhcp服务器返回网络引导所需的所有内容来设置PXE服务器多次:在单个dhcp设置中同时包含常规ip config和bootinfo。这样很容易做到

根据我读过的文档(维基百科的摘要很不错),应该有一个未经修改的dhcp服务器(例如,如果您所在位置的管理员拒绝访问)和一个单独的服务器,该服务器仅返回启动信息。通常将其称为“ PXE服务器”或“代理DHCP”服务器。在过去,我见过(未使用)此pxe服务器(最新版本为5年前)。

昨天我安装了Cobbler,以查看其实际功能。现在,我想使用它(喜欢易用性),但是修改“主” dhcpd服务器以获取PXE并不是一种选择。

我还找不到任何有关如何使鞋匠使用真正的PXE(==代理dhcp)服务器运行的文档。

能用皮匠做吗?

是否可以将isc dhcp服务器配置为充当PXE服务器(即,没有IP信息,只有启动信息)?

还是我应该采用完全不同的方法(如果是这样,您的建议是什么)?

谢谢


我刚刚做出的新发现:dnsmasq版本2.4.8的变更日志说:

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

很有意思。特别是因为补鞋匠已经可以控制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

几个月前,我收到某人的电子邮件,说他无法使以上内容生效。原来,我已经对自己遗忘的鞋匠做了一些修复和更换工作。因此,我为刚刚成为主干的一部分的主线补鞋匠提供了关键修复程序。我还创建了一些其他支持文档


1
从他们的网站来看-我怀疑Cobbler包含DHCP实现。如果我在受限网络中工作,可能会安装USB。:)
张国荣2009年

不,但是它可以帮助您管理一个。
monomyth

Answers:


3

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

我没有关于Cobbler的丰富经验(可悲的是),但是也许这是您的选择?


我已经按照您的建议使用CDROM(由Cobbler生成的iso映像)完成了安装,并且效果很好。现在,我在几乎隔离的区域中进行了设置,可以在其中将其从LAN上拔下,启用DHCP,通过PXE进行部署,禁用DHCP并再次插入。考虑到这是一个测试/实验环境,因此现在必须这样做。我也看过其他“ proxydhcp”选项,但是似乎没有2004年以后的代码……即死掉的未维护代码。感谢您的反馈。
尼尔斯·巴耶斯

5

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

正如上面的答案所指出的那样,使用自定义ISO或USB记忆棒来引导计算机,并且已经在内核命令行中提供了所有信息,这可能是最好的选择。如果您无权访问DHCP服务器的配置。


1

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

但是最好的方法是让您尝试在整个网络的另一个VLAN上配置cobbler / dhcp和服务器。这样,您可以限制广播域,其他任何框都看不到您的dhcp公告。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.