DHCP クライアントに関する情報
DHCP クライアントを設定するには、次の概念を理解する必要があります。
• 「DHCP クライアントの動作」
• 「DHCP クライアントの概要」
• 「WAN インターフェイス上の DHCP クライアント」
• 「DHCP FORCERENEW」
DHCP クライアントの動作
DHCP は、TCP/IP ネットワーク上のホストに設定情報を渡すフレームワークを提供します。DHCP クライアントは、DHCP を使用して IP アドレスなどの設定パラメータを取得するインターネット ホストです。 図 1 では、DHCP クライアントが DHCP サーバから IP アドレスを要求するときに発生する基本的な手順を示します。クライアントであるホスト A が DHCPDISCOVER ブロードキャスト メッセージを送信して DHCP サーバの場所を特定します。DHCP サーバは、DHCPOFFER ユニキャスト メッセージで、設定パラメータ(IP アドレス、MAC アドレス、ドメイン名、IP アドレスのリースなど)をクライアントに提示します。
図 1 DHCP サーバに対する IP アドレスの DHCP 要求
DHCP クライアントは、複数の DHCP サーバから提示を受ける場合があり、提示のうちの任意の 1 つを受け入れられます。通常、クライアントは最初に受け取った提示を受け入れます。また、DHCP サーバから提示された IP アドレスが必ずしもクライアントに割り当てられるわけではありません。ただし、サーバは通常、クライアントが正式にアドレスを要求するまではアドレスを予約しておきます。
クライアントは、DHCPREQUEST ブロードキャスト メッセージで、提示された IP アドレスの正式な要求を DHCP サーバに戻します。DHCP サーバは、DHCPACK ユニキャスト メッセージをクライアントに戻すことで、IP アドレスがクライアントに割り当てられたことを知らせます。
DHCP クライアントの概要
設定可能な DHCP クライアント機能により、DHCP クライアントは、DHCP サーバに対しアドレスを要求するときに、ユーザ指定のクライアント ID、クラス ID や提案リース時間を使用できます。
設定パラメータと他の制御情報は、DHCP メッセージのオプション フィールドに格納されたタグ付きデータ項目で伝送されます。DHCP クライアントに対して次のオプションを設定できるため、DHCP クライアントには柔軟性があります。
• Option 12:このオプションでは、クライアントの名前を指定します。名前はローカル ドメインで修飾する場合と修飾しない場合があります。
• Option 33:このオプションは、クライアントのスタティック ルートのリストを設定するために使用します。
• Option 51:このオプションをクライアント要求(DHCPDISCOVER または DHCPREQUEST)で使用すると、クライアントは IP アドレスのリース時間を要求できます。
• Option 55:このオプションを使用すると、DHCP クライアントは DHCP サーバに対し特定のオプションを要求できます。システム管理者は、 ip dhcp client request コマンドを使用して、要求されたオプションの一部をオフにでき、それにより、それらのオプションは要求リストから削除されます。
• Option 60:ユーザは、このオプションを使用して、DHCP 対話で使用するベンダー クラス ID 文字列を設定できます。
• Option 61:このオプションは、DHCP クライアントが固有の ID を指定するために使用します。DHCP サーバは、この値を使用して、アドレス バインディングのデータベースのインデックスを作成します。この値は、管理ドメイン内のすべてのクライアントについて固有であることが予期されます。
• Option 120:このオプションを使用して、Session Initiation Protocol(SIP; セッション開始プロトコル)クライアントが SIP サーバの場所を特定するために使用する 32 ビット(バイナリ)IPv4 アドレスを指定します。
• Option 121:このオプションを使用して、クラスレス スタティック ルートのクラスレス ネットワーク宛先を指定することで、これらのルートを設定します。したがって、各ルーティング テーブル エントリには、サブネット マスクを含めます。
(注) 要求にスタティック ルートとクラスレス スタティック ルートの両方が含まれる場合、クライアントはクラスレス スタティック ルートのみ使用します。
DHCP サーバが、クラスレス スタティック ルート オプションとルータ オプションの両方を戻すと、DHCP クライアントはルータ オプションを無視します。
• Option 125:このオプションは、DHCP クライアントおよびサーバがベンダー固有の情報を交換するために使用します。
WAN インターフェイス上の DHCP クライアント
WAN インターフェイス上の DHCP クライアントでは、DHCP クライアントは、PPPoA および特定の ATM インターフェイスを通じて IP アドレスを取得できます。IP Control Protocol(IPCP; IP コントロール プロトコル)ではなく DHCP を使用することで、DHCP クライアントは、Domain Name System(DNS; ドメイン ネーム システム)アドレス、DNS デフォルト ドメイン名、デフォルト ルートなどその他の役立つ情報を取得できます。
PPPoA、クラシカル IP、および ARP over ATM の設定により、インターフェイスを介したブロードキャスト機能がただちに使用可能になります(ATM インターフェイスで broadcast キーワードを使用)。この機能のほとんどの変更は、DHCP パケットを送信できるインターフェイスの種類に関する既存の制限を撤廃することを目的としています(以前は、ダイヤラ インターフェイスは送信できませんでした)。また、この機能により、接続の切断が可能になる前に、インターフェイスで DHCP RELEASE メッセージが送信されることが保証されます。
DHCP FORCERENEW
Cisco DHCP FORCERENEW 機能は、RFC 3118 に従い、エンティティ認証およびメッセージ認証を提供します。これにより、DHCP クライアントおよびサーバは、他の DHCP エンティティの ID を認証し、ネットワークを通じた配信中に DHCP メッセージの内容が変更されていないことを確認します。
メッセージ認証メカニズムにより、サーバは、DHCP 情報の要求が、ネットワークを使用する許可を受けたクライアントからの要求であるかどうか特定できます。また、メッセージ認証メカニズムにより、クライアントは、DHCP サーバが、有効な設定を提供する信頼できるサーバであることを確認します。
Cisco DHCP FORCERENEW 機能では、認証が必要です。すべてのクライアント サーバ交換を認証する必要があります。したがって、 ip dhcp client authentication mode コマンドおよび key chain コマンドを設定する必要があります。
クライアントは、FORCERENEW メッセージを受け取ると、以下を実行します。
• ip dhcp client authentication mode コマンドで指定された認証モードに従い、メッセージを認証します。Cisco DHCP FORCERENEW 機能は、トークン ベースの認証と Message Digest 5(MD5)ベースの認証の両方をサポートしています。
– トークン ベースの認証は、誤ってインスタンス化された DHCP サーバに対する基本的な防御でのみ役立ちます。トークンはプレーン テキストで転送されます。したがって、トークンによる認証は脆弱で、メッセージ認証は提供されません。
– MD5 ベースの認証は、メッセージ認証コードとして、送信元により生成されるシングルユース値が含まれるため、より優れたメッセージおよびエンティティ認証を提供します。
• 状態を RENEW に変更します。
• 通常の DHCP 手順に従い、リースの更新を試行します。
クライアントは、マルチキャスト FORCERENEW メッセージまたは認証に失敗したメッセージを廃棄します。
DHCP クライアント設定方法
ここでは、次の作業について説明します。
• 「DHCP クライアント設定」
• 「DHCP クライアントの DHCP リースのリリースまたは更新の実行」
• 「FORCERENEW メッセージ処理のイネーブル化」
DHCP クライアント設定
DHCP クライアントを設定するには、この作業を実行します。
DHCP クライアントのデフォルトの動作
Cisco IOS ソフトウェアを実行する Cisco ルータには、DHCP サーバおよびリレー エージェント ソフトウェアが含まれており、デフォルトではイネーブルになっています。ルータは DHCP クライアントと DHCP サーバの両方として動作できます。設定済みインターフェイスの IP アドレス情報を取得するには、 ip address dhcp コマンドを使用します。
前提条件
生成される DHCPDISCOVER メッセージに正しいオプション値が含まれるようにするために、インターフェイスで ip address dhcp コマンドを入力する前に、 ip dhcp client コマンドを設定する必要があります。DHCP から IP アドレスが取得される場合に限り、 ip dhcp client コマンドはチェックされます。DHCP から IP アドレスが取得された後、 ip dhcp client コマンドが入力された場合、次にルータが DHCP から IP アドレスを取得するまで、そのコマンドは有効ではありません。つまり、 ip address dhcp コマンドまたは、 release dhcp および renew dhcp EXEC コマンド が設定された後でのみ、新しい設定は有効になります。
手順の概要
1. enable
2. configure terminal
3. interface type number
4. ip dhcp client client-id { interface-name | ascii string | hex string }
5. ip dhcp client class-id { string | hex string }
6. ip dhcp client lease days [ hours ] [ minutes ]
7. ip dhcp client hostname host-name
8. [ no ] ip dhcp client request option-name
9. ip address dhcp
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
interface type number
Router(config)# interface Ethernet 1 |
インターフェイス タイプを設定し、インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 4 |
ip dhcp client client-id { interface-name | ascii string | hex string }
Router(config-if)# ip dhcp client client-id ascii mytest1 |
(任意)クライアント ID を指定します。 • このコマンドの no 形式を指定すると、設定が削除され、システムは再びデフォルト形式を使用します。システムにクライアント ID が含まれないように設定することはできません。 |
ステップ 5 |
ip dhcp client class-id { string | hex string }
Router(config-if)# ip dhcp client class-id my-class-id |
(任意)クラス ID を指定します。 |
ステップ 6 |
ip dhcp client lease days [ hours ] [ minutes ]
Router(config-if)# ip dhcp client lease 2 |
(任意)DHCP クライアントが DHCP サーバに要求する IP アドレスのリースの期間を設定します。 |
ステップ 7 |
ip dhcp client hostname host-name
Router(config-if)# ip dhcp client hostname router1 |
(任意)DHCP メッセージで送信するホスト名を指定または変更します。 |
ステップ 8 |
[ no ] ip dhcp client request option-name
Router(config-if)# no ip dhcp client request tftp-server-address |
(任意)DHCP クライアントが DHCP サーバに対してオプションを要求するように設定します。 • オプション名として、 tftp-server-address 、 netbios-nameserver 、 vendor-specific 、 static-route 、 domain-name 、 dns-nameserver 、または router を指定できます。デフォルトでは、これらのすべてのオプションが要求されます。このコマンドの no 形式を指定すると、システムは特定のオプションを要求しなくなります。 |
ステップ 9 |
ip address dhcp
Router(config-if)# ip address dhcp |
DHCP からインターフェイスの IP アドレスを取得します。 |
トラブルシューティングのヒント
設定を確認するには、 debug dhcp detail コマンドを使用して、送受信された DHCP パケットを表示します。DHCP 対話のサーバ側を表示するには、 debug ip dhcp server packets コマンドを使用します。
以下は WAN インターフェイス上の DHCP クライアントのトラブルシューティング ヒントです。
• ATM プライマリ インターフェイスは常にマルチポイントです。
• ATM サブインターフェイスは、マルチポイントまたはポイントツーポイントにすることができます。
• ポイントツーポイント インターフェイスを使用している場合、ルーティング テーブルにより、インターフェイスにいつパケットを送信するかが決定され、ATM マップ エントリは必要ありません。したがって、ATM マップ エントリを構築する Inverse ARP は必要ありません。
• マルチポイント インターフェイスを使用している場合、Inverse ARP を使用して、接続の他の側の IP アドレスを検出する必要があります。
• Inverse ARP は、 protocol ip inarp コマンドを通じて指定できます。Inverse ARP をサポートしているカプセル化方式は aal5snap のみであるため、Inverse ARP を使用する場合、aal5snap カプセル化方式を使用する必要があります。
DHCP クライアントの DHCP リースのリリースまたは更新の実行
DHCP クライアントの DHCP リースのリリースまたは更新を実行するには、この作業を実行します。
DHCP クライアントの DHCP リースのリリースまたは更新を実行する場合、EXEC モードで Command-Line Interface(CLI; コマンドライン インターフェイス)から次の 2 つの独立した操作を実行できます。
• DHCP クライアントの DHCP リースをただちにリリースする。
• DHCP クライアントのリースの DHCP 更新を実行する。
この機能には次の利点があります。
• DHCP リースをリリースまたは更新するために、コンフィギュレーション モードに移行してルータを再設定する必要がない。
• DHCP リースのリリースおよび更新を簡単に実行できる。
• DHCP IP リリースおよび更新の設定作業を実行するために必要な時間が削減される。
DHCP リースのリリース
release dhcp コマンドにより、指定したインターフェイスの DHCP リースをただちにリリースするプロセスが開始されます。リースがリリースされた後、インターフェイスのアドレスが再設定されます。 release dhcp コマンドは、インターフェイスのコンフィギュレーション ファイルで指定されている ip address dhcp コマンドを再設定しません。メモリの書き込み処理中、実行中のコンフィギュレーション ファイルの表示処理中、またはルータが再起動される場合、 ip address dhcp コマンドが実行され、インターフェイスの DHCP アドレスが取得されます。
DHCP サーバによりインターフェイスに対し IP アドレスが事前に割り当てられている必要があります。DHCP サーバによりインターフェイスに対し IP アドレスが割り当てられていない場合、 release dhcp コマンドは失敗し、次のエラー メッセージが表示されます。
Interface does not have a DHCP originated address
DHCP リースの更新
renew dhcp コマンドは、DHCP リース タイマーを次の段階まで進めます。その段階で、以下のいずれかが実行されます。
• リースが現在 BOUND 状態の場合、リースは RENEW 状態に進み、DHCP RENEW 要求が送信されます。
• リースが現在 RENEW 状態の場合、タイマーは REBIND 状態に進み、DHCP REBIND 要求が送信されます。
RENEW 要求に対して応答がない場合、インターフェイスは RENEW 状態のままです。この場合、リース タイマーは REBIND 状態に進み、その後 REBIND 要求が送信されます。
RENEW 要求に対する応答で NAK 応答が送信された場合、インターフェイスは再設定されます。
DHCP サーバによりインターフェイスに対し IP アドレスが事前に割り当てられている必要があります。DHCP サーバによりインターフェイスに対し IP アドレスが割り当てられていない場合、 renew dhcp コマンドは失敗し、次のエラー メッセージが表示されます。
Interface does not have a DHCP originated address
(注) Cisco IOS Release 15.0(1)M 以降のリリースでは、Cisco IOS DHCP クライアントは、リース時間ゼロのパケットまたはリース時間オプションなしのパケットを受け入れません。
前提条件
DHCP サーバにより DHCP クライアントに対し IP アドレスが割り当てられている必要があります。
制約事項
DHCP サーバにより DHCP クライアントに対し IP アドレスが割り当てられていない場合、DHCP リリースおよび更新 CLI コマンドは失敗します。
手順の概要
1. enable
2. release dhcp type number
3. renew dhcp type number
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
release dhcp type number
Router# release dhcp ethernet 3/1 |
インターフェイスの DHCP リースのリリースをただちに実行し、インターフェイスの IP アドレスを再設定します。 |
ステップ 3 |
renew dhcp type number
Router# renew dhcp ethernet 3/1 |
DHCP タイマーを次の段階に進めます。その段階で後続処理が実行されます。DHCP REQUEST パケットが送信され、リースが更新または再バインドされます。 |
FORCERENEW メッセージ処理のイネーブル化
インターフェイスの DHCP メッセージで使用する認証のタイプを指定するには、要求の認証で使用するキー チェーンを指定するには、および認証がイネーブルの場合に DHCP クライアントでの FORCERENEW メッセージの処理をイネーブルにするには、この作業を実行します。
前提条件
クライアントとサーバの両方に対し、同じ認証モード、 key chain コマンドで設定した同じシークレット ID とシークレット値を設定する必要があります。
手順の概要
1. interface type number
2. ip dhcp client authentication key-chain name
3. ip dhcp client authentication mode type
4. exit
5. key chain name-of-chain
6. exit
7. ip dhcp-client forcerenew
8. end
手順の詳細
|
|
|
ステップ 1 |
interface type number
Router(config)# interface Ethernet 1 |
インターフェイス タイプを設定し、インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 2 |
ip dhcp client authentication key-chain name
Router(config-if)# ip dhcp client authentication key-chain dhcp1 |
要求の認証で使用するキー チェーンを指定します。 |
ステップ 3 |
ip dhcp client authentication mode type
Router(config-if)# ip dhcp client authentication mode md5 |
インターフェイスの DHCP メッセージで使用する認証のタイプを指定します。 |
ステップ 4 |
exit
Router(config-if)# exit |
インターフェイス コンフィギュレーション モードを終了します。 |
ステップ 5 |
key chain name-of-chain
Router(config-keychain)# key chain dhcp1 key 1234 key-string secret |
キー チェーン コンフィギュレーション モードを開始し、名前付きキー チェーンで使用する認証文字列を指定します。 |
ステップ 6 |
exit
Router(config-keychain)# exit |
キー チェーン コンフィギュレーション モードを終了し、グローバル コンフィギュレーション モードを開始します。 |
ステップ 7 |
ip dhcp-client forcerenew
Router(config)# ip dhcp-client forcerenew |
DHCP クライアントでの DHCP FORCERENEW メッセージ処理をイネーブルにします。 |
ステップ 8 |
end
Router(config)# end |
(任意)グローバル コンフィギュレーション モードを終了し、特権 EXEC モードに戻ります。 |
DHCP クライアント設定例
ここでは、次の設定例について説明します。
• 「例:DHCP クライアント設定」
• 「例:DHCP クライアント設定のカスタマイズ」
• 「例:aal5snap カプセル化および Inverse ARP を使用した ATM プライマリ インターフェイス(マルチポイント)の設定」
• 「例:aa15snap カプセル化を使用した ATM ポイントツーポイント サブインターフェイスの設定」
• 「例:aa15nlpid カプセル化を使用した ATM ポイントツーポイント サブインターフェイスの設定」
• 「例:aa15mux PPP カプセル化を使用した ATM ポイントツーポイント サブインターフェイスの設定」
• 「例:DHCP リースのリリース」
• 「例:DHCP リースの更新」
例:DHCP クライアント設定
図 2 は、イーサネット LAN 上の DHCP クライアントを示す簡単なネットワーク図です。
図 2 イーサネット インターフェイスを備えた DHCP クライアントを表すトポロジ
DHCP サーバ設定を以下に示します。
network 10.1.1.0 255.255.255.0
DHCP クライアントのインターフェイス E2 の設定を以下に示します。
この設定により、DHCP クライアントは、イーサネット インターフェイスを通じて DHCP サーバから IP アドレスを取得できます。
例:DHCP クライアント設定のカスタマイズ
次の例は、イーサネット インターフェイス 1 で、各種のオプションを使用して DHCP クライアント設定をカスタマイズする方法を示しています。
ip dhcp client client-id ascii my-test1
ip dhcp client class-id my-class-id
ip dhcp client lease 0 1 0
ip dhcp client hostname host1
no ip dhcp client request tftp-server-address
例:aal5snap カプセル化および Inverse ARP を使用した ATM プライマリ インターフェイス(マルチポイント)の設定
次の例では、Permanent Virtual Circuit(PVC; 相手先固定接続)でブロードキャスト フラグを認識するための ATM マップ エントリが必要であるため、 protocol ip 255.255.255.255 broadcast 設定が必要です。ATM マップ エントリを使用できます。ATM Inverse ARP がインターフェイスで動作できるようにするために、 protocol ip inarp 設定が必要です。これにより、DHCP によりアドレスが割り当てられた後、システムを ping できます。
protocol ip 255.255.255.255 broadcast
例:aa15snap カプセル化を使用した ATM ポイントツーポイント サブインターフェイスの設定
次の例は、aa15snap カプセル化を使用した ATM ポイントツーポイント サブインターフェイスの設定を示しています。
interface atm0.1 point-to-point
例:aa15nlpid カプセル化を使用した ATM ポイントツーポイント サブインターフェイスの設定
次の例は、aa15nlpid カプセル化を使用した ATM ポイントツーポイント サブインターフェイスの設定を示しています。
interface atm0.1 point-to-point
例:aa15mux PPP カプセル化を使用した ATM ポイントツーポイント サブインターフェイスの設定
次の例は、aa15mux PPP カプセル化を使用した ATM ポイントツーポイント サブインターフェイスの設定を示しています。
interface atm0.1 point-to-point
encapsulation aal5mux ppp virtual-template1
interface virtual-template1
例:DHCP リースのリリース
次の例では、DHCP サーバにより IP アドレスが事前に割り当てられているインターフェイスで、DHCP リリースを実行しています。
Router# release dhcp ethernet 3/1
次の例では、DHCP サーバにより IP アドレスが事前に割り当てられていないインターフェイスで、DHCP リースのリリースを試行しています。
Router# release dhcp ethernet 3/1
Interface does not have a DHCP originated address
次の例では、 type 引数および number 引数を指定せずに、 release dhcp コマンドを実行しています。
Incomplete command.
例:DHCP リースの更新
次の例では、DHCP サーバにより IP アドレスが事前に割り当てられているインターフェイスで、DHCP リースを更新しています。
Router# renew dhcp ethernet 3/1
次の例では、DHCP サーバにより IP アドレスが事前に割り当てられていないインターフェイスで、DHCP リースの更新を試行しています。
Router# renew dhcp ethernet 3/1
Interface does not have a DHCP originated address
次の例では、 type 引数および number 引数を指定せずに、 renew dhcp コマンドを実行しています。
Incomplete command.