DHCPからクライアントホスト名を取得する

DHCPからクライアントホスト名を取得する

私はDHCPサーバー用にDNSMASQを実行するvoyage 2.6.38マシンを持っていて、DHCPリースを得たクライアントのホスト名を取得したいと思います。どうすればいいですか?

答え1

ホストが名前を送信すると、DNSから検索できます。そのIPアドレスを知っていれば、単にIPアドレスを逆方向に検索できます。次のいずれかのコマンドが機能する必要があります(192.0.32.10の代わりにホストのIPアドレスを使用)。

host 192.0.32.10
nslookup 192.0.32.10 

ファイルに指定された名前(存在する場合)を含む、すべてのリースリストを検索できますdhcp.leases。その場所は、使用しているディストリビューションによって異なります。 Ubuntuはこれを使用/var/lib/misc/dnsmasq.leasesし、OpenWrtに/tmp/dhcp.leasesdnsmasqのマニュアルページがある場合、コマンドはman dnsmasqドキュメントの最後にリースファイルの場所を示す必要があります。dhcp-leasefile設定またはコマンドラインでオプションを指定して、この場所を上書きできます。コマンドラインオプションまたはオプションを使用して-lこれを実行できます。--dhcp-leasfile=

リースファイルのフィールドは、タイムスタンプ、MACアドレス、IPアドレス、ホスト名、およびクライアントIDです。クライアントはホスト名やクライアント ID を送信する必要はありません。

ロギングが有効になっている場合は、システムログを表示して、どのリースがネゴシエートされたかを確認できます。すべてのDHCP交渉は記録されなければなりません。リース期間が長い場合、交渉は頻繁に行われません。顧客はリース期間中に更新交渉を開始する必要があります。 DHCP サーバーが合理的にダウンすると予想される時間の 2 倍以上にリース時間を設定するのが最善です。

答え2

送信するかどうかを決定するのはクライアントの役割です。初期要求でホスト名を送信するように構成できます。ほとんどのデスクトップ/サーバーDHCPクライアントはこれを行いますが、組み込みクライアントは通常そうではありません。

関連情報