Catalyst 2970 スイッチ ソフトウェア コンフィギュレーション ガイド Cisco IOS Release 12.2(25)SEC
DHCP機能の設定
DHCP機能の設定
発行日;2012/01/08 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 6MB) | フィードバック

目次

DHCP機能の設定

DHCP機能の概要

DHCPサーバ

DHCPリレー エージェント

DHCPスヌーピング

Option 82データ挿入

DHCP機能の設定

DHCPのデフォルト設定

DHCPスヌーピング設定時の注意事項

DHCPリレー エージェントの設定

DHCPスヌーピングおよびOption 82のイネーブル化

Cisco IOS DHCPサーバ データベースのイネーブル化

DHCPスヌーピング バインディング データベース エージェントのイネーブル化

DHCPスヌーピング情報の表示

DHCP機能の設定

この章では、Catalyst 2970スイッチ上でDynamic Host Configuration Protocol(DHCP;ダイナミック ホスト コンフィギュレーション プロトコル)スヌーピングおよびOption 82データ挿入機能を設定する方法について説明します。


) この章で使用するコマンドの構文および使用方法の詳細については、このリリースに対応するコマンド リファレンスおよび『Cisco IOS IP Command Reference, Volume 1 of 3: Addressing and Services』Release12.2の「DHCP Commands」を参照してください。


この章で説明する内容は、次のとおりです。

「DHCP機能の概要」

「DHCP機能の設定」

「DHCPスヌーピング情報の表示」

DHCP機能の概要

DHCPは、中央集中型サーバからホストIPアドレスを動的に割り当てるためにLAN環境で幅広く使われており、これによりIPアドレスの管理のオーバーヘッドを著しく軽減できます。DHCPは、制限のあるIPアドレス空間の節約にもなります。IPアドレスをホストに永続的に割り当てる必要がなく、IPアドレスを使用するのはネットワークに接続されているホストだけになるからです。

ここでは、次の情報について説明します。

「DHCPサーバ」

「DHCPリレー エージェント」

「DHCPスヌーピング」

「Option 82データ挿入」

DHCPクライアントに関する詳細は、『 Cisco IOS IP Configuration Guide 』Release 12.2の「 IP Addressing and Services 」にある「 Configuring DHCP 」の部分を参照してください。

DHCPサーバ

DHCPサーバは、スイッチまたはルータ上にある特定のアドレス プールからIPアドレスをDCHPクライアントに割り当て、管理します。DHCPサーバがDHCPクライアントによって要求された設定パラメータを、データベースから提供できない場合、その要求は、ネットワーク管理者によって定義された1つまたは複数のセカンダリDHCPサーバへ転送されます。

DHCPリレー エージェント

DHCPリレー エージェントは、クライアントとサーバ間でDHCPパケットを転送するレイヤ3の装置です。各リレー エージェントは、同一の物理サブネット上にないクライアントとサーバ間で要求および応答を転送します。リレー エージェントの転送方法は、通常のレイヤ2の転送方法(IPデータグラムがネットワーク間でトランスペアレントにスイッチングされる)とは異なります。リレー エージェントはDHCPメッセージを受信すると、DHCPメッセージを新たに生成して出力インターフェイスから送信します。

DHCPスヌーピング

DHCPスヌーピングとは、untrusted(信頼性のない)DHCPメッセージをフィルタリングして、DHCPスヌーピング バインディング データベース(別名DHCPスヌーピング バインディング テーブル)を作成、維持することにより、ネットワークにセキュリティを提供するDHCPセキュリティ機能です。データベースの詳細については、「DHCPスヌーピング情報の表示」を参照してください。

DHCPスヌーピングは、untrustedホストとDHCPサーバの間でファイアウォールのような機能を果たします。DHCPスヌーピングを使用すると、エンドユーザに接続されたuntrustedインターフェイスと、DHCPサーバや別のスイッチと接続されたtrustedインターフェイスを区別できます。


) DHCPスヌーピングを適切に機能させるには、すべてのDHCPサーバをtrustedインターフェイスを介してスイッチと接続する必要があります。


untrusted DHCPメッセージとは、ネットワークまたはファイアウォールの外部から受信したメッセージです。サービス プロバイダー環境でDHCPスヌーピングを使用すると、untrustedメッセージがサービス プロバイダー ネットワーク外の装置(お客様のスイッチなど)から送信されます。不明な装置からのメッセージは、トラフィック攻撃の原因となる可能性があるためuntrustedとなります。

DHCPスヌーピング バインディング データベースには、MAC(メディア アクセス制御)アドレス、IPアドレス、リース時間、バインディング タイプ、VLAN(仮想LAN)番号、スイッチのuntrustedインターフェイスに対応したインターフェイス情報が登録されています。ただし、trustedインターフェイスに相互接続されたホストに関する情報は含まれていません。

サービス プロバイダー ネットワーク内において、trustedインターフェイスは同一ネットワーク内の装置上のポートに接続されています。untrustedインターフェイスは、ネットワーク内のuntrustedインターフェイスまたはネットワーク外のデバイス上のインターフェイスに対して接続されています。

スイッチはuntrustedインターフェイス上でパケットを受信した場合、そのインターフェイスがDHCPスヌーピングを有効にしたVLANに属していれば、送信元MACアドレスとDHCPクライアントのハードウェア アドレスを比較します。アドレスが一致した場合(デフォルト)、スイッチはそのパケットを転送します。アドレスが一致しなかった場合、スイッチはそのパケットを廃棄します。

次の状況が発生すると、スイッチはDHCPパケットを廃棄します。

DHCPOFFER、DHCPACK、DHCPNAK、またはDHCPLEASEQUERYパケットなど、DHCPサーバからのパケットを、ネットワークまたはファイアウォールの外部から受信した場合。

パケットがuntrustedインターフェイスで受信され、送信元MACアドレスおよびDHCPクライアント ハードウェア アドレスが一致しない場合。

DHCPスヌーピング バインディング データベースにMACアドレスを持つDHCPRELEASEまたはDHCPDECLINEブロードキャスト メッセージをスイッチが受信したが、バインディング データベースのインターフェイス情報が、メッセージを受信したインターフェイスのものと一致しない場合。

DHCPリレー エージェントが、リレーエージェントIPアドレス(0.0.0.0以外)を含むDHCPパケットを転送する場合。またはリレー エージェントが、Option 82情報を含むパケットをuntrustedポートへ転送する場合。

スイッチがDHCPスヌーピングをサポートする集約スイッチで、DHCP Option 82情報を挿入するエッジ スイッチに接続されている場合、パケットがuntrustedインターフェイスで受信されると、スイッチはOption 82情報を持ったパケットを廃棄します。DHCPスヌーピングがイネーブルでパケットがtrustedポートで受信される場合、集約スイッチは接続されている装置のDHCPスヌーピング バインディングを学習しないので、完全なDHCPスヌーピング バインディング データベースを構築できません。

Cisco IOS Release 12.2(25)SEAより前のソフトウェア リリースでは、エッジ スイッチによりOption 82情報が挿入された場合、DHCPスヌーピング バインディング データベースが正しく読み込まれないため、集約スイッチ上でDHCPスヌーピングを設定できません。また、スタティック バインディングやAddress Resolution Protocol(ARP;アドレス解決プロトコル)Access Control List(ACL;アクセス制御リスト)を使用しない場合、スイッチ上でIP送信元ガードやダイナミックARP検査も設定できません。

Cisco IOS Release 12.2(25)SEA以降では、untrustedインターフェイスを介して集約スイッチをエッジ スイッチに接続している場合、 ip dhcp snooping information option allow-untrusted グローバル コンフィギュレーション コマンドを入力することで、集約スイッチはOption 82情報を持ったパケットをエッジ スイッチから受信できます。集約スイッチはuntrustedスイッチ インターフェイスを介して接続されたホストのバインディングを学習します。スイッチがOption 82情報を持ったパケットを、ホストが接続されたuntrusted入力インターフェイス上で受信する間、集約スイッチ上でDHCPのセキュリティ機能をイネーブルにできます。集約スイッチに接続されているエッジ スイッチ上のポートは、trustedインターフェイスとして設定する必要があります。

Option 82データ挿入

住宅地のメトロポリタン イーサネット アクセス環境では、DHCPを使用して、多数の加入者へのIPアドレスの割り当てを集中管理できます。スイッチ上でDHCP Option 82機能がイネーブルの場合、(MACアドレスのほかにも)ネットワークに接続されたスイッチ ポートにより加入する装置を識別できます。同じアクセス スイッチに接続されている加入者LANの複数のホストを、一意に識別できます。


) DHCP Option 82機能は、DHCPスヌーピングがグローバルおよびVLAN上でイネーブルで、この機能を使用している加入装置がそのVLANに割り当てられている場合のみ、サポートされます。


図18-1に、アクセス レイヤでスイッチに接続されている加入者に中央集中型DHCPサーバがIPアドレスを割り当てるメトロポリタン イーサネット ネットワークの例を示します。DHCPクライアントと、それに関連付けられたDHCPサーバが、同じIPネットワークまたは同じサブネットに属していないため、DHCPリレー エージェント(Catalystスイッチ)には、ブロードキャスト転送をイネーブルにし、クライアントとサーバの間のDHCPメッセージの転送を行うヘルパー アドレスが設定されています。

図18-1 メトロポリタン イーサネット ネットワークのDHCPリレー エージェント

 

スイッチのDHCP スヌーピング情報Option 82をイネーブルにすると、次の一連のイベントが発生します。

ホスト(DHCPクライアント)はDHCP要求を生成し、ネットワークへブロードキャストします。

スイッチはDHCP要求を受信すると、パケットにOption 82情報を追加します。Option 82情報とは、スイッチのMACアドレス(リモートIDサブオプション)、ポートID、パケットの受信側である vlan-mod-port (回線IDサブオプション)です。

リレー エージェントのIPアドレスが設定されている場合、スイッチはこのIPアドレスをDHCPパケット内に追加します。

スイッチは、Option 82フィールドを格納したDHCP要求をDHCPサーバに転送します。

DHCPサーバはこのパケットを受信します。サーバがOption 82に対応している場合、リモートIDまたは回線ID、あるいはその両方を使用してIPアドレスを割り当て、単一のリモートIDまたは回線IDに割り当てるIPアドレス数を制限するなどのポリシーを実行します。その後、DHCPサーバは、DHCPの応答内にOption 82フィールドをエコーします。

スイッチにより要求がDHCPサーバにリレーされると、DHCPサーバは応答をスイッチにユニキャストします。スイッチは、リモートIDフィールド、あるいは回線IDフィールドを検査して、スイッチ自身がOption 82データを挿入したことを確認します。スイッチは、Option 82フィールドを削除し、そのパケットをDHCP要求の送信元であるDHCPクライアントに接続されたスイッチ ポートに転送します。

前述のイベントが発生したとき、図18-2の次のフィールドの値は変化しません。

回路IDサブオプション フィールド

サブオプション タイプ

サブオプション タイプの長さ

回路IDタイプ

回路IDタイプの長さ

リモートIDサブオプション フィールド

サブオプション タイプ

サブオプション タイプの長さ

リモートIDタイプ

リモートIDタイプの長さ

回路IDサブオプションのポート フィールドでは、ポート番号が3から始まります。たとえば24個の 10/100/1000ポートおよびSmall Form-Factor Pluggable(SFP)モジュール スロットを搭載したスイッチの場合、ポート3がギガビット イーサネット0/1ポート、ポート4がギガビット イーサネット0/2ポート、というようになり、以降同様に続きます。ポート27はSFPモジュール スロットのギガビット イーサネット0/25となり、以降同様に続きます。

図18-2 に、リモートIDのサブオプションおよび回線IDのサブオプションに対応したパケット フォーマットを示します。スイッチは、DHCPスヌーピングがグローバルにイネーブルで、さらに ip dhcp snooping information option グローバル コンフィギュレーション コマンドが入力された場合、このパケット フォーマットを使用します。

図18-2 サブオプションのパケット フォーマット

 

DHCP機能の設定

ここでは、次の設定情報について説明します。

「DHCPのデフォルト設定」

「DHCPスヌーピング設定時の注意事項」

「DHCPリレー エージェントの設定」

「DHCPスヌーピングおよびOption 82のイネーブル化」

「Cisco IOS DHCPサーバ データベースのイネーブル化」

「DHCPスヌーピング バインディング データベース エージェントのイネーブル化」

DHCPのデフォルト設定

表18-1 に、DHCPのデフォルト設定を示します。

DHCPスヌーピング設定時の注意事項

 

表18-1 DHCPのデフォルト設定

機能
デフォルト設定

DHCPサーバ

Cisco IOSソフトウェアでイネーブルにされます(設定が必要です)1

DHCPリレー エージェント

イネーブル2

DHCPパケット転送アドレス

未設定

リレー エージェント情報の確認

イネーブル(無効なメッセージは廃棄されます)2

DHCPリレー エージェントの転送ポリシー

既存のリレー エージェント情報を置き換えます2

DHCPスヌーピングをグローバルでイネーブルにする

ディセーブル

DHCPスヌーピング情報オプション

イネーブル

untrusted入力インターフェイスのパケットを受信するDHCPスヌーピング オプション3

ディセーブル

DHCPスヌーピングの制限レート

未設定

DHCPスヌーピングの信頼性

untrusted

DHCPスヌーピングVLAN

ディセーブル

DHCPスヌーピングのMACアドレス検証

イネーブル

1.スイッチは、DHCPサーバとして設定されている場合のみ、DHCP要求に応答します。

2.DHCPサーバのIPアドレスが、DHCPクライアントのSwitched Virtual Interface(SVI)上で設定されている場合のみ、スイッチはDHCPパケットをリレーします。

3.スイッチが、エッジ スイッチからOption 82情報を持ったパケットを受信する集約スイッチである場合に使用します。

ここでは、DHCPスヌーピングの設定時の注意事項について説明します。

スイッチのDHCPスヌーピングはグローバルでイネーブルにする必要があります。

DHCPスヌーピングは、VLAN上でDHCPスヌーピングがイネーブルになるまでアクティブになりません。

DHCPスヌーピングをスイッチ上でグローバルにイネーブルにする前に、DHCPサーバとして動作する装置およびDHCPリレー エージェントが設定されてイネーブルであることを確認してください。

スイッチ上でDHCPスヌーピングをグローバルにイネーブルにすると、スヌーピングをディセーブルにするまでCisco IOSコマンドは使用できません。次のコマンドを入力しても、スイッチからはエラー メッセージが返され、設定は適用されません。

ip dhcp relay information check グローバル コンフィギュレーション コマンド

ip dhcp relay information policy グローバル コンフィギュレーション コマンド

ip dhcp relay information trust-all グローバル コンフィギュレーション コマンド

ip dhcp relay information trusted インターフェイス コンフィギュレーション コマンド

DHCPスヌーピング情報オプションをスイッチ上で設定する前に、DHCPサーバとして機能させる装置を設定してください。たとえば、DHCPサーバによる割り当てまたは除外の対象にするIPアドレスの指定、および装置のDHCPオプションの設定が必要です。

DHCPリレー エージェントがイネーブルで、DHCPスヌーピングがディセーブルの場合、DHCP Option 82データ挿入機能はサポートされません。

スイッチのポートがDHCPサーバに接続されている場合、 ip dhcp snooping trust インターフェイス コンフィギュレーション コマンドを入力して、ポートをtrustedとして設定してください。

スイッチのポートがDHCPクライアントに接続されている場合、 no ip dhcp snooping trust インターフェイス コンフィギュレーション コマンドを入力して、ポートをuntrustedとして設定してください。

untrusted装置が接続されている集約スイッチに ip dhcp snooping information option allow- untrusted コマンドを入力しないでください。このコマンドを入力すると、untrusted装置はOption 82情報をスプーフィングします。

DHCPリレー エージェントの設定

スイッチ上でDHCPリレー エージェントをイネーブルにするには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

service dhcp

スイッチ上でDHCPサーバおよびリレー エージェントをイネーブルにします。デフォルトで、この機能はイネーブルに設定されています。

ステップ 3

end

イネーブルEXECモードに戻ります。

ステップ 4

show running-config

設定を確認します。

ステップ 5

copy running-config startup-config

(任意)コンフィギュレーション ファイルにエントリを保存します。

DHCPサーバとリレー エージェントをディセーブルにするには、 no service dhcp グローバル コンフィギュレーション コマンドを使用します。

次の手順については、『 Cisco IOS IP Configuration Guide 』Release 12.2の「IP Addressing and Services」にある「 Configuring DHCP 」の部分を参照してください。

リレー エージェント情報の確認(検証)

リレー エージェントのフォワーディング ポリシーの設定

DHCPスヌーピングおよびOption 82のイネーブル化

スイッチ上でDHCPスヌーピングをイネーブルにするには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

ip dhcp snooping

DHCPスヌーピングをグローバルでイネーブルにします。

ステップ 3

ip dhcp snooping vlan vlan-range

VLANまたはVLAN範囲でDHCPスヌーピングをイネーブルにします。指定できる範囲は1~4094です。

VLAN IDには、VLAN ID番号で識別される1つのVLAN ID、カンマで区切られた一連のVLAN ID、ハイフンで区切られたVLAN IDの範囲、開始VLAN IDと終了VLAN IDをスペースで区切ったVLAN IDの範囲を入力できます。

ステップ 4

ip dhcp snooping information option

スイッチで、DHCPサーバ宛に転送される要求メッセージ内のDHCPリレー情報(Option 82フィールド)の挿入および削除をイネーブルにします。

デフォルトではイネーブルに設定されています。

ステップ 5

ip dhcp snooping information option allow-untrusted

(任意)スイッチがエッジ スイッチに接続された集約スイッチである場合、エッジ スイッチからのOption 82情報を持った着信DHCPスヌーピング パケットを受信できるようスイッチをイネーブルにします。

デフォルトではディセーブルに設定されています。


) このコマンドはtrusted装置に接続された集約スイッチ上でのみ入力する必要があります。


ステップ 6

interface interface-id

設定するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。

ステップ 7

ip dhcp snooping trust

(任意)インターフェイスをtrustedまたはuntrustedのいずれかに設定します。untrustedクライアントからのメッセージをインターフェイスが受信できるようにするには、 no キーワードを使用します。デフォルトではuntrustedに設定されています。

ステップ 8

ip dhcp snooping limit rate rate

(任意)インターフェイスが受信できるDHCPパケット数/秒の上限を設定します。指定できる範囲は1~2048です。デフォルトでは無制限に設定されています。


) untrustedレート制限は、100パケット/秒以下にすることを推奨します。trustedインターフェイスにレート制限を設定する場合、ポートが複数のVLAN(DHCPスヌーピングがイネーブル)に割り当てられているトランク ポートであれば、レート制限を増やさなければならない可能性があります。


ステップ 9

exit

グローバル コンフィギュレーション モードに戻ります。

ステップ 10

ip dhcp snooping verify mac-address

(任意)untrustedポート上で受信したDHCPパケットにある送信元MACアドレスが、パケット内のクライアントのハードウェア アドレスと一致するかどうかを確認するように、スイッチを設定します。デフォルトでは、パケット内の送信元MACアドレスとクライアントのハードウェア アドレスの一致を確認するように設定されています。

ステップ 11

end

イネーブルEXECモードに戻ります。

ステップ 12

show running-config

設定を確認します。

ステップ 13

copy running-config startup-config

(任意)コンフィギュレーション ファイルにエントリを保存します。

DHCPスヌーピングをディセーブルにするには、 no ip dhcp snooping グローバル コンフィギュレーション コマンドを使用します。VLANまたはVLAN範囲でDHCPスヌーピングをディセーブルにするには、 no ip dhcp snooping vlan vlan-range グローバル コンフィギュレーション コマンドを使用します。Option 82フィールドの挿入および削除をディセーブルにするには、 no ip dhcp snooping information option グローバル コンフィギュレーション コマンドを使用します。エッジ スイッチからのOption 82情報を持った着信DHCPスヌーピング パケットを廃棄するよう集約スイッチを設定するには、 no ip dhcp snooping information option allow-untrusted グローバル コンフィギュレーション コマンドを使用します。

次に、VLAN 10上でDHCPスヌーピングをグローバルでイネーブルにし、ポート上でレート制限を100パケット/秒に設定する例を示します。

Switch(config)# ip dhcp snooping
Switch(config)# ip dhcp snooping vlan 10
Switch(config)# ip dhcp snooping information option
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# ip dhcp snooping limit rate 100
 

Cisco IOS DHCPサーバ データベースのイネーブル化

Cisco IOS DHCPサーバ データベースをイネーブルにして設定する手順については、『 Cisco IOS IP Configuration Guide 』12.2の「Configuring DHCP」の章にある「DHCP Configuration Task List」を参照してください。

DHCPスヌーピング バインディング データベース エージェントのイネーブル化

スイッチ上でDHCPスヌーピング バインディング データベース エージェントをイネーブルにして設定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

ip dhcp snooping database { flash:/ filename | ftp:// user : password@host / filename | http:// [[ username : password ]@]{ hostname | host-ip }[/ directory ]
/ image-name .tar | rcp:// user@host / filename }| tftp:// host / filename

次の形式を使用して、データベース エージェントまたはバインディング ファイルのURLを指定します。

flash:/ filename

ftp:// user : password @ host / filename

http:// [[ username : password ]@]{ hostname | host-ip }[/ directory ] / image-name .tar

rcp:// user @ host / filename

tftp:// host / filename

ステップ 3

ip dhcp snooping database timeout seconds

バインディング データベース変更後のデータベース転送処理を停止する時間を指定します。

指定できる範囲は0~86400秒です。無制限の時間を指定する場合は0を使用します。デフォルト値は300秒です(5分)。

ステップ 4

ip dhcp snooping database write-delay seconds

バインディング データベース変更後の転送の遅延時間を指定します。指定できる範囲は15~86400秒です。デフォルト値は300秒です(5分)。

ステップ 5

end

イネーブルEXECモードに戻ります。

ステップ 6

ip dhcp snooping binding mac-address vlan vlan-id ip-address interface interface-id expiry seconds

(任意)DHCPスヌーピング バインディング データベースにバインディング エントリを追加します。指定できる vlan-id の範囲は1~4904です。指定できる seconds の範囲は1~4294967295秒です。

追加するエントリごとにこのコマンドを入力します。


) スイッチのテストまたはデバッグ時に、このコマンドを使用してください。


ステップ 7

show ip dhcp snooping database [ detail ]

DHCPスヌーピング バインディング データベース エージェントのステータスおよび統計情報を表示します。

ステップ 8

copy running-config startup-config

(任意)コンフィギュレーション ファイルにエントリを保存します。

データベース エージェントおよびバインディング ファイルの使用を中止するには、 no ip dhcp snooping database インターフェイス コンフィギュレーション コマンドを使用します。タイムアウト値や遅延値をリセットするには、 ip dhcp snooping database timeout seconds または ip dhcp snooping database write-delay seconds グローバル コンフィギュレーション コマンドを使用します。

DHCPスヌーピング バインディング データベース エージェントの統計情報をクリアするには、 clear ip dhcp snooping database statistics イネーブルEXECコマンドを使用します。データベースを更新するには、 renew ip dhcp snooping database イネーブルEXECコマンドを使用します。

DHCPスヌーピング バインディング データベースからバインディング エントリを削除するには、 no ip dhcp snooping binding mac-address vlan vlan-id ip-address interface interface-id イネーブルEXECコマンドを使用します。削除するエントリごとにこのコマンドを入力してください。

DHCPスヌーピング情報の表示

DHCPスヌーピング情報を表示するには、 表18-2 のイネーブルEXECコマンドを1つまたは複数使用します。

 

表18-2 DHCP情報を表示するためのコマンド

コマンド
目的

show ip dhcp snooping

スイッチのDHCPスヌーピングの設定を表示します。

show ip dhcp snooping binding

DHCPスヌーピング バインディング データベース(バインディング テーブル)で動的に設定されたバインディングのみを表示します。


) DHCPスヌーピングがイネーブルで、インターフェイスがダウン ステートに変わった場合、スイッチは静的に設定されたバインディングを削除しません。