Windows-Server-2003

多個 PXE 伺服器同一個子網

  • June 25, 2014

我已經為此苦苦掙扎了一段時間。我有一些從網路啟動的測試機器,它們從 DHCP 伺服器接收啟動數據,這告訴他們誰是啟動伺服器,他們將啟動的文件在哪裡等等。但是,我需要添加第二個 PXE 伺服器在同一個子網中(現在不能創建另一個 Vlan)。

我在某處讀到,我可以根據它們的 MAC 地址向某些機器發送某些參數(這樣可以選擇從哪個伺服器啟動的電腦)但是我找不到如何做到這一點,有人知道怎麼做嗎?這將是我的解決方案,但我找不到答案。

我的 DHCP 是 windows server 2003

我有 2 台伺服器執行自定義風格的 Linux 伺服器作為 TFTP 伺服器。有些機器使用數據從伺服器 1 啟動,而其他機器必須能夠從伺服器 2 啟動。

謝謝

編輯:我已經選擇了答案,但是如果有人在乎,我沒有按照建議使用鏈載入,而是編寫了一個 gPXE 腳本並將其與 ISO 映像一起刻錄到 CD 中,我從它啟動,執行腳本並且 PC 是重定向到腳本中所述的伺服器這是我使用的腳本。

#!gpxe
dhcp net0
set filename pxelinux.0
set next-server 10.225.83.125   #Server your pointing to
set 210:string http://10.225.83.125/fogimg/  #if http the exact http address
imgfetch pxelinux.0       #name of the img file to fetch
imgload pxelinux.0        #name of the img file to load
boot pxelinux.0           #name of the img file to boot from

如果您使用gPXE ,這是可能的。您將所有主機配置為使用 gPXE 啟動,然後使用用 PHP 或類似語言編寫的伺服器腳本來提供給定 MAC 地址參數的適當映像:

chain http://${next-server}/boot.php?mac=${net0/mac}

是這裡給出的例子。

您不必將 gPXE 刻錄到您的 NIC 中(儘管這肯定是一個有效的選擇):鍊式載入效果很好。

最後,描述 Win2k3 DHCP 上 gPXE 客戶端配置的頁面在這裡

我們在我們的 Linux DHCP 伺服器上使用 ISC dhcpd3,而不是 Server 2003。但我們確實支持兩種不同的網路引導環境。PXELinux 用於 Linux 安裝,Microsoft Deployment Toolkit 2010 用於 Windows 安裝。

因此,例如,由於我們從 DHCP 伺服器進行 TFTP,我們的 Linux 客戶端具有類似的條目

host linux-host {hardware ethernet 00:01:02:03:04:05;
                fixed-address A.B.C.D; filename "pxelinux.0";}

並且 Windows 客戶端有類似的條目

host windows-host {hardware ethernet 00:06:07:08:09:10;
                  fixed-address A.B.C.E; use-host-decl-names on;
                  next-server A.B.C.F; option tftp-server-name "A.B.C.F";
                  option bootfile-name "boot\\x86\\wdsnbp.com";}

這是(我認為)Chopper3 上面描述的設置。就個人而言,我永遠不會回到 Windows DHCP 伺服器。我們有一個 Python 腳本可以在幾秒鐘內重新生成我們的 DHCP 配置,因此我們可以根據需要在引導類型之間切換。

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