Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

DHCP ローカルサーバー

 

Dhcp ローカルサーバーが dhcp 要求を受信し、DHCP クライアントからパケットを応答して、IP アドレスとその他のオプションの構成情報をクライアントに返します。

DHCP 動的バインド用のアドレスプールの構成

動的バインドの場合は、クライアントに割り当てることができる IP アドレスのプールを確保します。プール内のアドレスは、同じサブネット上のクライアントに対して使用可能でなければなりません。

アドレスプールを構成するには、以下のステートメントを[edit system services dhcp]階層レベルで含めます。

プールの定義には、クライアントのサブネット番号およびプレフィックス長 (ビット単位) が含まれている必要があります。オプションとして、定義にはアドレス範囲と、除外 されたアドレスのリストを含めることができます。

このaddress-rangeステートメントは、動的なアドレス割り当てに使用可能な、プール内の最下位と最大の IP アドレスを定義します。このステートメントはオプションです。範囲が指定されていない場合、プールは指定されたサブネット内で利用可能なすべてのアドレスを使用します。ブロードキャストアドレス、インターフェイスアドレス、および除外されたアドレスは使用できません。

このexclude-addressステートメントでは、動的なアドレス割り当てに使用されない範囲内のアドレスを指定しています。範囲内の1つまたは複数のアドレスを除外できます。このステートメントはオプションです。

プール構成の例を以下に示します。

動的なアドレス割り当ての場合、DHCP サーバーがサポートするクライアントサブネットごとにアドレスプールを構成します。DHCP サーバーに対して複数のアドレスプールを構成できますが、サポートされているのは1つのプールにつき単一のアドレス範囲のみです。

DHCP は、構成されたすべてのプールの状態情報を保持します。クライアントには、 DHCPDISCOVERパケットが受信されたインターフェイスに一致するサブネットを持つプールからのアドレスが割り当てられます。同一インターフェイス上に複数のプールが存在する場合、利用可能なすべてのプールから順番にアドレスが割り当てられます。

固定 IP アドレスとクライアント MAC アドレス間の手動 (静的) DHCP バインドの構成

静的バインドは、特定のクライアントの構成情報を提供します。この情報には、1つまたは複数の固定インターネットアドレス、クライアントのホスト名、クライアント識別子を含めることができます。

静的バインドを構成するには、次のステートメント[edit system services dhcp]を階層レベルに追加します。

静的バインドは、固定 IP アドレスとクライアント’の MAC アドレス間のマッピングを定義します。

こちらの mac アドレス変数には、クライアントの MAC アドレスが指定されます。これは、ネットワーク上の各クライアントを一意に識別するハードウェアアドレスです。

このfixed-address文は、クライアントに割り当てられた固定 IP アドレスを指定します。通常、クライアントには1つのアドレスが割り当てられますが、さらに多くを割り当てることができます。

このhost文は、DHCP サーバーを要求するクライアントのホスト名を指定します。名前には、ローカルドメイン名を含めることができます。それ以外の場合は、 domain-nameステートメントに基づいて名前が解決されます。

このclient-identifierステートメントは、アドレスバインドのデータベースをインデックス化するために DHCP サーバーによって使用されます。クライアント識別子は、ASCII 文字列または16進数字です。RFC 1700 で指定されているように、タイプと値のペアを含めることができます。 割り当てられた番号。クライアント識別子またはクライアント’の MAC アドレスは、ネットワーク上のクライアントを一意に識別するように設定する必要があります。

一意client-identifier client-idの値ごとに、DHCP サーバーはプールから一意のリースと IP アドレスを発行します。以前は、クライアントが不正client-identifier client-idな値を提供したときに、DHCP サーバーはリースを発行しませんでした。

静的なバインド構成の例を以下に示します。

IP アドレス割り当ての DHCP リース回数を指定する

特定のリース時間を要求していないクライアントの場合は、デフォルトのリース期間は1日に設定されます。IP アドレス割り当ての最大リース期間を設定することも、デフォルトのリース期間を変更することができます。

リース期間を設定するにはmaximum-lease-timedefault-lease-time and ステートメントを含めます。

これらのステートメントを以下の階層レベルで含めることができます。

静的バインドとアドレスプールに定義されたリース期間は、 [edit system services dhcp]階層レベルで定義されたリースの時間を優先して行われます。

このmaximum-lease-timeステートメントは、クライアントがリースを要求および保持できる時間の上限を秒単位で設定します。クライアントが指定された最大長よりも長いリースを要求した場合、そのサーバー上で設定されている最大時間に対してのみリースが許可されます。リースが期限切れになると、クライアントは新しい リースを要求する必要があります。

最大リース回数は、動的な BOOTP リースには適用されません。これらの リースはクライアントによって指定されておらず、 設定された最大リース期間を超えることができます。

次の例は、最大およびデフォルトのリース期間の設定を示しています。

DHCP ブートファイルと DHCP ブートサーバーの構成

DHCP クライアントが起動すると、ブートサーバーに接続してブートファイルをダウンロードします。

ブートファイルとブートサーバーを構成するにはboot-file 、and boot-serverステートメントを含めます。

これらのステートメントを以下の階層レベルで含めることができます。

クライアントが DHCP サーバーからDHCPOFFER応答を受信すると、クライアントは、ブートファイルをダウンロードするために、dhcp サーバーの代わりに、ブートサーバーと直接通信することができます。これにより、ネットワークトラフィックが最小限に抑えられ、クライアントプールまたはサブネットワークごとに個別のブートサーバー/ファイルペアを指定できます。

このboot-fileステートメントは、DHCP クライアントがロードおよび実行する初期ブートファイルの名前と場所を設定します。このファイルには、クライアントのブートイメージが格納されています。ほとんどの場合、ブートイメージはクライアントがロードするために使用するオペレーティングシステムです。

このboot-server文は、クライアント’の初期ブートファイルを含む TFTP サーバーの IP アドレスを設定します。サーバーの IP アドレスまたはホスト名を構成する必要があります。

少なくとも1つのブートファイルとブートサーバーを構成する必要があります。オプションとして、複数のブートファイルとブートサーバーを構成することもできます。たとえば、2つの別々のブートサーバーとファイルを構成することがあります。1つは静的バインディング用で、もう1つはアドレスプール用です。プールまたは静的バインドのブートファイル構成は、 [edit system services dhcp]階層レベルでのブートファイル構成よりも優先されます。

次の例では、アドレスプールのブートファイルとサーバーを指定しています。

DHCP サーバー識別子としての静的 IP アドレスの構成

DHCP サーバーを実行しているホスト自体が、手動で割り当てられた静的 IP アドレスを使用する必要があります。リクエストを送信して、それ自体または別の DHCP サーバーから IP アドレスを受信することはできません。

DHCP サーバー識別子を設定するには、 server-identifier以下のステートメントを含めます。

このステートメントは、以下の階層レベルで含めることができます。

このserver-identifierステートメントは、DHCP サーバーの IP アドレスを指定します。ホストは、IP アドレスの範囲内で (アドレスプールまたは静的バインディングに基づいて) 提供されるすべてのクライアントからアクセス可能な TFTP サーバーである必要があります。

次の例は、アドレス プール用に構成された DHCP サーバー識別子を示しています。

DHCP サーバーホスト用のドメイン名およびドメイン検索リストの構成

クライアントが DHCP サーバーホストを検索するドメインの名前を設定するには、以下のdomain-nameステートメントを含めます。

このステートメントは、以下の階層レベルで含めることができます。

このdomain-name文は、完全修飾されていないホスト名に追加されるドメイン名を設定します。このステートメントはオプションです。ドメイン名を構成しない場合、デフォルトはクライアント’の現在のドメインです。

ドメイン検索リストを構成するには、 domain-search以下のステートメントを含めます。

このステートメントは、以下の階層レベルで含めることができます。

このdomain-searchステートメントは、ホストの IP アドレスを検索するときに、クライアントがドメイン名を追加する順序を設定します。リストには、1つ以上のドメイン名を含めることができます。詳細については、RFC 3397 を参照してください。 動的ホスト構成プロトコル (DHCP) ドメイン検索オプション

このdomain-searchステートメントはオプションです。ドメイン検索リストを構成しない場合、デフォルトはクライアント’の現在のドメインです。

DHCP クライアントで利用可能なルーターを構成する

DHCP クライアントがブートイメージをロードして起動すると、クライアントはルーターにパケットを送信します。

DHCP クライアントで利用可能なルーターを設定するにrouterは、以下のステートメントを含めます。

このステートメントは、以下の階層レベルで含めることができます。

このrouterステートメントでは、クライアント’のサブネット上のルーターの IP アドレスのリストを指定しています。ルーターを優先順にリストします。クライアントサブネットごとに少なくとも1つのルーターを構成する必要があります。

次の例は、 [edit system services dhcp]階層レベルで設定されたルーターを示しています。

デフォルトの DHCP サーバーの実装に含まれていないユーザー定義の DHCP オプションの作成 Junos

DHCP サーバーのデフォルト Junos 実装に含まれていない1つ以上のユーザー定義オプションを設定できます。たとえば、クライアントが DHCP サーバーに含まれていない DHCP オプションを要求した場合は、ユーザー定義オプションを作成して、サーバーがクライアント’の要求に応答できるようにすることができます。

ユーザーが定義した DHCP オプションを設定するにoptionは、以下のステートメントを含めます。

このoptionステートメントは、以下の値を指定します。

  • id-番号—任意の整数を指定できます。この ID 番号は、オプションのインデックス作成に使用され、DHCP サーバー全体で一意にする必要があります。

  • オプションタイプ—以下のタイプのいずれかです。byte, byte-stream, flag, integer, ip-address, short, string, unsigned-integer, unsigned-short.

  • アレイ—オプションには、値の配列を含めることができます。

  • オプション値—オプションに関連づけられた値。オプション値は、オプションタイプと互換性がある必要があります ( OnflagタイプOffの、または値など)。

このステートメントは、以下の階層レベルで含めることができます。

次の例は、ユーザーが定義した DHCP オプションを示しています。

DHCP 構成ステートメントと競合するユーザー定義オプションは、サーバーによって無視されます。たとえば、次のような構成では、DHCP サーバーはユーザー定義option 3 routerステートメントを無視し、 router代わりにステートメントを使用します。

例:DHCP サーバーの設定を完了します。

このトピックでは、アドレスプール、静的バインディング、およびユーザー定義オプションを備えた完全な DHCP サーバー構成について説明します。

次の例は、 [edit interfaces]階層レベルでのステートメントを示しています。インターフェース’s のプライマリアドレス (10.3.3.1/24) には、10.3.3.0/24[edit system services]階層レベルで定義された対応するアドレスプール () があります。

DHCP サーバーは、インターフェイス’s プライマリ IP アドレス上でのみ設定できます。インターフェイスのプライマリアドレスは、ブロードキャストおよびマルチキャストパケットのローカルアドレスとして、デフォルトで使用されるアドレスで、ローカルに発信され、インターフェイスから送信されます。

階層レベルの[edit system services]ステートメントには、以下が含まれます。

DHCP サーバーの構成の確認と管理

拡張 DHCP ローカルサーバーのクライアントアドレスバインドを表示するには、次の操作コマンドを使用します。

  • show dhcp server binding

  • show dhcp server statistics

クライアントアドレスのバインドと DHCP ローカルサーバーの統計情報を消去するには、以下の運用コマンドを使用します。

  • clear dhcp server binding

  • clear dhcp server statistics

これらの操作コマンドの使用方法については、以下を参照してください。 Junos システムの基礎とサービスのリファレンス

例:DHCP バインドの表示

CLI コマンドshow system services dhcp bindingを使用して、DHCP アドレスのバインド、リース時間、アドレスの競合に関する情報を表示します。

次の例は、DHCP サーバーをサポートするルーター上に構成された IP アドレスのバインドタイプとリース期限切れ時間を示しています。

user@host> show system services dhcp binding

IP アドレスを入力して、特定の IP アドレスのバインドを表示します。

user@host> show system services dhcp binding 192.168.1.3

詳細なdetailバインド情報を表示するには、以下のオプションを使用します。

user@host> show system services dhcp binding detail

例:DHCP アドレスプールを表示する

CLI show system services dhcp poolコマンドを使用して、DHCP アドレスプールに関する情報を表示します。

次の例は、DHCP サーバー上で構成されたアドレスプールを示しています。

user@ host> show system services dhcp pool

例:DHCP の競合を表示および消去する

DHCP サーバーが IP アドレスを提供する場合、クライアントは ARP チェックを実行して、アドレスが別のクライアントによって使用されていないことを確認し、すべての競合をサーバーに返します。サーバーはアドレスを競合で追跡し、アドレスプールから削除します。CLI コマンドshow system services dhcp conflictを使用して競合を表示します。

user@host> show system services dhcp conflict

このclear system services dhcp conflictsコマンドを使用して競合リストをクリアし、IP アドレスをプールに返します。次のコマンドは、競合が発生しているサーバー上のアドレスをクリアする方法を示しています。

user@host> clear system services dhcp conflict 192.168.1.5

DHCP サーバーで使用できる CLI コマンドの詳細については、『』 CLI Explorerを参照してください。

DHCP プロセスのトレース操作の設定

DHCP トレースの運用では、すべての DHCP 操作を追跡し、それらをログファイルに記録します。デフォルトでは、DHCP プロセスはトレースされません。traceoptions階層レベルで[edit system services dhcp]ステートメントを指定した場合、デフォルトのトレース動作は以下のようになります。

  • 重要なイベントは、 dhcpd/var/logディレクトリに置かれたファイルに記録されます。

  • ファイルdhcpdが128キロバイト (kb) に達すると、3 dhcpd.0つのdhcpd.1トレースファイルが存在するまで、名前が変更されてから、その後、その後になります。その後、最も古いトレースdhcpd.2ファイルが上書きされます。ログファイルの作成方法の詳細については、 System Log Explorer『』を参照してください。

  • ログファイルには、トレース操作を構成したユーザーしかアクセスできません。

トレースファイルが格納されているディレクトリを変更することはできません。ただし、次のステートメントを[edit system services dhcp traceoptions]階層レベルに含めることで、その他のトレースファイル設定をカスタマイズできます。

DHCP トレース操作を構成するためのタスクは以下のとおりです。

  1. DHCP プロセスのログファイル名を設定する

  2. DHCP プロセスのログファイル数とサイズの設定

  3. DHCP ログファイルへのアクセスの構成

  4. 正規表現を構成して、DHCP ロギングイベントの出力を調整します。

  5. DHCP トレース操作イベントの構成

DHCP プロセスのログファイル名を設定する

デフォルトでは、トレース出力を記録するファイルの名前はdhcpdです。次のように、 [edit system services dhcp traceoptions]階層レベルでファイル文を指定することで、別の名前にすることができます。

DHCP プロセスのログファイル数とサイズの設定

デフォルトでは、トレースファイルのサイズが128キロバイト (KB) に達すると、 filename.03 つfilename.1のトレースファイルが見つかるまで名前が変更され、その後、その後になります。その後、最も古い(filename.2トレースファイル) が上書きされます。

次のステートメントを[edit system services dhcp traceoptions]階層レベルに含めることで、トレースファイルの数とサイズに制限を設定できます。

たとえば、最大ファイルサイズを 2 MB に、最大ファイル数を20に設定します。追跡操作の出力を受信したファイルfilename() filenameが 2 MB に達すると、名前filename.0が変更されて新しいfilenameファイルが作成されます。filename新しい 2 MB に達すると、 filename.0名前がfilename.1変更filenameされfilename.0、名前が変更される。このプロセスは、20個のトレースファイルが見つかるまで繰り返されます。その後、最も古いfilename.19ファイル () が最新のファイルにfilename.0よって上書きされます ()。

ファイル数は、2 ~ 1000 ファイルで指定できます。各ファイルのファイルサイズは、10KB から1ギガバイト (GB) を超えることができます。

DHCP ログファイルへのアクセスの構成

デフォルトでは、ログファイルには、トレース 操作を構成したユーザーのみがアクセスできます。

すべてのユーザーがすべてのログファイルを読み取ることができるfile world-readableように指定[edit system services dhcp traceoptions]するには、階層レベルのステートメントを追加します。

デフォルト動作を明示的に設定するにfile no-world-readable statementは、 [edit system services dhcp traceoptions]次のように階層レベルのを含めます。

正規表現を構成して、DHCP ロギングイベントの出力を調整します。

デフォルトでは、trace 操作の出力には、ログに記録 されたイベントに関連するすべての行が含まれます。

次のように、 [edit system services dhcp traceoptions file filename]階層レベルで match ステートメントを指定し、照合対象となる正規表現 (regex) を特定することで、出力を絞り込むことができます。

DHCP トレース操作イベントの構成

デフォルトでは、重要なイベントのみがログに記録されます。以下のオプションを[edit system services dhcp traceoptions]階層レベルで含めることにより、トレース操作をログに記録するように設定できます。

DHCP プロセストレースフラグ

表 1各 DHCP トレースフラグによって記録される操作またはイベントについて説明します。デフォルトでは、すべてのフラグが無効になっています。

表 1: DHCP プロセストレースフラグ

フラグ

運用またはイベント

all

すべての運用。

binding

バインド操作

config

設定データベースにログインします。

conflict

クライアントによって検出された IP アドレスの競合

event

重要なイベントです。

ifdb

インターフェイスデータベースの運用

io

I/o 操作。

lease

リースの運用。

main

メインループ操作

misc

その他の運用。

packet

DHCP パケットです。

options

DHCP オプション。

pool

アドレスプールの運用

protocol

プロトコル運用。

rtsock

ソケット操作をルーティングしています。

scope

スコープの運用。

signal

DHCP シグナルの運用

trace

操作をトレースしています。

ui

ユーザーインターフェイスの運用