dhclient.confでDHCPサーバーを定義しなかった場合、DHCPサーバーはどのようにマシンのホスト名を知るのですか?


12

私は私たちのネットワーク上のDHCPに関連するいくつかのファンキーなDNSの問題を解決しようとしています(現時点では複数のDHCPサーバーを実行していると思われます)。セットアップ。

問題のサーバーは、Ubuntu 9.10サーバーを実行しているXen仮想マシンです。物理Xenサーバーもネットワーク上にあり、XenでVMを初めて起動したときに(別のネットワークで実行されているマシンで実行されているローカルVirtualbox VMからインポートした)、オフィスネットワークからのDHCPリースとすべてが良好でした。

dhclient.eth0.leasesファイルをチェックして、構成内容を確認し、マシンが存在していた以前のネットワークからの古いDHCPリースと、現在接続しているオフィスネットワークの新しいDHCPリースがまだあることを確認しました。すぐに気づいたことが2つあります。

  1. 以前のネットワークからの古いDHCPリース情報にはoptions host-name行がありません。これは、VMの元のVirtualBoxバージョンがこのオプションをDHCPサーバーに送信していなかったことを意味します。または、これは古いDHCPサーバーがDHCPホスト名オプションをサポートしていなかったことを意味しますか?当時はVirualBoxの内部DHCPサーバーを使用していました...

  2. 新しいDHCPリース情報はありません持っているoptions host-nameサーバー(「fozzie」)の正しい、現在のホスト名が含まれて行を、。正しく理解できれば、これはサーバーがホスト名をネットワーク上のDHCPサーバーに送信したことを意味します。

これについて私が理解していないことはたくさんあります。

最初にdhclient.confサーバーの変更は一切行いませんでした。デフォルトの構成を使用しています。実際、次の行が逐語的に含まれています。

send host-name "<hostname>"

私の最初の質問は、そもそも送信するように構成が設定されていない場合、サーバーの実際のホスト名を送信することを一体どのように知っていたのでしょうか?

第二に、最初のDHCPリース(古いネットワーク用)に含まoption host-nameれていないのに、構成ファイルに触れていない場合、2番目のDHCPリース(新しいネットワーク上)に含まれているのはなぜですか?

元のVirtualBoxマシンをOVFとしてエクスポートし、それをXenServerにインポートするだけでしたdhclient.conf。実際のホスト名が設定されていなくても、DHCP経由でホスト名を魔法のように設定する方法は何ですか?

3つ目:実行するhostnameと、サーバーはを返しますfozzie.our.domaindhclient.eth0.leases、ホスト名オプションはfozzie(ドメインなし)に設定されています。ドメインを削除することをどのようにして知りましたか?

回答:


11

OK、長い間インターネットをトロールしてmanページを読み通そうとした後、私はほとんど何が起こっているのかを理解しました:

[H]最初に送信するように構成が設定されていない場合、サーバーの実際のホスト名を送信することを知っていましたか?

どうやら、send host-name "<hostname>"より具体的には<hostname>、Ubuntuでは特別な意味を持ちます。dhclientマシンの現在のホスト名をDHCPサーバーに送信するように指示します。これは大文字と小文字が区別されることに注意してください(つまり、を入力した場合<HOSTNAME>、dhclientはリテラルテキスト<HOSTNAME>をDHCPサーバーに送信します)。ここここで報告さいるように、これはUbuntu Feisty以上で動作しdhclient、デフォルトでマシンのホスト名を送信しない問題を(皮肉なことに)修正するパッチの一部です。

[W]最初のDHCPリース(古いネットワーク用)にオプションhost-nameが含まれていないのに、2番目のDHCPリース(新しいネットワーク上)に含まれているのは、構成ファイルに触れていない場合ですか?

これは、すべてのDHCPサーバーがホスト名をクライアントにエコーバックするわけではないためです。昨日、DHCPベースのサーバーとしてLinuxベースのClarkConnectルーターを使用し、ホスト名を各クライアントにエコーバックしました。今日、そのサーバーでDHCPを無効にし、プライマリドメインコントローラーで組み込みのDHCPサーバーを使用するように切り替えました。PDCからのDHCPリースにはoption host-nameどちらも含まれていませんが、何の影響もありません。マシンはDNSで更新され、すべてホスト名でお互いを見つけることができます。

実行するhostnameと、サーバーはを返しますfozzie.our.domaindhclient.eth0.leases、ホスト名オプションがfozzie(ドメインなし)に設定されていると言います。ドメインを削除することをどのようにして知りましたか?

これは、DHCPの複雑さを完全に理解していないということです。DHCPサーバーは、すべてのクライアントをドメインで構成するように設定されています。DHCPサーバーは、クライアントから送信されたホスト名からドメイン名の部分を削除するのに十分賢いと思います。

この回答に追加する修正や説明はありますか?それはまだ少し「手で波打つ」ように見えるので、私はそれをそのまま受け入れません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.