Cisco IOS DHCP サーバ設定方法
ここでは、次の作業について説明します。
• 「DHCP データベース エージェントの設定または競合のロギングのディセーブル化」(必須)
• 「IP アドレスの除外」(任意)
• 「DHCP アドレス プールの設定」(必須)
• 「手動バインディングの設定」(任意)
• 「DHCP スタティック マッピングの設定」(任意)
• 「DHCP サーバの動作のカスタマイズ」(任意)
• 「DHCP サーバ オプションを集中管理 DHCP サーバからインポートするためのリモート ルータの設定」(任意)
• 「Option 82 を使用した DHCP アドレス割り当ての設定」(任意)
• 「DHCP を通じてダイナミックに取得されるネクスト ホップを使用したスタティック ルートの設定」(任意)
• 「DHCP サーバ変数のクリア」(任意)
DHCP データベース エージェントの設定または競合のロギングのディセーブル化
DHCP データベース エージェントを設定するには、次の作業を行います。
データベース エージェント
DHCP データベース エージェントとは、DHCP バインディング データベースが格納されている任意のホスト(FTP、TFTP、rcp サーバなど)や DHCP サーバ上のストレージ メディア(disk0 など)です。DHCP データベース エージェントは複数設定でき、データベースを更新する間隔や各エージェント間の転送の間隔も設定できます。
自動バインディングとは、DHCP データベースで検出されたホストの MAC アドレスに自動的にマッピングされた IP アドレスです。自動バインディング情報(リースの有効期限、インターフェイス インデックス、VPN Routing and Forwarding(VRF; VPN ルーティングおよび転送)名など)はデータベース エージェントに保存されます。バインディングはメンテナンスが容易なテキスト レコードで保存されます。
アドレスの競合
2 つのホストが同一の IP アドレスを使用すると、アドレスの競合が発生します。アドレスの割り当て中、DHCP は ping と Address Resolution Protocol(ARP; アドレス解決プロトコル)を使用して競合を確認します。競合が検出されると、そのアドレスはプールから削除されます。そのアドレスは、管理者が競合を解決するまで割り当てられません。
制約事項
シスコではデータベース エージェントを使用することを強く推奨します。ただし、Cisco IOS サーバはデータベース エージェントがなくても動作します。DHCP データベース エージェントを設定しない場合、 no ip dhcp conflict logging コマンドをグローバル コンフィギュレーション モードで使用して、DHCP サーバ上の DHCP アドレス競合の記録をディセーブルに設定します。競合のロギングが設定されているにもかかわらず、データベース エージェントが設定されていない場合、ルータのリブート時にバインディングが失われます。誤った競合が発生すると、ネットワーク管理者が介入するまで、アドレス プールからアドレスが削除されることがあります。
手順の概要
1. enable
2. configure terminal
3. ip dhcp database url [ timeout seconds | write-delay seconds ]
または
no ip dhcp conflict logging
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip dhcp database url [ timeout seconds | write-delay seconds ] または no ip dhcp conflict logging
Router(config)# ip dhcp database ftp://user:password@172.16.1.1/router-dhcp timeout 80 または
Router(config)# no ip dhcp conflict logging |
データベース エージェントと呼ばれるリモート ホスト上で自動バインディングを保存するように DHCP サーバを設定します。 または DHCP アドレス競合ロギングをディセーブルにします。 • このオプションは DHCP データベース エージェントを設定しない場合にのみ選択します。ガイドラインについては、「制約事項」の項を参照してください。 |
IP アドレスの除外
DHCP サーバがクライアントに割り当てない IP アドレス(除外されるアドレス)を指定するには、次の作業を行います。
ルータ インターフェイスに設定されている IP アドレスは自動的に DHCP アドレス プールから除外されます。DHCP サーバは、DHCP アドレス プール サブネットにある他のすべての IP アドレスは DHCP クライアントへの割り当てが可能と見なします。
DHCP サーバが IP アドレスを割り当てないようにするには、これらのアドレスをプールから除外する必要があります。たとえば、冗長性を提供するために、2 つの DHCP サーバが同一ネットワーク セグメント(サブネット)で稼動するように設定する場合などがあります。この 2 台の DHCP サーバが DHCP フェールオーバーなどのプロトコルを使用したサービス調整を相互に行わない場合、共有するサブネットからアドレス セットを重複しないように割り当てるための設定をそれぞれの DHCP サーバで行う必要があります。設定例については、「手動バインディングの設定:例」を参照してください。
手順の概要
1. enable
2. configure terminal
3. ip dhcp excluded-address low-address [ high-address ]
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip dhcp excluded-address low-address [ high-address ]
Router(config)# ip dhcp excluded-address 172.16.1.100 172.16.1.103 |
DHCP サーバが DHCP クライアントに割り当てない IP アドレスを指定します。 |
DHCP アドレス プールの設定
DHCP アドレス プールを設定するには、次の作業を行います。必要に応じて、アドレス プール単位でクライアントの DHCP オプションを指定します。
DHCP アドレス プールの規定
DHCP アドレス プールには、意味を表す文字列(「engineering」など)や整数(0 など)の名前を付けることができます。また、DHCP アドレス プールを設定すると、ルータが DHCP プール コンフィギュレーション モードになります。(dhcp-config)# プロンプトで識別されるこのコンフィギュレーション モードのプロンプトから、プールのパラメータ(IP サブネット番号やデフォルト ルータのリストなど)を設定できます。
DHCP アドレス プールの選択
DHCP は 1 つのプロセスを定義します。このプロセスにより、DHCP サーバは DHCP クライアントが存在する IP サブネットを認識し、サブネット内の有効な IP アドレスのプールから IP アドレスを割り当てることができます。DHCP サーバがクライアント要求へのサービスを提供するために使用する DHCP アドレス プールを特定するこのプロセスは、「DHCP アドレス プールの選択」に記載されています。
DHCP サーバは、クライアントの要求を処理するために使用する DHCP アドレス プールを次のように特定します。
• クライアントが直接接続していない場合(DHCPDISCOVER ブロードキャスト メッセージの giaddr フィールドがゼロ以外)、DHCP サーバは giaddr フィールドに IP アドレスが含まれているサブネットを持つ DHCP プールと DHCPDISCOVER を照合します。
• クライアントが直接接続している場合(giaddr フィールドがゼロ)、DHCP サーバは受信インターフェイスに設定されているサブネットが含まれる DHCP プールと DHCPDISCOVER を照合します。インターフェイスにセカンダリ IP アドレスがある場合は、セカンダリ IP アドレスが関連付けられているサブネットに、可能な割り当てがあるかどうかが検証されます。ただし、これはサブネットに関連付けられているプライマリ IP アドレス(インターフェイス上)の空きがなくなった場合に限り行われます。
Cisco IOS DHCP サーバ ソフトウェアは、IP アドレスの割り当てを行う高度な機能をサポートします。詳細については、「Option 82 を使用した DHCP アドレス割り当ての設定」の項を参照してください。
前提条件
DHCP アドレス プールを設定する前に、次の作業が必要です。
• 必要に応じて、デバイスについて次のような DHCP オプションを特定します。
– デフォルトのブート イメージ名
– デフォルト ルータ
– DNS サーバ
– NetBIOS ネーム サーバ
– プライマリ サブネット
– セカンダリ サブネットおよびサブネット固有のデフォルト ルータのリスト(セカンダリ サブネットの詳細については、「セカンダリ サブネットを使用した DHCP アドレス プールの設定」を参照してください)。
• NetBIOS ノード タイプ(b、p、m、h)を決定します。
• DNS ドメイン名を決定します。
制約事項
DHCP プール コンフィギュレーション コマンド network を使用して設定したプールと同一プール内に手動バインディングは設定できません。手動バインディングを設定するには、「手動バインディングの設定」を参照してください。
手順の概要
1. enable
2. configure terminal
3. ip dhcp pool name
4. utilization mark high percentage-number [ log ]
5. utilization mark low percentage-number [ log ]
6. network network-number [{ mask | / prefix-length } [ secondary ]]
7. domain-name domain
8. dns-server address [address2 ... address8]
9. bootfile filename
10. next-server address [ address2 ... address8 ]
11. netbios-name-server address [address2 ... address8]
12. netbios-node-type type
13. default-router address [address2 ... address8]
14. option code [ instance number ] { ascii string | hex string | ip-address }
15. lease { days [ hours [ minutes ]] | infinite }
16. end
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip dhcp pool name
Router(config)# ip dhcp pool 1 |
DHCP サーバ アドレス プールの名前を作成し、DHCP プール コンフィギュレーション モードを開始します。 |
ステップ 4 |
utilization mark high percentage-number [ log ]
Router(dhcp-config)# utilization mark high 80 log |
(任意)現在のアドレス プール サイズの高利用マークを設定します。 • キーワード log を使用すると、システム メッセージのロギングがイネーブルになります。DHCP プールの利用率が、設定された上限の利用率のしきい値を超過すると、このプールに関するシステム メッセージが生成されます。 |
ステップ 5 |
utilization mark low percentage-number [ log ]
Router(dhcp-config)# utilization mark low 70 log |
(任意)現在のアドレス プール サイズの低利用マークを設定します。 • キーワード log を使用すると、システム メッセージのロギングがイネーブルになります。DHCP プールの利用率が、設定された下限の利用率のしきい値未満になると、このプールに関するシステム メッセージが生成されます。 |
ステップ 6 |
network network-number [{ mask | / prefix-length } [ secondary ]]
Router(dhcp-config)# network 172.16.0.0 /16 |
DHCP アドレス プールのサブネット ネットワーク番号およびマスクを指定します。 |
ステップ 7 |
domain-name domain
Router(dhcp-config)# domain-name cisco.com |
クライアントのドメイン名を指定します。 |
ステップ 8 |
dns-server address [ address2 ... address8]
Router(dhcp-config)# dns server 172.16.1.103 172.16.2.103 |
DHCP クライアントが利用可能な DNS サーバの IP アドレスを指定します。 • 少なくとも 1 つの IP アドレスを指定する必要がありますが、1 行のコマンド ラインに最大 8 つの IP アドレスを指定できます。 • サーバは優先順位の高い順に一覧表示されます。 |
ステップ 9 |
bootfile filename
Router(dhcp-config)# bootfile xllboot |
(任意)DHCP クライアントのデフォルトのブート イメージの名前を指定します。 • ブート ファイルはクライアントのブート イメージを保存するために使用します。通常、ブート イメージはクライアントがロードに使用するオペレーティング システムです。 |
ステップ 10 |
next-server address [ address2 ... address8]
Router(dhcp-config)# next-server 172.17.1.103 172.17.2.103 |
(任意)DHCP クライアントのブート プロセスの次のサーバを設定します。 • 複数のサーバが指定されている場合、DHCP は、ラウンドロビン方式でクライアントに割り当てます。最初のクライアントが address 1 のアドレスを取得した場合は、次のクライアントが address 2 のアドレスを取得するという順序で割り当てられます。 • このコマンドを指定していない場合、DHCP は ip helper address コマンドで指定されているサーバをブート サーバとして使用します。 |
ステップ 11 |
netbios-name-server address [ address2 ... address8]
Router(dhcp-config)# netbios-name-server 172.16.1.103 172.16.2.103 |
(任意)Microsoft DHCP クライアントが利用可能な NetBIOS WINS サーバを指定します。 • 少なくとも 1 つのアドレスを指定する必要がありますが、1 行のコマンド ラインに最大 8 つのアドレスを指定できます。 • サーバは優先順位の高い順に一覧表示されます。 |
ステップ 12 |
netbios-node-type type
Router(dhcp-config)# netbios-node-type h-node |
(任意)Microsoft DHCP クライアント用の NetBIOS ノード タイプを指定します。 |
ステップ 13 |
default-router address [ address2 ... address8]
Router(dhcp-config)# default-router 172.16.1.100 172.16.1.101 |
(任意)DHCP クライアントのデフォルト ルータの IP アドレスを指定します。 • IP アドレスは、クライアントと同一のサブネット上に存在する必要があります。 • 少なくとも 1 つの IP アドレスを指定する必要がありますが、1 行のコマンド ラインに最大 8 つの IP アドレスを指定できます。このデフォルト ルータは、優先順位の高い順に一覧で表示されます。つまり、 address が最も優先されるルータで、 address2 が次に優先されるルータになります。 • DHCP クライアントが IP アドレスを要求すると、 DHCP サーバとして動作するルータはデフォルト ルータのリストにアクセスし、DHCP クライアントがメッセージを転送するためにファースト ホップとして使用する別のルータを選択します。DHCP クライアントはブート後に自身のデフォルト ルータへのパケット送信を開始します。 |
ステップ 14 |
option code [ instance number ] { ascii string | hex string | ip-address }
Router(dhcp-config)# option 19 hex 01 |
(任意)DHCP サーバのオプションを設定します。 |
ステップ 15 |
lease { days [ hours [ minutes ]] | infinite }
Router(dhcp-config)# lease 30 |
(任意)リースの期間を指定します。 • デフォルトは 1 日です。 • キーワード infinite を指定すると、リースの期間が無期限に設定されます。 |
ステップ 16 |
end
Router(dhcp-config)# end |
グローバル コンフィギュレーション モードに戻ります。 |
セカンダリ サブネットを使用した DHCP アドレス プールの設定
セカンダリ サブネットによる DHCP アドレス プールを設定するには、次の作業を行います。
連続していない複数のサブネットを使用した DHCP サーバ アドレス プール
任意の DHCP プールには、 プライマリ サブネット および任意の数の セカンダリ サブネット を設定できます。それぞれのサブネットは、DHCP クライアントに IP アドレスを割り当てるためにルータが使用する IP アドレスの範囲です。DHCP サーバが持つ複数のサブネット機能により、Cisco IOS DHCP サーバのアドレス プールで追加の IP アドレスを管理できます。この場合、個々のアドレス プールを使用する代わりに、既存の DHCP アドレス プールのセカンダリ サブネットにアドレスを追加します。
セカンダリ サブネットの規定
セカンダリ DHCP サブネットワークを設定すると、ルータは DHCP プールのセカンダリ サブネット コンフィギュレーション モードになります。(config-dhcp-subnet-secondary)# プロンプトで識別されるこのモードから、セカンダリ サブネット固有のデフォルトのアドレス リストを設定できます。セカンダリ サブネットの利用率も指定できます。これを指定すると、アドレスの利用水準に応じて、IP アドレスのプール サイズをダイナミックに拡大または縮小できます。この設定はグローバルな利用率をオーバーライドします。
セカンダリ サブネットを使用した DHCP サーバ アドレス プールからの IP アドレスの割り当て
DHCP サーバが複数のサブネットを含むアドレス プールを選択した場合、DHCP サーバは次のようにサブネットから IP アドレスを割り当てます。
• DHCP サーバがアドレス割り当て要求を受け取ると、サーバはプライマリ サブネットで空きアドレスを探します。
• プライマリ サブネットに空きがない場合、DHCP サーバはその DHCP サーバが管理する任意のセカンダリ サブネットで空いているアドレスを自動的に探します(これは、giaddr がセカンダリ サブネットと必ずしも一致しない場合でも行われます)。サーバは、サブネットがプールに追加された順序で、利用可能なアドレスをサブネット内で検査します。
• giaddr がプール内のセカンダリ サブネットと一致する場合は、DHCP サーバはこのセカンダリ サブネットから IP アドレスを割り当てます(これはプライマリ サブネット内に利用可能な IP アドレスがある場合でも、セカンダリ サブネットが追加された順序にかかわりなく行われます)。
手順の概要
1. enable
2. configure terminal
3. ip dhcp pool name
4. utilization mark high percentage-number [ log ]
5. utilization mark low percentage-number [ log ]
6. network network-number [ mask | / prefix-length ]
7. domain-name domain
8. dns-server address [address2 ... address8]
9. bootfile filename
10. next-server address [ address2 ... address8 ]
11. netbios-name-server address [address2 ... address8]
12. netbios-node-type type
13. default-router address [address2 ... address8]
14. option code [ instance number ] { ascii string | hex string | ip-address }
15. lease { days [ hours [ minutes ]] | infinite }
16. network network-number [{ mask | / prefix-length } [ secondary ]]
17. override default-router address [ address2 ... address8 ]
18. override utilization high percentage-number
19. override utilization low percentage-number
20. end
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip dhcp pool name
Router(config)# ip dhcp pool 1 |
DHCP サーバ アドレス プールの名前を作成し、DHCP プール コンフィギュレーション モードを開始します。 |
ステップ 4 |
utilization mark high percentage-number [ log ]
Router(dhcp-config)# utilization mark high 80 log |
(任意)現在のアドレス プール サイズの高利用マークを設定します。 • キーワード log を使用すると、システム メッセージのロギングがイネーブルになります。DHCP プールの利用率が、設定された上限の利用率のしきい値を超過すると、このプールに関するシステム メッセージが生成されます。 |
ステップ 5 |
utilization mark low percentage-number [ log ]
Router(dhcp-config)# utilization mark low 70 log |
(任意)現在のアドレス プール サイズの低利用マークを設定します。 • キーワード log を使用すると、システム メッセージのロギングがイネーブルになります。DHCP プールの利用率が、設定された下限の利用率のしきい値未満になると、このプールに関するシステム メッセージが生成されます。 |
ステップ 6 |
network network-number [ mask | / prefix-length ]
Router(dhcp-config)# network 172.16.0.0 /16 |
DHCP アドレス プールのサブネット ネットワーク番号およびマスクを指定します。 |
ステップ 7 |
domain-name domain
Router(dhcp-config)# domain-name cisco.com |
クライアントのドメイン名を指定します。 |
ステップ 8 |
dns-server address [ address2 ... address8]
Router(dhcp-config)# dns server 172.16.1.103 172.16.2.103 |
DHCP クライアントが利用可能な DNS サーバの IP アドレスを指定します。 • 少なくとも 1 つの IP アドレスを指定する必要がありますが、1 行のコマンド ラインに最大 8 つの IP アドレスを指定できます。 • サーバは優先順位の高い順に一覧表示されます。 |
ステップ 9 |
bootfile filename
Router(dhcp-config)# bootfile xllboot |
(任意)DHCP クライアントのデフォルトのブート イメージの名前を指定します。 • ブート ファイルはクライアントのブート イメージを保存するために使用します。通常、ブート イメージはクライアントがロードに使用するオペレーティング システムです。 |
ステップ 10 |
next-server address [ address2 ... address8]
Router(dhcp-config)# next-server 172.17.1.103 172.17.2.103 |
(任意)DHCP クライアントのブート プロセスの次のサーバを設定します。 • 複数のサーバが指定されている場合、DHCP は、ラウンドロビン方式でクライアントに割り当てます。最初のクライアントが address 1 のアドレスを取得した場合は、次のクライアントが address 2 のアドレスを取得するという順序で割り当てられます。 • このコマンドを指定していない場合、DHCP は ip helper address コマンドで指定されているサーバをブート サーバとして使用します。 |
ステップ 11 |
netbios-name-server address [ address2 ... address8]
Router(dhcp-config)# netbios-name-server 172.16.1.103 172.16.2.103 |
(任意)Microsoft DHCP クライアントが利用可能な NetBIOS Windows Internet Naming Service(WINS)サーバを指定します。 • 少なくとも 1 つのアドレスを指定する必要がありますが、1 行のコマンド ラインに最大 8 つのアドレスを指定できます。 • サーバは優先順位の高い順に一覧表示されます。 |
ステップ 12 |
netbios-node-type type
Router(dhcp-config)# netbios-node-type h-node |
(任意)Microsoft DHCP クライアント用の NetBIOS ノード タイプを指定します。 |
ステップ 13 |
default-router address [ address2 ... address8]
Router(dhcp-config)# default-router 172.16.1.100 172.16.1.101 |
(任意)DHCP クライアントのデフォルト ルータの IP アドレスを指定します。 • IP アドレスは、クライアントと同一のサブネット上に存在する必要があります。 • 少なくとも 1 つの IP アドレスを指定する必要がありますが、1 行のコマンド ラインに最大 8 つの IP アドレスを指定できます。このデフォルト ルータは、優先順位の高い順に一覧で表示されます。つまり、 address が最も優先されるルータで、 address2 が次に優先されるルータになります。 • DHCP クライアントが IP アドレスを要求すると、DHCP サーバとして動作するルータはデフォルト ルータのリストにアクセスし、DHCP クライアントがメッセージを転送するためにファースト ホップとして使用する別のルータを選択します。DHCP クライアントはブート後に自身のデフォルト ルータへのパケット送信を開始します。 |
ステップ 14 |
option code [ instance number ] { ascii string | hex string | ip-address }
Router(dhcp-config)# option 19 hex 01 |
(任意)DHCP サーバのオプションを設定します。 |
ステップ 15 |
lease {days [ hours ] [ minutes ]| infinite }
Router(dhcp-config)# lease 30 |
(任意)リースの期間を指定します。 • デフォルトは 1 日です。 • キーワード infinite を指定すると、リースの期間が無期限に設定されます。 |
ステップ 16 |
network network-number [{ mask | / preix-length } [ secondary ]]
Router(dhcp-config)# network 10.10.0.0 255.255.0.0 secondary
|
(任意)セカンダリ DHCP サーバ アドレス プールのネットワーク番号およびマスクを指定します。 • DHCP サーバ アドレス プールには、任意の数のセカンダリ サブネットを追加できます。 • このコマンドの実行中、コンフィギュレーション モードが DHCP プールのセカンダリ サブネットのコンフィギュレーション モードに変化します。これは(config-dhcp-subnet-secondary)# プロンプトで識別されます。このモードで、管理者はサブネット固有のデフォルト ルータのリストを設定できます。 • DHCP セカンダリ サブネットを持つループバック インターフェイスでセカンダリ IP アドレスを使用している場合は、「トラブルシューティングのヒント」を参照してください。 |
ステップ 17 |
override default-router address [ address2 ... address8 ]
Router(config-dhcp-subnet-secondary)# override default-router 10.10.0.100 10.10.0.101
|
(任意)このセカンダリ サブネットから DHCP クライアントに IP アドレスを割り当てるときに使用するデフォルト ルータのリストを指定します。 • このサブネット固有のオーバーライド値が設定されている場合、サブネットから IP アドレスを割り当てるときにこの値が使用されます。ネットワーク全体のデフォルト ルータのリストは、プライマリ サブネットにゲートウェイ ルータを設定するためにだけ使用されます。 • このサブネット固有のオーバーライド値が指定されていない場合は、サブネットから IP アドレスを割り当てるときにネットワーク全体のデフォルト ルータのリストが使用されます。 • 設定例については、「連続していない複数のサブネットを使用した DHCP アドレス プールの設定:例」を参照してください。 |
ステップ 18 |
override utilization high percentage-numer
Router(config-dhcp-subnet-secondary)# override utilization high 60
|
(任意)サブネット サイズの高利用マークを設定します。 • このコマンドは、 utilization mark high グローバル コンフィギュレーション コマンドで指定されているグローバル デフォルト設定をオーバーライドします。 |
ステップ 19 |
override utilization low percentage-number
Router(config-dhcp-subnet-secondary)# override utilization low 40
|
(任意)サブネット サイズの低利用マークを設定します。 • このコマンドは、 utilization mark low グローバル コンフィギュレーション コマンドで指定されているグローバル デフォルト設定をオーバーライドします。 |
ステップ 20 |
end
Router(config-dhcp-subnet-secondary)# end |
特権 EXEC モードに戻ります。 |
トラブルシューティングのヒント
単一ループバック インターフェイスでセカンダリ IP アドレスを使用し、DHCP プールでセカンダリ サブネットを使用している場合、セカンダリ サブネットごとに 1 つのプールを使用するのではなく、1 つの DHCP プールを使用してすべてのセカンダリ サブネットのネットワークを設定します。 network network-number [{ mask | / prefix-length } [ secondary ]] コマンドは、 複数の DHCP アドレス プールでなく、単一の DHCP アドレス プールで設定する必要があります。
次に、正しい設定例を示します。
network 172.16.1.0 255.255.255.0
network 172.16.2.0 255.255.255.0 secondary
network 172.16.3.0 255.255.255.0 secondary
network 172.16.4.0 255.255.255.0 secondary
ip address 172.16.1.1 255.255.255.255 secondary
ip address 172.16.2.1 255.255.255.255 secondary
ip address 172.16.3.1 255.255.255.255 secondary
ip address 172.16.4.1 255.255.255.255 secondary
次に、正しくない設定例を示します。
network 172.16.1.0 255.255.255.0
network 172.16.2.0 255.255.255.0
network 172.16.3.0 255.255.255.0
network 172.16.4.0 255.255.255.0
ip address 172.16.1.1 255.255.255.255 secondary
ip address 172.16.2.1 255.255.255.255 secondary
ip address 172.16.3.1 255.255.255.255 secondary
ip address 172.16.4.1 255.255.255.255 secondary
DHCP アドレス プール設定の検証
DHCP アドレス プールの設定を検証するには、次の作業を行います。次の show コマンドは、特定の順序で入力する必要はありません。
手順の概要
1. enable
2. show ip dhcp pool [name]
3. show ip dhcp binding [address]
4. show ip dhcp conflict [address]
5. show ip dhcp database [url]
6. show ip dhcp server statistics [type number]
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
show ip dhcp pool [ name ]
Router# show ip dhcp pool |
(任意)DHCP アドレス プールに関する情報を表示します。 |
ステップ 3 |
show ip dhcp binding [ address ]
Router# show ip dhcp binding |
(任意)特定の DHCP サーバに作成されているすべてのバインディングのリストを表示します。 • show ip dhcp binding コマンドを使用すると、すでに割り当てられている IP アドレスが表示されます。アドレス プールに空きがあることを確認します。必要に応じて、プールを再作成してより大きいアドレス プールを作成します。 • show ip dhcp binding コマンドを使用して、ホストの IP アドレスのリース有効期限の日時を表示します。 |
ステップ 4 |
show ip dhcp conflict [ address ]
Router# show ip dhcp conflict |
(任意)アドレス競合のリストをすべて表示します。 |
ステップ 5 |
show ip dhcp database [ url ]
Router# show ip dhcp database |
(任意)DHCP データベース上の最近のアクティビティを表示します。 |
ステップ 6 |
show ip dhcp server statistics [ type-number ]
Router# show ip dhcp server statistics |
(任意)サーバの統計情報に関するカウント情報および送受信したメッセージを表示します。 |
手動バインディングの設定
手動バインディングを設定するには、次の作業を行います。
アドレス バインディング
アドレス バインディングとは、クライアントの IP アドレスおよび MAC アドレス間のマッピングです。クライアントの IP アドレスは、管理者が手動で割り当てることも、DHCP サーバによってプールから自動的に割り当てることもできます。
手動バインディングでは、DHCP データベースで検出されたホストの MAC アドレスに IP アドレスを手動でマッピングします。手動バインディングは、DHCP サーバの NVRAM に保存されます。手動バインディングは単なる特殊なアドレス プールです。手動バインディングの数に制限はありませんが、1 つのホスト プールに設定できる手動バインディングは 1 つだけです。
自動バインディングとは、DHCP データベースで検出されたホストの MAC アドレスに自動的にマッピングされた IP アドレスです。バインディングは DHCP サーバの揮発性メモリに保存されるため、電源障害やその他の理由でルータがリロードする状況が発生した場合、バインディング情報は失われます。このような状況で自動バインディング情報が失われないようにするには、DHCP データベース エージェントと呼ばれるリモート ホストに自動バインディング情報のコピーを保存します。バインディングは定期的にデータベース エージェントに書き込まれます。ルータがリロードすると、バインディングはデータベース エージェントから DHCP サーバの DHCP データベースに再び読み込まれます。
(注) シスコではデータベース エージェントを使用することを強く推奨します。ただし、Cisco IOS DHCP サーバはデータベース エージェントがなくても動作します。
一部の DHCP クライアントは DHCP パケットでクライアント ID(DHCP Option 61)を送信します。このようなクライアントに手動バインディングを設定するには、DHCP プール コンフィギュレーション コマンドの client-identifier を、DHCP クライアントを識別する適切な 16 進値とともに入力する必要があります。クライアント ID オプションを送信しないクライアントに手動バインディングを設定するには、DHCP プール コンフィギュレーション コマンドの hardware-address を、クライアントの適切な 16 進ハードウェア アドレスとともに入力する必要があります。
Cisco IOS Release 12.4(22)T 以降のリリースでは、DHCP サーバは手動バインディングが設定されているクライアントに無期限のリース時間を送信します。
制約事項
DHCP プール コンフィギュレーション モードで network コマンドを使用して設定したプールと同一プール内に手動バインディングは設定できません。DHCP アドレス プールと network コマンドの詳細については、「DHCP アドレス プールの設定」を参照してください。
手順の概要
1. enable
2. configure terminal
3. ip dhcp pool pool-name
4. host address [ mask | / prefix-length ]
5. client-identifier unique-identifier
6. hardware-address hardware-address [ protocol-type | hardware-number ]
7. client-name name
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip dhcp pool pool-name
Router(config)# ip dhcp pool pool1 |
DHCP サーバのアドレス プールの名前を作成し、DHCP プール コンフィギュレーション モードを開始します。 |
ステップ 4 |
host address [ mask | / prefix-length ]
Router(dhcp-config)# host 172.16.0.1 |
クライアントの IP アドレスおよびサブネット マスクを指定します。 • 手動バインディングの数に制限はありませんが、1 つのホスト プールに設定できる手動バインディングは 1 つだけです。 |
ステップ 5 |
client-identifier unique-identifier
Router(dhcp-config)# client-identifier 01b7.0813.8811.66 |
DHCP クライアントに一意の ID を指定します。 • このコマンドは DHCP 要求で使用されます。 • DHCP クライアントにはクライアント ID が必要です。クライアントの一意の ID は、ドット付き 16 進表記で指定されます。たとえば、01b7.0813.8811.66 では、01 がイーサネットのメディア タイプを表します。 • DHCP クライアントのクライアント ID を判別する詳細については、「トラブルシューティングのヒント」を参照してください。 (注) ここで指定する ID は、パケットでクライアント ID を送信する DHCP クライアント ID を想定しています。 |
ステップ 6 |
hardware-address hardware-address [ protocol-type | hardware-number ]
Router(dhcp-config)# hardware-address b708.1388.f166 ethernet |
クライアントのハードウェア アドレスを指定します。 • このコマンドは BOOTP 要求で使用されます。 (注) ここで指定するハードウェア アドレスは、パケットでクライアント ID を送信しない DHCP クライアントのアドレスを想定しています。 |
ステップ 7 |
client-name name
Router(dhcp-config)# client-name client1 |
(任意)クライアントの名前を、任意の標準 ASCII 文字で指定します。 • クライアント名にドメイン名を含めることはできません。たとえば、 client1 という名前を、 client1.cisco.com とは指定できません。 |
トラブルシューティングのヒント
debug ip dhcp server packet コマンドを使用するとクライアント ID を判別できます。次の例では、クライアントは 0b07.1134.a029 という値で識別されます。
Router# debug ip dhcp server packet
DHCPD:DHCPDISCOVER received from client 0b07.1134.a029 through relay 10.1.0.253.
DHCPD:assigned IP address 10.1.0.3 to client 0b07.1134.a029.
DHCP スタティック マッピングの設定
DHCP のスタティック マッピング機能を使用すると、カスタマー作成のテキスト ファイルを DHCP サーバが読み取る手動バインディングを行って多数のホスト プールを作成しなくても、スタティック IP アドレスを割り当てることができます。この機能の利点は、長いコンフィギュレーション ファイルが不要になることで、NVRAM がアドレス プールを維持するために必要な領域を減らすことができる点です。
ここでは、次の作業について説明します。
• 「スタティック マッピング テキスト ファイルを読み取る DHCP サーバ設定」(必須)
DHCP データベース
DHCP データベースには、バインディングと呼ばれる、クライアントの IP アドレスとハードウェア アドレス間のマッピングが含まれています。バインディングには、単一のハードウェア アドレスを単一の IP アドレスにマッピングする手動バインディングと、ハードウェア アドレスを IP アドレスのプールから IP アドレスにダイナミックにマッピングする自動バインディングの 2 種類があります。手動(別名スタティック)バインディングは、ルータ上に別々に直接設定することも、DHCP スタティック マッピング機能を使用して設定することもできます。これらのスタティック バインディングは個別のスタティック マッピング テキスト ファイルから読み取ることができます。スタティック マッピング テキスト ファイルは、ルータのリロード時または DHCP サービスが再起動したときに読み取られます。このファイルは読み取り専用です。
スタティック バインディングの読み取りは、次の点において手動バインディングと同じように扱われます。
• クライアントからの DHCPRELEASE を通じて維持される。
• タイムアウトしない。
• プールが削除された場合に限り削除される。
• プールに含まれているアドレスが適切に除外される。除外するアドレスは読み取りの時点で作成されます。
自動バインディングおよび手動バインディングと同様、スタティック マッピング テキスト ファイルからのスタティック バインディングも、 show ip dhcp binding コマンドを使用して表示されます。
スタティック マッピング テキスト ファイル
スタティック マッピング テキスト ファイルを作成するには、次の作業を行います。テキスト ファイルにアドレスを入力すると、アドレスは DHCP サーバが読み取るために DHCP データベースに保存されます。ファイルに入力するアドレスの数に制限はありません。このファイルのファイル形式には次の要素があります。
• ファイルが作成された時刻
• データベースのバージョン番号
• IP アドレス
• ハードウェア タイプ
• ハードウェア アドレス
• リースの有効期限
• ファイル終了の指定子
テキスト ファイル形式の詳細については、 表 1 を参照してください。
次に、スタティック マッピング テキスト ファイルの例を示します。
*time* Jan 21 2005 03:52 PM
!IP address Type Hardware address Lease expiration
10.0.0.4 /24 1 0090.bff6.081e Infinite
10.0.0.5 /28 id 00b7.0813.88f1.66 Infinite
10.0.0.2 /21 1 0090.bff6.081d Infinite
表 1 スタティック マッピング テキスト ファイルのフィールドの説明
|
|
*time* |
ファイルが作成された時刻を指定します。このフィールドを使用すると、複数のエージェントが設定されている場合に、DHCP が新旧のデータベースを区別できます。時刻の有効な形式は、Mm dd yyyy hh:mm AM/PM です。 |
*version* 2 |
データベースのバージョン番号。 |
IP address |
スタティック IP アドレス。サブネット マスクが指定されていない場合は、IP アドレスに従って元のマスクが予測されます。IP アドレスとマスクの間には 1 つのスペースが必要です。 |
Type |
ハードウェア タイプを指定します。たとえば、タイプ「1」はイーサネットを表します。タイプ「id」は、このフィールドが DHCP クライアントの ID であることを示します。正規の値は、 http://www.iana.org/assignments/arp-parameters の「Number Hardware Type」のリストからオンラインで入手できます。 |
Hardware address |
ハードウェア アドレスを指定します。 タイプが数字のときは、ハードウェア メディアであることを意味します。正規の値は、 http://www.iana.org/assignments/arp-parameters の「Number Hardware Type」のリストからオンラインで入手できます。 タイプが「id」のときは、クライアント ID との照合が行われることを意味します。 クライアント ID の詳細については、RFC 2132 の 9.14 項「 DHCP Options and BOOTP Vendor Extensions 」( http://www.ietf.org/rfc/rfc2132.txt )または、 client-identifier コマンド リファレンス ページ( http://www.cisco.com/en/US/docs/ios/ipaddr/command/reference/iad_dhc1.html#wp1011901 )を参照してください。 照合に使用するクライアント ID が不明な場合は、 debug dhcp detail コマンドを使用して、クライアントから DHCP サーバに送信されているクライアント ID を表示します。 |
Lease expiration |
リースの有効期限を指定します。「Infinite」は、リース期間が無期限であることを指定します。 |
*end* |
ファイルの終端。DHCP は *end* 指定子を使用してファイルの切り捨てを検出します。 |
スタティック マッピング テキスト ファイルを読み取る DHCP サーバ設定
スタティック マッピング テキスト ファイルを読み取る DHCP サーバを設定するには、次の作業を行います。
前提条件
管理者は、この作業を行う前に、正しい形式でスタティック マッピング テキスト ファイルを作成し、アドレス プールを設定する必要があります。
ファイルを編集する前に、 no service dhcp コマンドを使用して DHCP サーバをディセーブルにする必要があります。
制約事項
スタティック バインディングは DHCPRELEASE を受信しても削除されず、また、DHCP タイマーによってタイムアウトもされません。スタティック バインディングは、 ip dhcp pool コマンドを使用して作成される手動バインディングと同様に扱われる必要があります。
手順の概要
1. enable
2. configure terminal
3. ip dhcp pool name
4. origin file url
5. end
6. show ip dhcp binding [ address ]
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip dhcp pool name
Router(config)# ip dhcp pool pool1 |
DHCP プールに名前を割り当て、DHCP コンフィギュレーション モードを開始します。 コマンドを使用して再び読み取る必要があります。 |
ステップ 4 |
origin file url
Router(dhcp-config)# origin file tftp://10.1.0.1/static-bindings |
DHCP サーバがテキスト ファイルを検索できる URL を指定します。 |
ステップ 5 |
end
Router(dhcp-config)# end |
特権 EXEC モードに戻ります。 |
ステップ 6 |
show ip dhcp binding [ address ]
Router# show ip dhcp binding |
(任意)特定の DHCP サーバに作成されているすべてのバインディングのリストを表示します。 |
例
次に、設定されているアドレス バインディングを表示する例を示します。
Router# show ip dhcp binding
00:05:14:%SYS-5-CONFIG_I: Configured from console by console
Bindings from all pools not associated with VRF:
IP address Client-ID/ Ls expir Type Hw address User name
10.9.9.4/8 0063.7363.2d30.3036. Infinite Static 302e.3762.2e39.3634. 632d.4574.8892.
10.9.9.1/24 0063.6973.636f.2d30. Infinite Static 3036.302e.3437.3165. 2e64.6462.342d.
次に、スタティック マッピング テキスト ファイルの各エントリを表示する例を示します。
*time* Jan 21 2005 22:52 PM
!IP address Type Hardware address Lease expiration
10.19.9.1 /24 id 0063.6973.636f.2d30.3036.302e.3437
10.9.9.4 id 0063.7363.2d30.3036.302e.3762.2e39.3634.632d Infinite
次に、TFTP サーバから読み取るスタティック マッピング テキスト ファイルを表示するデバッグ出力の例を示します。
Router# debug ip dhcp server
Loading abc/static_pool from 10.19.192.33 (via Ethernet0):
*May 26 23:14:21.259: DHCPD: contacting agent tftp://10.19.192.33/abc/static_pool (attempt 0)
*May 26 23:14:21.467: DHCPD: agent tftp://10.19.192.33/abc/static_pool is responding.
*May 26 23:14:21.467: DHCPD: IFS is ready.
*May 26 23:14:21.467: DHCPD: reading bindings from tftp://10.19.192.33/abc/static_pool.
*May 26 23:14:21.707: DHCPD: read 333 / 1024 bytes.
*May 26 23:14:21.707: DHCPD: parsing text line
*time* Apr 22 2002 11:31 AM
*May 26 23:14:21.707: DHCPD: parsing text line ““
*May 26 23:14:21.707: DHCPD: parsing text line
!IP address Type Hardware address Lease expiration
*May 26 23:14:21.707: DHCPD: parsing text line
“10.9.9.1 /24 id 0063.6973.636f.2d30.3036.302e.3437”
*May 26 23:14:21.707: DHCPD: creating binding for 10.9.9.1
*May 26 23:14:21.707: DHCPD: Adding binding to radix tree (10.9.9.1)
*May 26 23:14:21.707: DHCPD: Adding binding to hash tree
*May 26 23:14:21.707: DHCPD: parsing text line
“10.9.9.4 id 0063.7363.2d30.3036.302e.3762.2e39.3634.632d”
*May 26 23:14:21.711: DHCPD: creating binding for 10.9.9.4
*May 26 23:14:21.711: DHCPD: Adding binding to radix tree (10.9.9.4)
*May 26 23:14:21.711: DHCPD: Adding binding to hash tree
*May 26 23:14:21.711: DHCPD: parsing text line “Infinite”
*May 26 23:14:21.711: DHCPD: parsing text line “”
*May 26 23:14:21.711: DHCPD: parsing text line
!IP address Interface-index Lease expiration VRF
*May 26 23:14:21.711: DHCPD: parsing text line “*end*”
*May 26 23:14:21.711: DHCPD: read static bindings from tftp://10.19.192.33/abcemp/static_pool.
DHCP サーバの動作のカスタマイズ
DHCP サーバの動作をカスタマイズするには、次の作業を行います。
ping パケットの設定
DHCP サーバはデフォルトで、要求しているクライアントに特定のアドレスを割り当てる前に、1 つのプール アドレスに ping を 2 回送信します。ping の応答がない場合、DHCP サーバは、このアドレスが未使用である可能性が高いと見なして、要求しているクライアントにアドレスを割り当てます。
デフォルトでは、DHCP サーバは ping パケットのタイムアウト前に 2 秒間待機します。
All BOOTP 要求を無視するオプション
受信した Bootstrap Protocol(BOOTP; ブートストラップ プロトコル)要求を無視して応答しないように DHCP サーバを設定できます。この機能は、BOOTP クライアントと DHCP クライアントがネットワーク セグメントに混在し、サービスを提供する BOOTP サーバと Cisco IOS DHCP サーバがネットワーク セグメントにある場合に便利です。BOOTP サーバには BOOTP クライアントのスタティック バインディングが設定され、BOOTP クライアントは自分のアドレスを BOOTP サーバから取得します。ただし、DHCP サーバでも BOOTP 要求に応答できるため、DHCP サーバからアドレスが提供される場合があります。DHCP サーバからアドレスが提供されると、BOOTP クライアントは BOOTP サーバからのアドレスではなく、DHCP サーバからのアドレスで起動します。DHCP サーバに BOOTP 要求を無視するように設定するということは、BOOTP クライアントが BOOTP サーバからアドレス情報を受け取ることを意味し、DHCP サーバからアドレスを不用意に受け取ることがなくなります。
ip helper-address インターフェイス コンフィギュレーション コマンドが着信インターフェイス上に設定されている場合、Cisco IOS ソフトウェアは、これらの無視された BOOTP 要求パケットを別の DHCP サーバに転送できます。
手順の概要
1. enable
2. configure terminal
3. ip dhcp ping packets number
4. ip dhcp ping timeout milliseconds
5. ip dhcp bootp ignore
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip dhcp ping packets number
Router(config)# ip dhcp ping packets 5 |
(任意)要求しているクライアントに DHCP サーバがアドレスを割り当てる前に、サーバからアドレス プールに送信する ping パケットの数を指定します。 • デフォルトは 2 パケットです。引数 number を値 0 に設定すると、DHCP サーバの ping 動作は完全にディセーブルになります。 |
ステップ 4 |
ip dhcp ping timeout milliseconds
Router(config)# ip dhcp ping timeout 850 |
(任意)アドレス プールからの ping 応答を DHCP サーバが待機する時間の長さを指定します。 |
ステップ 5 |
ip dhcp bootp ignore
Router(config)# ip dhcp bootp ignore |
(任意)受信した BOOTP 要求を DHCP サーバが選択的に無視して応答しないようにできます。 • ip dhcp bootp ignore コマンドは、ルータ上に設定されているすべての DHCP プールに適用されます。DHCP プール単位で選択的に BOOTP 要求を無視することはできません。 |
DHCP サーバ オプションを集中管理 DHCP サーバからインポートするためのリモート ルータの設定
Cisco IOS DHCP サーバは、Customer Premises Equipment(CPE; 加入者宅内機器)が接続するローカル クライアントからの DHCP 要求に応じて、DNS アドレスおよび WINS アドレスなどのオプションをダイナミックに設定できます。以前は、ネットワーク管理者がデバイスごとに Cisco IOS DHCP サーバを手動で設定する必要がありました。現在は、Cisco IOS DHCP サーバが拡張され、設定情報を自動的に更新できるようになりました。ネットワーク管理者は、1 つ以上の集中管理 DHCP サーバに対し、DHCP プール内の特定の DHCP オプションを更新するように設定できます。リモート サーバは、集中管理サーバにこれらのオプションのパラメータを要求したり、集中管理サーバから「インポート」したりできます。
ここでは、次の作業について説明します。
• 「DHCP オプションを更新するための集中管理 DHCP サーバ設定」
• 「DHCP オプションをインポートするためのリモート ルータの設定」
DHCP オプションを更新するための集中管理 DHCP サーバ設定
DHCP オプションを更新するように集中管理 DHCP サーバを設定するには、次の作業を行います。
手順の概要
1. enable
2. configure terminal
3. ip dhcp pool pool-name
4. network network-number [ mask | / prefix-length ]
5. dns-server address [ address2 ... address8 ]
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip dhcp pool name
Router(config)# ip dhcp pool 1 |
DHCP サーバ アドレス プールの名前を作成し、DHCP プール コンフィギュレーション モードを開始します。 |
ステップ 4 |
network network-number [ mask | / prefix-length ]
Router(dhcp-config)# network 172.16.0.0 /16 |
DHCP アドレス プールのサブネット ネットワーク番号およびマスクを指定します。 |
ステップ 5 |
dns-server address [ address2 ... address8 ]
Router(dhcp-config)# dns server 172.16.1.103 172.16.2.103 |
(任意)DHCP クライアントが利用可能な DNS サーバの IP アドレスを指定します。 • 少なくとも 1 つの IP アドレスを指定する必要がありますが、1 行のコマンド ラインに最大 8 つの IP アドレスを指定できます。 • サーバは優先順位の高い順に一覧表示されます。 |
DHCP オプションをインポートするためのリモート ルータの設定
集中管理 DHCP サーバからリモート ルータが DHCP オプションをインポートするように設定するには、次の作業を行います。
手順の概要
1. enable
2. configure terminal
3. ip dhcp pool pool-name
4. network network-number [ mask | / prefix-length ]
5. import all
6. exit
7. interface type number
8. ip address dhcp
9. end
10. show ip dhcp import
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip dhcp pool pool-name
Router(config)# ip dhcp pool pool1 |
DHCP サーバ アドレス プールの名前を作成し、DHCP プール コンフィギュレーション モードを開始します。 |
ステップ 4 |
network network-number [ mask | / prefix-length ]
Router(dhcp-config)# network 172.30.0.0 /16 |
DHCP アドレス プールのサブネット ネットワーク番号およびマスクを指定します。 |
ステップ 5 |
import all
Router(dhcp-config)# import all |
DHCP オプション パラメータを DHCP サーバ データベースにインポートします。 |
ステップ 6 |
exit
Router(dhcp-config)# exit |
DHCP プール コンフィギュレーション モードを終了します。 |
ステップ 7 |
interface type number
Router(config)# interface FastEthernet 0/0 |
インターフェイスを設定し、インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 8 |
ip address dhcp
Router(config-if)# ip address dhcp |
インターフェイスが DHCP を通じて IP アドレスを取得するように指定します。 |
ステップ 9 |
end
Router(config-if)# end |
特権 EXEC モードに戻ります。 |
ステップ 10 |
show ip dhcp import
Router# show ip dhcp import |
集中管理 DHCP サーバからインポートされたオプションを表示します。 |
Option 82 の機能設計を使用した DHCP アドレスの割り当て
DHCP は、TCP/IP ネットワーク上のホストに設定情報を渡すフレームワークを提供します。設定パラメータと他の制御情報は、DHCP メッセージのオプション フィールドに格納されたタグ付きデータ項目で伝送されます。データ項目自体もオプションと呼ばれます。Option 82 は、リレー エージェントに認識される情報が含まれた単一の DHCP オプションとして構成されます。
この機能は、Cisco IOS DHCP サーバがクライアントに割り当てる IP アドレスを Option 82 情報を使用して判別するために役立つよう設計されています。Option 82 を介して送信される情報は、DHCP 要求が着信したポートを識別するために使用されます。この機能は、Option 82 内に含まれている個々のサブオプションについては解析しません。代わりに、設定されたパターンをバイト単位で照合して、アドレスを割り当てます。
この機能には、DHCP クラスの新機能が導入されています。これは、クライアントが常駐するサブネットではなく、一定の共通の特性に基づいて DHCP クライアントをグループ化するための方法です。
Option 82 を使用した DHCP アドレス割り当ての例
例として、単一のスイッチの 2 つのポートに DHCP クライアントが接続しています。それぞれのポートは、VLAN1 および VLAN2 という、2 つの VLAN の一部として設定できます。DHCP クライアントは、VLAN1 または VLAN2 のいずれかに属し、特定の DHCP Discover メッセージが属している VLAN を(多くの場合レイヤ 2 のカプセル化を通じて)スイッチで区別できると見なされます。それぞれの VLAN は固有のサブネットを持ち、同一 VLAN(同一スイッチ)から送信されるすべての DHCP メッセージには、VLAN のサブネットを表す同一値が設定されている giaddr フィールドがあります。
問題は、VLAN1 のポート 1 に接続する DHCP クライアントには VLAN のサブネット内の 1 つの範囲から IP アドレスを割り当てる必要があり、VLAN1 のポート 2 に接続する DHCP クライアントには、別の範囲から IP アドレスを割り当てる必要があることです。この 2 つの IP アドレス範囲は両方とも、同じサブネットの一部であり、同じサブネット マスクを持ちます。通常の DHCP アドレス割り当てでは、DHCP サーバは giaddr フィールドだけを調べるため、2 つの範囲を区別することはできません。
この問題を解決するために、スイッチに常駐するリレー エージェントはリレー情報オプション(Option 82)を挿入して、そのポートに特有の情報が伝達されるようにします。DHCP サーバは、アドレス選択プロセスの間、giaddr フィールドと挿入された Option 82 の両方を検査する必要があります。
DHCP クラスの機能
Cisco IOS ソフトウェアは、IP アドレス(giaddr または着信インターフェイスの IP アドレス)をもとにプールを検索してから、プールに設定されている 1 つ以上のクラスと要求を、DHCP プールに指定されたクラスの順序に従って照合します。
1 つの DHCP アドレス プールに 1 つ以上の DHCP クラスが設定されている場合、このプールはアクセスが制限されたプールになります。これは、クラスの 1 つ以上がプールで一致した場合を除き、このプールからはアドレスが割り当てられないことを意味します。この設計により、DHCP クラスを使用して、アクセスを制御したり(プールにデフォルト クラスを設定しない)、より多くのアドレス範囲パーティションをプールのサブネットに提供したりできます。
複数のプールを同じクラスで設定できるため、複数のプールに同じパターンを設定する必要はありません。
DHCP のクラスベースのアドレス割り当てでサポートされている機能は次のとおりです。
• 新規リレー エージェント情報コンフィギュレーション モードで relay-information hex コマンドを使用して、フル リレー エージェント情報オプション値を 16 進の raw 文字列として指定。
• リレー情報の 16 進 raw 値のビットマスキング サポート。
• relay-information hex コマンドを使用して指定した、16 進文字列の末尾のワイルドカードのサポート。
Option 82 を使用した DHCP アドレス割り当ての制限事項
リレー エージェントが DHCP パケットに Option 82 を挿入しても giaddr フィールドを設定しない場合、 ip dhcp relay information trusted グローバル コンフィギュレーション コマンドを使用して、DHCP サーバ インターフェイスを信頼されたインターフェイスとして設定する必要があります。この設定を行うと、サーバで DHCP メッセージが削除されることがなくなります。
DHCP アドレス割り当てにおける Option 82 のイネーブル化
デフォルトでは、Cisco IOS DHCP サーバは Option 82 で提供された情報を使用して IP アドレスを割り当てることができます。この機能がディセーブルに設定されている場合に再度イネーブルにするには、このセクションで説明されている作業を行います。
手順の概要
1. enable
2. configure terminal
3. ip dhcp use class
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip dhcp use class
Router(config)# ip dhcp use class |
アドレスの割り当てに DHCP クラスを使用するかどうかを制御します。 • この機能は、デフォルトでイネーブルにされています。 • このコマンドの no 形式を使用すると、DHCP クラスの設定を削除しなくてもこの機能がディセーブルになります。 |
トラブルシューティングのヒント
DHCP クラスがプールに設定されているにもかかわらず DHCP サーバがクラスを使用していない場合は、 no ip dhcp use class コマンドが設定されているかどうかを確認します。
DHCP クラスおよびリレー エージェント情報パターンの定義
DHCP クラスおよびリレー エージェント情報パターンを定義するには、次の作業を行います。
前提条件
relay-information hex コマンドを設定できるようにするには、Option 82 の各バイト位置を示す 16 進値を把握している必要があります。Option 82 の形式は製品によって異なる場合があります。この情報については、リレー エージェントのベンダーにお問い合わせください。
手順の概要
1. enable
2. configure terminal
3. ip dhcp class class-name
4. relay agent information
5. relay-information hex pattern [ * ] [ bitmask mask ]
6. 設定が必要な DHCP クラスごとにステップ 3 ~ 5 を繰り返します。
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip dhcp class class-name
Router(config)# ip dhcp class CLASS1 |
DHCP クラスを定義し、DHCP クラス コンフィギュレーション モードを開始します。 |
ステップ 4 |
relay agent information
Router(dhcp-class)# relay agent information |
リレー エージェント情報オプション コンフィギュレーション モードを開始します。 • この手順を省略すると、DHCP クラスは、リレー エージェント情報オプションが存在するかどうかにかかわらず、すべてのリレー エージェント情報オプションに一致します。 |
ステップ 5 |
relay-information hex pattern [*] [ bitmask mask ]
Router(dhcp-class-relayinfo)# relay-information hex 01030a0b0c02050000000123 |
(任意)フル リレー情報オプションの 16 進値を指定します。 • pattern 引数を指定すると、DHCP クラスとの照合で使用するパターンが作成されます。 • この手順を省略すると、パターンは設定されず、すべてのリレー エージェント情報オプション値に一致すると見なされます。ただし、リレー情報オプションは DHCP パケット内に存在する必要があります。 • DHCP クラスには複数の relay-information hex コマンドを設定できます。 |
ステップ 6 |
設定が必要な DHCP クラスごとにステップ 3 ~ 5 を繰り返します。 |
-- |
トラブルシューティングのヒント
debug ip dhcp server class コマンドを使用して、クラス照合の結果を表示します。
DHCP アドレス プールの定義
DHCP アドレス プールを定義するには、次の作業を行います。
手順の概要
1. enable
2. configure terminal
3. ip dhcp pool name
4. network network-number [ mask | / prefix-length ]
5. class class-name
6. address range start-ip end-ip
7. DHCP プールに関連付ける必要がある DHCP クラスごとにステップ 5 と 6 を繰り返します。
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip dhcp pool name
Router# ip dhcp pool ABC |
Cisco IOS DHCP サーバに DHCP アドレス プールを設定し、DHCP プール コンフィギュレーション モードを開始します。 • 複数のプールを同じクラスで設定できるため、複数のプールに同じパターンを設定する必要はありません。 |
ステップ 4 |
network network-number [ mask | / prefix-length ]
Router(dhcp-config)# network 10.0.20.0 |
Cisco IOS DHCP サーバの DHCP アドレス プールに、サブネットの番号およびマスクを設定します。 |
ステップ 5 |
class class-name
Router(dhcp-config)# class CLASS1 |
クラスをプールに関連付け、DHCP プール クラス コンフィギュレーション モードを開始します。 • DHCP クラスが定義されていない場合は、このコマンドで DHCP クラスも作成されます。 |
ステップ 6 |
address range start-ip end-ip
Router(dhcp-pool-class)# address range 10.0.20.1 10.0.20.100 |
(任意)DHCP サーバのアドレス プールに DHCP クラスのアドレス範囲を設定します。 • このコマンドがクラスに設定されていない場合、デフォルト値はプールのサブネット全体になります。 |
ステップ 7 |
DHCP プールに関連付ける必要がある DHCP クラスごとにステップ 5 と 6 を繰り返します。 |
DHCP プールの各クラスの一致は、設定された順序で検証されます。 |
DHCP を通じてダイナミックに取得されるネクスト ホップを使用したスタティック ルートの設定
DHCP のデフォルト ゲートウェイをネクスト ホップ ルータとして使用するためのスタティック ルートを設定するには、次の作業を行います。
この作業により、DHCP のデフォルト ゲートウェイをネクスト ホップ ルータとして使用してスタティック ルートを割り当てることができます。DHCP のアドレス割り当てが実行されるまでゲートウェイの IP アドレスはわからないため、今回この機能が導入されるまではこの作業を行うことはできませんでした。スタティック ルートは、DHCP から提供されるアドレスを使用した Command-Line Interface(CLI; コマンドライン インターフェイス)では設定できませんでした。
デフォルト ゲートウェイが DHCP サーバで割り当てられると、スタティック ルートがルーティング テーブルにインストールされます。DHCP のリースが期限切れになるまではこのルートはルーティング テーブルにとどまり、リースが期限切れになると削除されます。
DHCP クライアントがアドレスをリリースすると、対応するスタティック ルート( ip route コマンドで設定されたルート)はルーティング テーブルから自動的に削除されます。DHCP ルータのオプション(DHCP パケットの Option 3)がクライアントの更新中に変更された場合、DHCP のデフォルト ゲートウェイは、この更新で提供される新しい IP アドレスに切り替わります。
この機能は、Dynamic Multipoint VPN(DMVPN; ダイナミック マルチポイント VPN)などの VPN を展開する場合に特に便利です。この機能は、Multipoint Generic Routing Encapsulation(mGRE; マルチポイント総称ルーティング カプセル化)トンネルなどの非物理インターフェイスがルータに設定されている場合や、特定のトラフィックをトンネル インターフェイスを通過しないようにする必要がある場合にも有効です。
前提条件
すべての DHCP クライアントとサーバの設定手順を確認します。DHCP クライアントとサーバが DHCP ルータの Option 3 を提供するように適切に定義されていることを確認します。
制約事項
• DHCP クライアントが IP アドレスまたはデフォルト ルータの IP アドレスを取得できない場合、スタティック ルートはルーティング テーブルにインストールされません。
• リースが期限切れになり、DHCP クライアントがアドレスを更新できない場合は、このクライアントに割り当てられている DHCP IP アドレスはリリースされ、関連付けられている任意のスタティック ルートがルーティング テーブルから削除されます。
手順の概要
1. enable
2. configure terminal
3. ip route prefix mask { ip- address | interface-type interface-number [ ip-address ]} dhcp [ distance ]
4. end
5. show ip route
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip route prefix mask {ip-address | interface-type interface-number [ip-address]} dhcp [distance]
Router(config)# ip route 209.165.200.225 255.255.255.255 dhcp |
IP アドレスを取得するために DHCP サーバにアクセスすると、デフォルトのネクストホップ ルータのスタティック ルートを割り当てます。 • DHCP サーバから IP アドレスを取得するように、複数のインターフェイスがルータに設定されている場合は、インターフェイスごとに、 ip route prefix mask interface-type interface-number dhcp コマンドを実行します。インターフェイスが指定されていない場合は、いずれかのインターフェイスが IP アドレスとデフォルト ルータを取得するとすぐに、ルーティング テーブルにルートが追加されます。 |
ステップ 4 |
end
Router(config)# end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show ip route
Router# show ip route |
(任意)ルーティング テーブルの現在の状態を表示します。 • DHCP クライアントが DHCP サーバからアドレスおよびデフォルト ルータのアドレスを取得した後、割り当てられたスタティック ルートを表示するには、このコマンドを使用します。 |
DHCP サーバ変数のクリア
DHCP サーバ変数をクリアするには、次の作業を行います。
手順の概要
1. enable
2. clear ip dhcp binding { address | *}
3. clear ip dhcp conflict { address | *}
4. clear ip dhcp server statistics
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
clear ip dhcp binding { address | * }
Router# clear ip dhcp binding * |
DHCP データベースから自動アドレス バインディングを削除します。 • address 引数を指定すると、特定の(クライアント)IP アドレスの自動バインディングがクリアされます。アスタリスク( * )を指定するとすべての自動バインディングがクリアされます。 |
ステップ 3 |
clear ip dhcp conflict { address | * }
Router# clear ip dhcp conflict 172.16.1.103 |
DHCP データベースのアドレス競合をクリアします。 • address 引数を指定すると、特定の IP アドレスの競合がクリアされ、アスタリスク( * )を指定するとすべてのアドレスの競合がクリアされます。 |
ステップ 4 |
clear ip dhcp server statistics
Router# clear ip dhcp server statistics |
すべての DHCP サーバのカウンタを 0 にリセットします。 |
Cisco IOS DHCP サーバ設定例
ここでは、次の設定例について説明します。
• 「DHCP データベース エージェントの設定:例」
• 「IP アドレスの除外:例」
• 「DHCP アドレス プールの設定:例」
• 「連続していない複数のサブネットを使用した DHCP アドレス プールの設定:例」
• 「手動バインディングの設定:例」
• 「スタティック マッピングの設定:例」
• 「すべての BOOTP 要求を無視するためのオプションの設定:例」
• 「DHCP オプションのインポート:例」
• 「Option 82 を使用した DHCP アドレス割り当ての設定:例」
• 「DHCP を通じてダイナミックに取得したネクスト ホップを使用したスタティック ルートの設定:例」
DHCP データベース エージェントの設定:例
次に、ホスト 172.16.4.253 へのバインディングの保存方法の例を示します。ファイル転送プロトコルは FTP です。データベースに変更を書き込むまでのサーバの待機時間は 2 分間(120 秒)とします。
ip dhcp database ftp://user:password@172.16.4.253/router-dhcp write-delay 120
IP アドレスの除外:例
次に、サーバ A およびサーバ B がサブネット 10.0.20.0/24 にサービスを提供する例を示します。2 台のサーバ間で均等にサブネットを分割した上で、サーバ A に 10.0.20.1 ~ 10.0.20.125 の IP アドレスを割り当てるように設定し、サーバ B に 10.0.20.126 ~ 10.0.20.254 の IP アドレスを割り当てるように設定します。
サーバ A
ip dhcp excluded-address 10.0.20.126 10.0.20.255
network 10.0.20.0 255.255.255.0
サーバ B
ip dhcp excluded-address 10.0.20.0 10.0.20.125
network 10.0.20.0 255.255.255.0
DHCP アドレス プールの設定:例
次に、ネットワーク 172.16.0.0、サブネットワーク 172.16.1.0、およびサブネットワーク 172.16.2.0 にそれぞれ 1 つずつ計 3 つの DHCP アドレス プールを作成する例を示します。ネットワーク 172.16.0.0 のアトリビュートであるドメイン名、DNS サーバ、NetBIOS ネーム サーバ、NetBIOS ノード タイプは、サブネットワークの 172.16.1.0 および 172.16.2.0 に継承されます。各プールで、クライアントには 30 日間のリース期間が付与されます。各サブネットワークで除外されているアドレス以外のすべてのアドレスは、DHCP サーバがクライアントに割り当てるために使用できます。 表 2 に、3 つの DHCP アドレス プールにある、デバイス用の IP アドレスを一覧で示します。
表 2 DHCP アドレス プールの設定例
|
プール 1(サブネットワーク 172.16.1.0)
|
プール 2(サブネットワーク 172.16.2.0)
|
|
|
|
|
|
|
デフォルト ルータ |
- |
デフォルト ルータ |
172.16.1.100 172.16.1.101 |
デフォルト ルータ |
172.16.2.100 172.16.2.101 |
DNS サーバ |
172.16.1.102 172.16.2.102 |
-- |
-- |
-- |
-- |
NetBIOS ネーム サーバ |
172.16.1.103 172.16.2.103 |
-- |
-- |
-- |
-- |
NetBIOS ノード タイプ |
h-node |
-- |
-- |
-- |
-- |
ip dhcp database ftp://user:password@172.16.4.253/router-dhcp write-delay 120
ip dhcp excluded-address 172.16.1.100 172.16.1.103
ip dhcp excluded-address 172.16.2.100 172.16.2.103
dns-server 172.16.1.102 172.16.2.102
netbios-name-server 172.16.1.103 172.16.2.103
default-router 172.16.1.100 172.16.1.101
default-router 172.16.2.100 172.16.2.101
連続していない複数のサブネットを使用した DHCP アドレス プールの設定:例
DHCP プール内の連続していない複数のサブネットは、次のネットワーク トポロジで使用できます。
• IP アドレス プーリング:DHCP クライアントおよびサーバが同一サブネットに常駐します。
• DHCP リレー:DHCP クライアントおよび DHCP サーバは DHCP リレー エージェント経由で通信します。この場合、リレー インターフェイスはセカンダリ IP アドレスで設定されています。
• 階層構造 DHCP:DHCP サーバは、DHCP サブネット割り当てサーバとして設定され、DHCP クライアントと DHCP サブネット割り当てサーバは、On-demand Address Pool(ODAP; オンデマンド アドレス プール)ルータ経由で通信します。
次に、「pool3」という名前の DHCP アドレス プールが 1 つ作成され、そのプライマリ サブネットに 172.16.0.0/16、セカンダリ サブネットの 1 つに 172.16.1.0/24、別のセカンダリ サブネットに 172.16.2.0/24 がそれぞれ割り当てられる例を示します。
• プライマリ サブネットの IP アドレスに空きがなくなると、DHCP サーバは、サブネットがプールに追加された順にセカンダリ サブネットを検査します。
• DHCP サーバがセカンダリ サブネットの 172.16.1.0/24 から IP アドレスを割り当てるときは、このサーバは、IP アドレス 172.16.1.100 および 172.16.1.101 で構成されるサブネット固有のデフォルト ルータ リストを使用します。ただし、DHCP サーバがサブネット 172.16.2.0/24 から IP アドレスを割り当てるときは、このサーバは、172.16.0.100 ~ 172.16.0.103 までの 4 つの IP アドレスで構成されるプール全体のリストを使用します。
• プライマリ サブネット 172.16.0.0/16 の他のアトリビュートである、ドメイン名、DNS サーバ、NetBIOS ネーム サーバ、NetBIOS ノード タイプなどは、両方のセカンダリ サブネットから継承されます。
• DHCP クライアントには、プールの IP アドレスに対する 30 日間のリース期間が付与されます。各サブネットでは、除外されているアドレス以外のすべてのアドレスは、DHCP サーバがクライアントに割り当てるために使用できます。
表 3 は、3 つの連続していないサブネットで構成される DHCP アドレス プールにあるデバイス用の IP アドレスを一覧で示しています。
表 3 連続していない複数のサブネットを使用した DHCP アドレス プールの設定例
プライマリ サブネット
(172.16.0.0/16)
|
最初のセカンダリ サブネット
(172.16.1.0/24)
|
2 番めのセカンダリ サブネット(172.16.2.0/24)
|
|
|
|
|
|
|
デフォルト ルータ |
172.16.0.100 172.16.0.101 172.16.0.102 172.16.0.103 |
デフォルト ルータ |
172.16.1.100 172.16.1.101 |
デフォルト ルータ |
172.16.0.100 172.16.0.101 172.16.0.102 172.16.0.103 |
DNS サーバ |
172.16.1.102 172.16.2.102 |
-- |
-- |
-- |
-- |
NetBIOS ネーム サーバ |
172.16.1.103 172.16.2.103 |
-- |
-- |
-- |
-- |
NetBIOS ノード タイプ |
h-node |
-- |
-- |
-- |
-- |
ip dhcp database ftp://user:password@172.16.4.253/router-dhcp write-delay 120
ip dhcp excluded-address 172.16.0.100 172.16.1.103
ip dhcp excluded-address 172.16.1.100 172.16.1.101
default-router 172.16.0.100 172.16.2.101 172.16.0.102 172.16.0.103
dns-server 172.16.1.102 172.16.2.102
netbios-name-server 172.16.1.103 172.16.2.103
network 172.16.1.0 /24 secondary
override default-router 172.16.1.100 172.16.1.101
network 172.16.2.0 /24 secondary
手動バインディングの設定:例
次に、DHCP パケットでクライアント ID を送信する example1.cisco.com という名前のクライアントの手動バインディングを作成する例を示します。クライアントの MAC アドレスは 02c7.f800.0422、クライアントの IP アドレスは 172.16.2.254 です。
client-identifier 01b7.0813.8811.66
次に、DHCP パケットでクライアント ID を送信しない example2.cisco.com という名前のクライアントの手動バインディングを作成する例を示します。クライアントの MAC アドレスは 02c7.f800.0422、クライアントの IP アドレスは 172.16.2.253 です。
hardware-address 02c7.f800.0422 ethernet
アトリビュートは継承されるため、上記の 2 つの設定と次に示す設定は同じです。
host 172.16.2.254 255.255.255.0
hardware-address 02c7.f800.0422 ieee802
default-router 172.16.2.100 172.16.2.101
dns-server 172.16.1.102 172.16.2.102
netbios-name-server 172.16.1.103 172.16.2.103
スタティック マッピングの設定:例
次に、DHCP サーバを再起動し、プールを設定し、スタティック マッピング テキスト ファイルの保存先の URL を指定するという一連の操作例を示します。
origin file tftp://10.1.0.1/staticfilename
(注) スタティック マッピング テキスト ファイルは、ルータのフラッシュ メモリにコピーでき、ルータの TFTP プロセスで処理できます。この場合、origin file 行の IP アドレスは、ルータが所有するアドレスでなければならず、ルータの設定に次の 1 行を追加する必要があります。
tftp-server flash static-filename
すべての BOOTP 要求を無視するためのオプションの設定:例
次に、2 つの DHCP プールがルータに設定され、受信するすべての BOOTP 要求を無視するようにルータの DHCP サーバを設定する例を示します。サブネット 10.0.18.0/24 から BOOTP 要求を受信すると、この要求はルータによってドロップされます( ip helper-address コマンドが設定されていないため)。サブネット 192.168.1.0/24 からの BOOTP 要求があった場合、この要求は ip helper-address コマンドを経由して 172.16.1.1 に転送されます。
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
network 192.168.1.0 255.255.255.0
default-router 192.168.1.3
network 10.0.18.0 255.255.255.0
interface FastEthernet0/0
ip address 10.0.18.68 255.255.255.0
ip address 192.168.1.1 255.255.255.0
ip helper-address 172.16.1.1
interface FastEthernet2/0
ip route 172.16.1.1 255.255.255.255 e1/0
DHCP オプションのインポート:例
次に、DHCP オプションのインポートをサポートするようにリモート サーバおよび集中管理サーバを設定する例を示します。集中管理サーバは、DNS アドレスや WINS アドレスなどの DHCP オプションを DHCP プール内で自動的に更新するように設定されます。CPE 機器を使用するローカル クライアントからの DHCP 要求に応じて、リモート サーバは、このオプションのパラメータを中央サーバから「インポート」できます。図 1 に、ネットワーク トポロジの図を示します。
図 1 DHCP のネットワーク トポロジの例
中央ルータ
!do not assign this range to DHCP clients
ip dhcp-excluded address 10.0.0.1 10.0.0.5
! Specifies network number and mask for DHCP clients
network 10.0.0.0 255.255.255.0
! Specifies the domain name for the client
! Specifies DNS server that will respond to DHCP clients when they need to correlate host ! name to ip address
!Specifies the NETBIOS WINS server
netbios-name-server 10.0.0.2
interface FastEthernet0/0
ip address 10.0.0.1 255.255.255.0
リモート ルータ
! Imports DHCP option parameters into DHCP server database
network 172.16.2.254 255.255.255.0
interface FastEthernet0/0
Option 82 を使用した DHCP アドレス割り当ての設定:例
次に、2 種類の DHCP クラスを設定する例を示します。CLASS1 は、指定した 16 進値とリレー エージェント情報オプションがアドレス要求に含まれる DHCP クライアントのグループを定義します。CLASS2 は、設定したリレー エージェント情報のサブオプションがアドレス要求に含まれる DHCP クライアントのグループを定義します。CLASS3 には設定されているパターンはなく、「すべてに一致する」クラスとして扱われます。このタイプのクラスは「デフォルト」のクラスを指定する場合に便利です。
次の例では、10.0.20.0/24 サブネットをさらにサブネット化せずに、プール ABC のサブネットが 3 つの範囲に分割されています。Option 82 を使用してクラス CLASS1 との照合を行った 10.0.20.0/24 サブネットから DHCP Discover メッセージを受け取ると、10.0.20.1 ~ 10.0.20.100 の範囲で利用可能なアドレスが割り当てられます。CLASS1 のアドレス範囲に空いているアドレスがない場合、DHCP Discover メッセージで CLASS2 との照合が行われ、次はまた別のクラス、という具合に進みます。
このように、ユーザが設定した順序に従って、DHCP プールの各クラスが一致するかどうかが検証されます。プール ABC では、CLASS1、CLASS2、最後に CLASS3 という順に照合します。プール DEF では、クラス CLASS2 にはアドレス範囲は設定されません。デフォルトでは、特定の 1 つのクラスのアドレス範囲はプールのサブネット全体です。このため、CLASS2 と照合するクライアントに 11.0.20.1 ~11.0.20.254 のアドレスが割り当てられる場合があります。
複数のプールを同じクラスで設定できるため、複数のプールに同じパターンを設定する必要はありません。将来的に、さらに詳しい分類方式が導入される可能性があります。たとえば、特定のデバイス(ケーブル モデムや IP Phone など)のクラスに対してだけサービスを提供するために 1 つ以上のプールを指定する必要が生じる可能性があります。
! Defines the DHCP classes and relay information patterns
relay-information hex 01030a0b0c02050000000123
relay-information hex 01030a0b0c02*
relay-information hex 01030a0b0c02050000000000 bitmask 0000000000000000000000FF
relay-information hex 01040102030402020102
relay-information hex 01040101030402020102
! Associates the DHCP pool with DHCP classes
network 10.0.20.0 255.255.255.0
address range 10.0.20.1 10.0.20.100
address range 10.0.20.101 10.0.20.200
address range 10.0.20.201 10.0.20.254
network 172.64.2.2 255.255.255.0
address range 172.64.2.3 172.64.2.10
DHCP を通じてダイナミックに取得したネクスト ホップを使用したスタティック ルートの設定:例
次に、ネクストホップ ルータの IP アドレスを DHCP サーバから取得するために 2 つのイーサネット インターフェイスを設定する方法の例を示します。
ip route 10.10.10.0 255.255.255.0 dhcp 200
ip route 10.10.20.1 255.255.255.255 ethernet 1 dhcp