web-dev-qa-db-ja.com

ISC DHCPDはPXEブート用のプロキシDHCPサーバーとして動作できますか?

DHCPサーバーを備えた既存のLANがすでにIPアドレスを提供しています。

さまざまな理由で、そのサーバーを置き換えることができないため、IPアドレスをディッシュする必要があります。

プロキシモードでDnsmasqを試して、PXEブートファイル名を提供してきました。これで、DnsmasqチェーンロードiPXEは正常になりましたが、Dnsmasqの問題は、プロキシモードではDHCPオプションが送信されないことです。そのため、iSCSISANを起動するためのオプション17を送信できないようです。

ソースコードで有効になっていないことをどこかで読みました。そうですね、おそらくISC DHCPD(Ubuntuではデフォルトのバージョン4)を試してみるべきだと思いましたが、プロキシとして機能する構成例が見つかりません。

  1. ISC DHCPDはプロキシモードでも機能しますか? Web上の例は、ソースにパッチを適用することを意味します。
  2. 他にどのようなオプションがありますか?
2
Matt

ネットブート後に表示したいもの(menu.c32、vesamenu.c32、pxelinuxなど)をチェーンロードする埋め込みipxeスクリプトを使用してカスタムiPXEイメージを構築することを検討するかもしれません。良い点は、iPXEが渡されたDHCPオプション(オプション66や67など)をまったく必要としないことです。代わりに、ipxeスクリプトに埋め込まれているものが使用されます。 IPを割り当てるにはDHCPが必要です。

このアプローチの潜在的な欠点は、CDから起動する(ipxeイメージISOを作成できる)か、ISOをVM)内にマウントして起動するか、または既存のPXEブートサーバーがあり、pxelinuxやmenu.c32/vesamenu.c32などを使用している場合、ipxeビルドプロセスが生成するUNDIイメージを配置できます。ipxeのUNDIバージョンは、pxelinuxおよびおそらく他のブートローダー。

私はまだdnsmasqをproxyDHCPサーバーとして使用する方法を自分で理解しようとしています。 proxyDHCPを介してipxeイメージを起動するように取得できますが、ロード後にipxeにDHCPIPアドレスを取得させることができません。これは、iPXE DHCPクライアントがDHCPサーバーとしてproxyDHCPを優先しているためです(それが理にかなっている場合)。これは、proxyDHCPサーバーの目的を考えると奇妙に思えます。つまり、DHCPサーバーを必要としないということです。

編集:これはdnsmasqの機能的なproxydhcpセットアップです(最終的にそれを理解しました):

メインの/etc/dnsmasq.conf構成からインクルードされた/etc/dnsmasq.d/proxydhcp.confファイル(例:構成行conf-dir =/etc/dnsmasq.d):

port=0  
log-dhcp  
dhcp-match=ipxe,175  
dhcp-option=175,8:1:1  
dhcp-boot=net:ipxe,http://mynetbootserver.domain.com/boot/ipxeboot/${net0/mac}  
dhcp-boot=tag:!Iipxe,ipxe.0  
enable-tftp  
tftp-root=/tftpboot  
dhcp-range=192.168.0.0,proxy,255.255.0.0  
dhcp-range=10.0.0.0,proxy,255.0.0.0  
dhcp-range=172.16.0.0,proxy,255.255.0.0  
pxe-service=net:#ipxe,x86PC,"My Cool Netboot Processes",ipxe-native  

ネットワーク内の別のDHCPサーバーとうまく連携します。私のVMは、DHCPクライアントに渡されたproxyDHCPオプションを取得して起動しますが、クライアントがDHCPサーバーからPXE関連の起動オプション(66、67など)を取得するように構成されている場合は、それを選択すると思います(おそらく間違っていますか?)それらのオプションを提供します。

委任勧誘状ですべてのRFC1918IPスペースが使用されていることに注意してください。これを行うのに問題はないようです。つまり、これはサブネットの権限のあるDHCPサーバーではなく、単なるプロキシであるため、既存のDHCPサーバーとの目に見える干渉はありません。また、proxedhcpをサポートするためにipxeオプションは特に必要ではありませんが、私がどのように使用するかを選択した例にすぎません。つまり、proxydhcpを使用してipxe bootstrap情報を渡します。

つまり、proxyDHCPは、環境で実行されているDHCPサーバーを技術的または管理的に変更できない環境でPXEネットブートを非侵襲的に実装するための非常に優れた方法です。

2
Jim Antoniou

この目的のためにdnsmasq(バージョン> = 2.48)を使用できます。

詳細はこちら: https://help.ubuntu.com/community/UbuntuLTSP/ProxyDHCP

0
Uddhav Gautam

いいえ、ISCDHCPDサーバーはProxyDHCPモードをサポートしていません。しばらくの間、iPXEコミュニティでGSoCプロジェクトを実装するというアイデアがありましたが、まだそのタスクを引き受ける学生はいません。一方、dnsmasqはProxyDHCPモードで動作するように構成できますが、その構成は純粋に静的です。今年のGSoCはdnsmasqを拡張して、ロジックを処理できるWebサーバーにDHCP要求を送信し、dnsmasqに応答を送り返すことができるようにするという考えがあります。これにより、これがProxyDHCPクライアントに中継されます。これについて詳しくは、このページをご覧ください: http://ipxe.org/gsoc

0
Robin Smidsrød