Dhcp

如果無法更改 dhcp 伺服器,如何使用 PXE 設置 Cobbler?

  • April 29, 2012

過去,我通過讓普通的 dhcp 伺服器返回網路啟動所需的所有內容,多次設置 PXE 伺服器:在單個 dhcp 設置中,正常 ip config 和 bootinfo。這樣很容易做到

根據我讀過的文件(維基百科有一個很好的總結)應該有可能有一個未修改的 dhcp 伺服器(例如,如果您所在位置的管理員拒絕訪問)和一個僅返回啟動資訊的單獨伺服器。這通常稱為“PXE 伺服器”或“代理 DHCP”伺服器。過去我見過(未使用)這個 pxe 伺服器(最後一個版本是 5 年前)。

昨天我安裝了 Cobbler 來看看它到底做了什麼。現在我想使用它(喜歡它的易用性),但修改“主”dhcpd 伺服器以獲取 PXE 不是一種選擇。

我找不到任何關於如何讓 cobbler 使用真正的 PXE (==proxy dhcp) 伺服器執行的文件。

這可以用 cobbler 完成嗎?

我可以將 isc dhcp 伺服器配置為 PXE 伺服器(即沒有 ip 資訊,只有引導資訊)嗎?

還是我應該採用完全不同的方法(如果是,您的建議是什麼)?

謝謝


我剛剛發現的新發現:dnsmasq 2.4.8 版的更改日誌說:

“代理-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

幾個月前,我收到一封來自某人的電子郵件,說他無法使上述工作正常進行。事實證明,我已經對自己忘記的鞋匠進行了一些修理和更換。所以我為剛剛成為主乾一部分的主線鞋匠提供了關鍵的修復。我還創建了一些額外的支持文件

我們所做的是掛載我們製作的 ISO 文件,從中引導核心和 initrd,並讓它從中心位置載入 kickstart。然後,此 kickstart 文件指向包含 RPM 文件的儲存庫,這可能是您的 cobbler 伺服器。

我對 Cobbler 沒有太多經驗(很遺憾),但也許這對你來說是一個選擇?

PXE ROM 需要來自 DHCP 伺服器的“next-server”指令才能找到並載入引導載入程序(無論是 grub、pxelinux 還是任何其他引導載入程序)。如果未提供“下一個伺服器”,則由 PXE ROM 決定要做什麼。您必須查看您的網卡 bios 配置,看看是否有一個選項可以手動指定伺服器。

正如上面的答案所指出的,使用自定義 ISO 或 USB 記憶棒來引導機器,在核心命令行中已經提供了所有資訊可能是最好的方法。如果您無權訪問 DHCP 伺服器的配置。

引用自:https://serverfault.com/questions/53116