Linux Debian で PXE ブート ネットワークをセットアップしました。これには次のコンポーネントを使用しました。
pxelinux、dhcp3、tftp-hpa
ネットワーク内のすべてのクライアントに対して、/etc/dhcp3/dhcpd.conf でホスト宣言を構成しました。
このホスト宣言では、静的 IP、ゲートウェイ、ブートファイル名 "pxelinux.0"、dns-server を取得します。
この構成は完全に機能します。しかし、クライアントにブート ファイル名を起動させたい場合は、このクライアントのホスト宣言をファイル名オプションで構成しています。このクライアントにファイル名を起動させたくない場合は、ホスト宣言からこの行を削除します。/etc/dhcp3/dhcp.conf で 1 行が編集されるたびに、構成を再解析するために dhcp-server を再起動しています。
これも機能します。ただし、クライアントがファイル名オプションなしで起動すると、ブートファイル名の検索に苦労し (約 30 秒間の出力: "DHCP.......")、PXE E-53: No boot filename received で終了します。
これが、私にはまったく理解できません。このクライアントがそのホスト宣言にバインドされたファイル名オプションを持たない場合、ブート ファイル名の検索になぜそれほど時間がかかるのでしょうか? このブート ファイル名を検索しないようにクライアントに指示する方法はありますか? または、最終的にブート ファイル名を取得するためのタイムアウトを 5 秒未満に設定する方法はありますか? 1 つのホストが何も起動しないのを 1 分以上待つことは、私の環境では絶対的な時間の無駄です。
ありがとうございました!