web-dev-qa-db-ja.com

DHCPサーバーを変更できない場合に、PXEを使用してCobblerをセットアップする方法

以前は、通常のdhcpサーバーにネットワークブートに必要なすべての情報(通常のip configとbootinfoの両方を単一のdhcpセットアップで返す)を返させることで、PXEサーバーを数回セットアップしました。そうすれば 簡単に です。

ドキュメンテーションによると、私はそれを読んだ( wikipedia has nice summary )は、変更されていないdhcpサーバー(たとえば、場所の管理者がアクセスを拒否した場合)と、別のサーバーのみが可能であるはずですブート情報を返します。これは通常「PXEサーバー」または「プロキシDHCP」サーバーと呼ばれます。過去に私は見ました(使用されていません) このpxeサーバー (最後のリリースは5年前でした)。

昨日、Cobblerをインストールして、実際の動作を確認しました。今、私はそれを使いたい(使いやすさを愛する)が、「メイン」のdhcpdサーバーを変更してPXEを取得することはオプションではありません。

実際のPXE(== proxy dhcp)サーバーを使用してcobblerを実行する方法に関するドキュメントは見つかりませんでした。

これはコブラーでできますか?

Isc dhcpサーバーをPXEサーバーとして動作するように構成できますか(IP情報なし、ブート情報のみ)。

それとも私は完全に異なるアプローチに行くべきですか(そうであれば、あなたの提案は何ですか)?

ありがとう


私が作ったばかりの新しい発見: dnsmasqバージョン2.4.8の変更ログ はこう言っています:

「dnsmasqがPXE情報を提供し、別のDHCPサーバーがアドレス割り当てを行うプロキシ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

数か月前に、誰かが上記を機能させることができなかったと誰かからメールを受け取りました。自分が忘れていた自分のコブラーを修正して変更したことがわかりました。だから私は メインラインcobblerの重要な修正 を提供しましたが、これはトランクの一部になりました。 追加のサポートドキュメント もいくつか作成しました。

17
Niels Basjes

私たちが行うことは、作成したISOファイルをマウントし、そこからカーネルとinitrdを起動して、中央の場所からキックスタートをロードすることです。このキックスタートファイルは、RPMファイルを含むリポジトリをポイントします。これは、cobblerサーバーである可能性があります。

(悲しいことに)私はCobblerでの経験があまりありませんが、おそらくこれはあなたのためのオプションですか?

3
wzzrd

PXE ROMは、ブートローダー(grub、pxelinux、またはその他のブートローダー)を見つけてロードするために、DHCPサーバーからの「next-server」ディレクティブが必要です。 "は提供されていません。何をすべきかを決定するのはPXE ROMです。ネットワークカードのBIOS構成を調べ、指定するオプションがあるかどうかを確認する必要があります。サーバーを手動で。

上記の回答で述べたように、カーネルコマンドラインですべての情報がすでに提供されている状態で、カスタムISOまたはUSBスティックを使用してマシンを起動するのがおそらく最善の方法です。 DHCPサーバーの構成にアクセスできない場合。

5
katriel

いくつかのテストを実行したいだけなら、同じネットワーク上に複数のDHCPサーバーを置くことができます。特定のMACがARP要求を行っている場合にのみサーバーに応答するように指示するdhcpd構成を作成するコブラーを持つことができます。また、そのサーバーの範囲をコメントアウト/無効化するだけの場合(そして、ここではisc-dhcpdについて話している)、邪魔にならないでしょう。 ADなどを使用している場合、このdhcpサーバーが権限のないものであると(ブロードキャストで)いくつかのウィンドウボックスが不平を言うかもしれませんが、それ以外は多くの危険はないと思います。

ただし、最善の方法は、cobbler/dhcpとプロビジョニングしようとしているサーバーを、ネットワークの他の部分とは別のVLAN=に設定することです。これにより、ブロードキャストドメインを制限し、他のボックスでさえもdhcpのお知らせをご覧ください。

1
monomyth