web-dev-qa-db-ja.com

複数のPXEサーバーの同じサブネット

私はこれにしばらく苦労してきました。ネットワークから起動するテストマシンがいくつかあり、DHCPサーバーから起動データを受信します。これにより、起動サーバーが誰で、どこで起動するかなどがわかります。ただし、2番目のPXEサーバーを追加する必要があります。同じサブネット内(別のVlanを作成することは現在のところオプションではありません)。

MACアドレスに基づいて特定のマシンに特定のパラメータを送信できる可能性があることをどこかで読みました(このようにして、どのコンピュータがどのサーバーから起動するかを選択します)が、これを行う方法が見つかりません、誰かが方法を知っていますか?これが私の解決策になりますが、答えが見つかりません。

私のDHCPはWindowsServer2003です

LinuxサーバーのカスタムフレーバーをTFTPサーバーとして実行している2台のサーバーがあります。一部のマシンはデータを使用してサーバー1から起動し、その他のマシンはサーバー2から起動できる必要があります。

どうも

編集:私はすでに答えを選びましたが、誰かが気にするなら、私は提案されたようにチェーンロードを使用しませんでしたが、代わりにgPXEスクリプトを書き、それをCDのISOイメージで書き込み、それから起動し、スクリプトが実行され、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
3
Termiux

これは、 gPXE を使用する場合に可能です。 gPXEを使用して起動するようにすべてのホストを構成してから、PHPなどで記述されたサーバースクリプトを使用して、MACアドレスパラメーターを指定して適切なイメージを提供します。

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

与えられた例です ここ

GPXEをNICに書き込む必要はありません(これは確かに有効なオプションですが): chainloading はうまく機能します。

最後に、Win2k3 DHCPでのgPXEクライアントの構成を説明するページは ここ です。

4
Michael Lowman

Server2003ではなくLinuxDHCPサーバーでISCdhcpd3を使用しています。ただし、2つの異なるネットブート環境がサポートされています。 Linuxインストール用のPXELinux、およびWindowsインストール用のMicrosoft Deployment Toolkit2010。

たとえば、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が上で説明しているセットアップです。個人的には、WindowsDHCPサーバーに戻ることはありません。必要に応じてブートタイプを切り替えることができるように、DHCP構成を数秒で再生成できるPythonスクリプトがあります。

2
Mike Renfro

ここで求めているのは、クライアントMACに基づいてBOOTP/DHCPオプション66および67を設定する機能です。デフォルトのWindowsDHCPサービスを使用してこれらのオプションをグローバルに簡単に設定できますが、予約を使用している場合でも、これを選択的にするオプションはありません。

私は他のDHCPサーバーでもこの機能を認識していないため、別の可能性として、既存のDHCPサーバーでMACからIPへの予約を設定し(マシンがどのIPを使用しているかがわかります)、オプション66と67を使用して配布します。すべてのマシンに同じブートホストとファイルがありますが、これらのブートファイルを配布しているマシンでは、ソースIPに基づいて異なるファイルが配布されます-それは意味がありますか?

1
Chopper3