この章では、Catalyst 3550スイッチでDynamic Host Configuration Protocol(DHCP)スヌーピングおよびOption 82データ挿入機能を設定する方法について説明します。
DHCP機能の概要
DHCPは、中央のサーバからホストのIPアドレスをダイナミックに割り当てるために、LAN環境で広く使用されています。DHCPを使用するとIPアドレス管理のオーバーヘッドが大幅に軽減します。DHCPを使用すると、IPアドレスをホストに永続的に割り当てる必要がなくなり、IPアドレスを必要とするのはネットワークに接続されているホストだけになるので、DHCPは限られたIPアドレス空間の節約に役立ちます。
DHCPクライアントの詳細については、『 Cisco IOS IP Configuration Guide 』Release 12.2の「 IP Addressing and Services 」にある「 Configuring DHCP 」を参照してください。
DHCPサーバ
DHCPサーバは、スイッチまたはルータの指定アドレス プールから、IPアドレスをDHCPクライアントに割り当てて、クライアントを管理します。DHCPサーバは、DHCPクライアントに要求された設定パラメータを、自身のデータベースから渡すことができない場合は、ネットワーク管理者によって定義されている1つまたは複数のセカンダリDHCPサーバに、その要求を転送できます。
DHCPリレー エージェント
DHCPリレー エージェントは、クライアント/サーバ間にあるDHCPパケットを転送するレイヤ3のデバイスです。クライアントおよびサーバが同一の物理サブネットにない場合、リレー エージェントは、クライアントとサーバ間で要求と応答を転送します。リレー エージェントの転送は、通常のレイヤ2転送とは異なります。レイヤ2転送では、IPデータグラムがネットワーク間でトランスペアレントに交換されますが、リレー エージェントはDHCPメッセージを受信してから、新しいDHCPメッセージを生成して、出力インターフェイスに送信します。
DHCPスヌーピング
DHCPスヌーピングは、信頼されないDHCPメッセージをフィルタリングし、DHCPスヌーピング バインディング データベース(別名DHCPスヌーピング バインディング テーブル)を構築および維持することで、ネットワーク セキュリティを提供するDHCPセキュリティ機能です。
DHCPスヌーピングは、信頼されないホストとDHCPサーバの間のファイアウォールと同様の機能を果たします。DHCPスヌーピングを使用すると、エンドユーザに接続した信頼されないインターフェイスと、DHCPサーバまたは別のスイッチに接続した信頼されるインターフェイスを区別できます。
信頼されないメッセージとは、ネットワークまたはファイアウォールの外から受信されたメッセージのことです。DHCPスヌーピングをサービス プロバイダー環境で使用した場合、信頼されないメッセージはカスタマー スイッチのようにサービス プロバイダー ネットワーク外部のデバイスから送信されたことを意味します。不明なデバイスからのメッセージは、トラフィック攻撃の原因になる可能性があるため信頼されません。
DHCPスヌーピングのバインディング データベースには、MAC(メディア アクセス制御)アドレス、IPアドレス、リース期間、バインディング タイプ、VLAN(仮想LAN)番号、および信頼されないローカル スイッチのインターフェイスに対応したインターフェイス情報が含まれています。信頼されるインターフェイスと相互接続されているホストに関する情報は含まれていません。
サービス プロバイダー ネットワーク内で、信頼されるインターフェイスは、同じネットワーク内のデバイスにあるポートと接続されていることを意味します。信頼されないインターフェイスは、ネットワーク内で信頼されないインターフェイスと接続しているか、またはネットワーク外にあるデバイスのインターフェイスと接続していることになります。
スイッチが信頼されないインターフェイスでパケットを受信して、そのインターフェイスがDHCPスヌーピングがイネーブルのVLANに属している場合、スイッチは送信元MACアドレスとDHCPクライアントのハードウェア アドレスを比較します。アドレスがそのデフォルトと一致した場合、スイッチはパケットを転送します。一致しない場合、スイッチはパケットを廃棄します。
スイッチは、次の状況のいずれかが発生した場合、DHCPパケットを廃棄します。
- DHCPサーバからのパケット(DHCPOFFER、DHCPACK、DHCPNAK、またはDHCPLEASEQUERYなど)をネットワークまたはファイアウォール外から受信する。
- 信頼されないインターフェイスでパケットが受信され、さらに送信元MACアドレスとDHCPクライアント ハードウェア アドレスが一致しない。
-
スイッチは、DHCPスヌーピング バインディング テーブルのMACアドレスを含む
DHCPRELEASEまたはDHCPDECLINEブロードキャスト メッセージを受信したが、バインディング テーブルのインターフェイス情報がメッセージを受信したインターフェイスと一致しない。 - リレー エージェントのIPアドレスが0.0.0.0でないものを含むDHCPパケットをDHCPリレー エージェントが転送する、または信頼されないポートにOption 82情報を含むパケットをリレー エージェントが転送する。
スイッチがDHCPスヌーピングをサポートする集約スイッチであり、DHCP Option 82情報を挿入するエッジ スイッチに接続されている場合、パケットが信頼されないインターフェイス上で受信されると、スイッチはOption 82情報を持ったパケットを廃棄します。DHCPスヌーピングがイネーブルでパケットが信頼されるポートで受信された場合、集約スイッチは接続したデバイスのDHCPスヌーピング バインディングを学習しないので完全なDHCPスヌーピング バインディング データベースを構築できません。
Option 82情報がCisco IOS Release 12.1(22)EA3より前の、またはCisco IOS Release 12.2(25)SEA以降のソフトウェア リリースが動作するエッジ スイッチによって挿入されている場合、DHCPスヌーピング バインディング データベースが正しく読み込まれないので、DHCPスヌーピングを集約スイッチに設定できません。スタティック バインディングまたはARP Access Control List(ACL;アクセス制御リスト)を使用していない場合、IPソース ガードおよびダイナミックAddress Resolution Protocol(ARP;アドレス解決プロトコル)検査もスイッチに設定できません。
Cisco IOS Release 12.1(22)EA3およびCisco IOS Release 12.2(25)SEA以降では、集約スイッチが信頼されないインターフェイスを通じてエッジ スイッチに接続でき、 ip dhcp snooping information option allow-untrusted グローバル コンフィギュレーション コマンドを入力した場合に、集約スイッチはOption 82情報を持ったパケットをエッジ スイッチから受け付けます。集約スイッチは、信頼されないスイッチ インターフェイスを通じて接続されたホストのバインディングを学習します。ダイナミックARPまたはIPソース ガードなどのDHCPセキュリティ機能は、ホストが接続されている信頼されない入力インターフェイスでOption 82情報を持ったパケットをスイッチが受信している間も、集約スイッチ上でイネーブルにできます。集約スイッチに接続するエッジ スイッチのポートは、信頼されるインターフェイスとして設定する必要があります。
Option 82データ挿入
住宅地のメトロポリタン イーサネットアクセス環境では、DHCPによって多数の加入者のIPアドレス割り当てを中央管理できます。スイッチでDCHP Option 82機能をイネーブルにすると、(MACアドレスのほかに)ネットワークへの接続に使用されているスイッチ ポートで加入者のデバイスを識別できます。加入者LAN上の複数のホストをアクセス スイッチの同じポートに接続し、個別に識別できます。
図18-1 に示すメトロポリタン イーサネット ネットワークの例では、中央集中型DHCPサーバが、アクセス レイヤでスイッチに接続されている加入者にIPアドレスを割り当てています。DHCPクライアントとこれらのクライアントに関連付けられているDHCPサーバは、同じIPネットワークまたはサブネット上にはないので、DHCPリレー エージェント(Catalystスイッチ)にヘルパー アドレスを設定することによって、ブロードキャスト転送、およびクライアント/サーバ間でのDHCPメッセージの伝送を可能にしています。
図18-1 メトロポリタン イーサネット ネットワークのDCHPリレー エージェント
スイッチでDHCPスヌーピング情報のOption 82機能をイネーブルにすると、次の順でイベントが発生します。
- ホスト(DHCPクライアント)がDHCP要求を作成して、ネットワーク上にブロードキャストします。
- スイッチがDHCP要求を受信すると、Option 82情報をパケットに追加します。Option 82情報には、スイッチMACアドレス(リモートIDサブオプション)、および vlan-mod-port または snmp-ifindex のポートIDが含まれます。このポートからパケットは受信されます(回線IDサブオプション)。
- リレー エージェントのIPアドレスが設定されている場合、スイッチはDHCPパケットにIPアドレスを追加します。
- スイッチは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タイプの長さ
DHCPスヌーピングがグローバルにイネーブルのときに、 ip dhcp snooping information option グローバル コンフィギュレーション コマンドを入力し、SNMP ifIndexフォーマットを設定しない場合、回線IDサブオプションのポート フィールドのポート番号は0から始まります。たとえば、Catalyst 3550-24スイッチでは、ポート0はFastEthernet 0/1ポートで、ポート1がFastEthernet 0/2ポート、ポート2がFastEthernet 0/3ポートと続きます。ポート24はGBIC(ギガビット インターフェイス コンバータ)ベースのギガビット モジュール スロット0/1で、ポート25がGBICベースのギガビット モジュール スロット0/2になります。
図18-2 に、リモートIDサブオプションおよび回線IDサブオプションのパケット形式を示します。回線IDサブオプションでは、モジュール フィールドは常に0です。
図18-2 サブオプションのパケット形式
Cisco IOS DHCPサーバ データベース
DHCPベースの自動設定プロセスの間、指定DHCPサーバはCisco IOS DHCPサーバ データベースを使用します。これにはIPアドレス、 アドレス バインディング 、ブート ファイルなどの設定パラメータが含まれます。
アドレス バインディングは、Cisco IOS DHCPサーバ データベース内のホストのIPアドレスおよびMACアドレスの間のマッピングです。クライアントIPアドレスを手動で割り当てることも、DHCPサーバがDHCPアドレス プールからIPアドレスを割り当てることもできます。手動および自動アドレス バインディングの詳細については、『 Cisco IOS IP Configuration Guide』Release 12.2 の「Configuring DHCP」の章を参照してください。
DHCPスヌーピング バインディング データベース
DHCPスヌーピングがイネーブルの場合、スイッチはDHCPスヌーピング バインディング データベースを使用して信頼されないインターフェイスに関する情報を保存します。データベースには最大で8192のバインディングを保存できます。
各データベース エントリ( binding )には、IPアドレス、関連MACアドレス、リース時間(16進数表記)、バインディングが適用されるインターフェイス、インターフェイスが属するVLANがあります。各エントリの最後にある checksum 値は、ファイルの始まりからエントリの終わりまでのバイト数です。各エントリは72バイトで、そのあとにスペースとチェックサム値が続きます。
スイッチがリロードされるときにバインディングを維持するには、DHCPスヌーピング データベース エージェントを使用する必要があります。エージェントがディセーブル、ダイナミックARPまたはIPソース ガードがイネーブル、DHCPスヌーピング バインディング データベースにダイナミック バインディングがある場合、スイッチはその接続を切断します。エージェントがディセーブルでDHCPスヌーピングのみがイネーブルの場合、スイッチはその接続を切断しませんが、DHCPスヌーピングがDHCPスプーフィング攻撃を防げないことがあります。
データベース エージェントは設定された場所でファイルにバインディングを保存します。リロード時、スイッチはDHCPスヌーピング バインディング データベースを構築するためにバインディング ファイルを読み込みます。スイッチは、データベースの変更時に更新することでファイルを最新のものに保ちます。
スイッチは、新しいバインディングを学習したり、バインディングを消失した場合にはただちにデータベース内のエントリを更新します。また、バインディング ファイル内のエントリも更新します。ファイルを更新する頻度は、設定変更可能な遅延に基づいて更新され、更新はバッチ処理されます。ファイルが(write-delayおよびabort-timeout値によって設定された)指定の時間更新されない場合、更新は停止します。
バインディングのあるファイルのフォーマットは次のとおりです。
ファイル内の各エントリには、スイッチがファイルを読み込んだときにエントリの確認に使用するチェックサム値がタグ付けされます。1行めの initial-checksum エントリは、最新のファイル更新に関連したエントリと前のファイル更新に関連したエントリとを区別します。
192.1.168.1 3 0003.47d8.c91f 2BB6488E Fa1/0/4 21ae5fbb
192.1.168.3 3 0003.44d6.c52f 2BB648EB Fa1/0/4 1bdb223f
192.1.168.2 3 0003.47d9.c8f1 2BB648AB Fa1/0/4 584a38f0
スイッチが開始され、計算されたチェックサム値が保存されているチェックサム値と等しい場合、スイッチはバインディング ファイルからエントリを読み取ってバインディングをDHCPスヌーピング バインディング データベースに追加します。次のいずれかの状況が発生した場合にスイッチはエントリを無視します。
- スイッチがエントリを読み取って計算されたチェックサム値が保存されているチェックサム値と異なる場合。エントリとそのあとのエントリが無視されます。
- エントリに期限切れのリース時間がある場合(リース時間が期限切れになってもスイッチはバインディング エントリを削除しない場合があります)
- エントリ内のインターフェイスがシステムに存在しない場合
- インターフェイスがルーテッド インターフェイスまたはDHCPスヌーピング信頼インターフェイスの場合
DHCP機能の設定
ここでは、スイッチでDHCPスヌーピングおよびOption 82を設定する手順について説明します。
- DHCPのデフォルト設定
- DHCPスヌーピング設定時の注意事項
- 旧ソフトウェア リリースからのアップグレード
- DHCPサーバの設定
- DHCPリレー エージェントのみのイネーブル化
- DHCPリレー エージェントおよびOption 82のイネーブル化
- リレー エージェント情報Option 82の検証
- 再転送ポリシーの設定
- パケット転送アドレスの指定
- DHCPスヌーピングおよびOption 82のイネーブル化
- プライベートVLANでのDHCPスヌーピングのイネーブル化
- Cisco IOS DHCPサーバ データベースのイネーブル化
- DHCPスヌーピング バインディング データベース エージェントのイネーブル化
DHCPのデフォルト設定
表18-1 に、DHCPのデフォルト設定を示します。
|
IOSソフトウェアでイネーブル。設定が必要です。 1 |
|
|
イネーブル 2 |
|
|
イネーブル(無効なメッセージは破棄されます) 2 |
|
|
既存のリレー エージェント情報の置換 2 |
|
|
信頼されない入力インターフェイスでパケットを受信するDHCPスヌーピング オプション 3 |
|
DHCPスヌーピング設定時の注意事項
ここでは、DHCPスヌーピングの設定時の注意事項を説明します。
- DHCPスヌーピングをスイッチでグローバルにイネーブルにする必要があります。
- VLANでDHCPスヌーピングがイネーブルになるまで、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 option グローバル コンフィギュレーション コマンド
- − ip dhcp relay information trusted インターフェイス コンフィギュレーション コマンド
- スイッチにDHCPスヌーピング情報オプションを設定する前に、DHCPサーバとして機能しているデバイスの設定を行う必要があります。たとえば、DHCPサーバが割り当てまたは省略できるIPアドレスを指定する、またはデバイスにDHCPオプションを設定する必要があります。
- スイッチにDHCPリレー エージェントを設定する前に、DHCPサーバとして機能しているデバイスの設定を行う必要があります。たとえば、DHCPサーバが割り当てまたは省略できるIPアドレスを指定する、デバイスにDHCPオプションを設定する、もしくはDHCPデータベース エージェントを設定する必要があります。
- DHCPリレー エージェントがイネーブルでDHCPスヌーピングがディセーブルの場合、DHCP Option 82データ挿入機能はサポートされません。
- スイッチ ポートがDHCPサーバに接続されている場合、 ip dhcp snooping trust インターフェイス コンフィギュレーション コマンドを入力してポートを信頼性のある設定にしてください。
- スイッチ ポートがDHCPクライアントに接続されている場合、 no ip dhcp snooping trust インターフェイス コンフィギュレーション コマンドを入力してポートを信頼性のない設定にしてください。
- ip dhcp snooping information option allow-untrusted コマンドを信頼されないデバイスが接続されている集約スイッチに入力しないでください。このコマンドを入力すると、信頼されないデバイスがOption 82情報をスプーフィングする場合があります。
旧ソフトウェア リリースからのアップグレード
Cisco IOS Release 12.1(19)EA1では、Option 82サブスクライバIDに関する実装が旧リリースから変更されました。新しいOption 82形式では、異なる回線IDおよびリモートIDサブオプションの vlan-mod-port を使用します。旧バージョンでは、 snmp-ifindex 回線IDおよびリモートIDサブオプションを使用します。
スイッチにOption 82が設定され、Cisco IOS Release 12.1(19)EA1以降にアップグレードする場合、Option 82の設定に影響はありません。ただし、 ip dhcp snooping グローバル コンフィギュレーション コマンドを使用してスイッチでDHCPスヌーピングをグローバルにイネーブルにするときは、以前のOption 82の設定は中断され、新しいOption 82形式が適用されます。スイッチでDHCPスヌーピングをグローバルにディセーブルにするとき、以前のOption 82の設定が再びイネーブルになります。
下位互換性を保つには、DHCPスヌーピングをイネーブルにするときに ip dhcp snooping information option format snmp-ifindex グローバル コンフィギュレーション コマンドを使用して、以前のOption 82形式を選択できます。DHCPスヌーピングをグローバルにイネーブルにすると、(選択済み形式の)Option 82情報だけがスヌーピングされたVLANに挿入されます。
DHCPスヌーピングをイネーブルにしないでOption 82の旧バージョンを使用するには、 DHCPリレー エージェントおよびOption 82のイネーブル化 を参照してください。
DHCPサーバの設定
スイッチはDHCPサーバとして動作させることができます。デフォルトでは、Cisco IOS DHCPサーバおよびリレー エージェント機能は、スイッチでイネーブルになっていますが設定されていません。これらの機能は動作可能ではありません。
DHCPサーバとしてスイッチを設定する手順については、『 Cisco IOS IP Configuration Guide 』Release 12.2の「IP addressing and Services」にある「Configuring DHCP」を参照してください。
DHCPリレー エージェントのみのイネーブル化
スイッチでDHCPリレー エージェントをイネーブルにするには、イネーブルEXECモードで次の手順を実行します。
DHCPサーバおよびリレー エージェントをディセーブルにするには、 no service dhcp グローバル コンフィギュレーション コマンドを使用します。
DHCPリレー エージェントおよびOption 82のイネーブル化
Cisco IOS Release 12.1(19)EA1では、Option 82加入者識別に関する実装が旧リリースから変更されました。DHCPスヌーピングを使用するときのリレー エージェントおよびOption 82の設定に関する詳細については、 旧ソフトウェア リリースからのアップグレード を参照してください。
スイッチでDHCPリレー エージェントおよびOption 82をイネーブルにするには、イネーブルEXECモードで次の手順を行います。
|
DHCPサーバへのDHCP要求メッセージ転送時の、DHCPリレー情報(Option 82フィールド)の挿入および削除をイネーブルにします。 |
||
DHCPサーバおよびリレー エージェントをディセーブルにするには、 no service dhcp グローバル コンフィギュレーション コマンドを使用します。Option 82フィールドの挿入および削除をディセーブルにするには、 no ip dhcp relay information option グローバル コンフィギュレーション コマンドを使用します。
リレー エージェント情報Option 82の検証
デフォルトでは、スイッチはDHCPサーバから受信したDHCP応答パケットのOption 82フィールドが有効であるかどうかを確認します。無効なメッセージを受信した場合、スイッチはそのメッセージを廃棄します。有効なメッセージを受信した場合、スイッチはOption 82フィールドを削除してから、そのパケットを転送します。
この機能をディセーブルにするには、 no ip dhcp relay information check グローバル コンフィギュレーション コマンドを使用します。この機能をディセーブルにした場合、スイッチはOption 82フィールドの有効性は検証しませんが、パケットからこのオプションを削除して転送します(スイッチでDHCPスヌーピングがイネーブルのときは、この機能は利用できません)。
再転送ポリシーの設定
デフォルトの再転送ポリシーでは、スイッチはDHCPクライアントから受信したパケット内の既存のリレー情報をスイッチのDHCPリレー情報に置き換えます。このデフォルトのスイッチ動作がご使用のネットワーク構成に適さない場合は、 ip dhcp relay information policy { drop | keep | replace } グローバル コンフィギュレーション コマンドを使用して、設定を変更できます(スイッチでDHCPスヌーピングがイネーブルのときは、この機能は利用できません)。
再転送ポリシーの動作を変更するには、イネーブルEXECモードで次の手順を実行します。
|
再転送ポリシーを設定します。デフォルトでは、既存の情報がスイッチのDHCPリレー情報に置き換えられます(上書きされます)。 |
||
再転送ポリシーをデフォルト設定に戻すには、 no ip dhcp relay information policy グローバル コンフィギュレーション コマンドを使用します。
パケット転送アドレスの指定
DHCPリレー エージェントは、同じ物理サブネット上にないクライアントとサーバ間のDHCPパケットを転送する任意のデバイスです。リレー エージェントの転送は、IPルータによる通常の転送とは異なります。IPルータの転送では、IPデータグラムがネットワーク間でトランスペアレントに交換されますが、リレー エージェントはDHCPメッセージを受信してから、新しいDHCPメッセージを作成して、別のインターフェイスに送信します。
DHCPサーバとDHCPクライアントが異なるネットワークまたはサブネットに存在する場合は、 ip helper-address address インターフェイス コンフィギュレーション コマンドをスイッチに設定する必要があります。通常は、クライアントに最も近いレイヤ3インターフェイスにこのコマンドを設定します。 ip helper-address コマンドには、特定のDHCPサーバのIPアドレスを使用できます。また、宛先のネットワーク セグメントにほかのDHCPサーバがある場合は、ネットワーク アドレスを使用することもできます。ネットワーク アドレスを使用すると、任意のDHCPサーバが要求に応答できるようになります。
パケット転送アドレスを指定するには、イネーブルEXECモードで次の手順を実行します。この手順は任意です。
DHCPパケット転送アドレスを削除する場合は、 no ip helper-address address インターフェイス コンフィギュレーションコマンドを使用します。
以下の例は、DHCPサーバ、リレー エージェント、DHCPリレー情報(Option 82)の挿入および削除をイネーブルにする方法を示しています。この例では、VLAN ID 10のスイッチ仮想インターフェイスを作成し、これにIPアドレスを割り当てて、30.0.0.2のDHCPパケット転送アドレス(DHCPサーバ アドレス)を指定しています。DHCPクライアントに接続されている2つのインターフェイス(GigabitEthernet 0/1および0/2)はVLAN 10のスタティック アクセス ポートとして設定されています( 図18-1メトロポリタン イーサネット ネットワークのDCHPリレー エージェント を参照)。
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# ip dhcp relay information option
Switch(config)# interface vlan 10
Switch(config-if)# ip address 10.0.0.1 255.0.0.0
Switch(config-if)# ip helper-address 30.0.0.2
Switch(config)# interface range gigabitethernet0/1 - 2
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
DHCPスヌーピングおよびOption 82のイネーブル化
スイッチでDHCPスヌーピングをイネーブルにするには、イネーブルEXECモードで次の手順を実行します。
|
VLANまたはVLAN範囲でDHCPスヌーピングをイネーブルにします。指定できる範囲は1〜4094です。 VLAN IDは、VLAN ID番号を特定してVLAN IDを単一で入力したり、カンマ区切りで一連のVLAN IDを入力したり、ハイフン区切りでVLAN IDの範囲を入力したり、スペース区切りで開始と終了のVLAN IDを入力してVLAN IDの範囲を入力したりできます。 |
||
|
DHCPサーバへのDHCP要求メッセージ転送時の、DHCPリレー情報(Option 82フィールド)の挿入および削除をイネーブルにします。 |
||
|
(任意)Option 82機能の回線IDおよびリモートIDサブオプションの代替フォーマットを選択するには、 ip dhcp snooping information option format snmp-ifindex を指定します。詳細については、 旧ソフトウェア リリースからのアップグレード を参照してください。 デフォルト設定は、 no ip dhcp snooping information option format snmp-ifindex です。 |
||
|
(任意)スイッチがエッジ スイッチに接続された集約スイッチの場合、スイッチをイネーブルにして、エッジ スイッチからのOption 82情報を持った着信DHCPスヌーピング パケットを受信します。
|
||
|
(任意)インターフェイスを信頼される状態または信頼されない状態として設定します。信頼されないクライアントからメッセージを受信するようインターフェイスを設定するには、 no キーワードを使用できます。デフォルトは信頼されない状態です。 |
||
|
(任意)インターフェイスが1秒間に受信できるDHCPパケット数を設定します。指定できる範囲は1〜4294967294です。デフォルトでは、レート制限は設定されていません。
|
||
|
(任意)信頼されないポートで受信されたDHCPパケットの送信元MACアドレスが、パケット内のクライアント ハードウェア アドレスと一致することを確認するように、スイッチを設定します。デフォルトは、送信元MACアドレスがパケット内のクライアント ハードウェア アドレスと一致することを確認します。 |
||
DHCPスヌーピングをディセーブルにするには、 no ip dhcp snooping グローバル コンフィギュレーション コマンドを使用します。VLANまたはVLAN範囲のDHCPスヌーピングをディセーブルにするには、 no ip dhcp snooping vlan vlan-id グローバル コンフィギュレーション コマンドを使用します。Option 82フィールドの挿入および削除をディセーブルにするには、 no ip dhcp snooping information option グローバル コンフィギュレーション コマンドを使用します。エッジ スイッチからのOption 82情報を持った着信DHCPスヌーピング パケットを廃棄するように集約スイッチを設定するには、 no ip dhcp snooping information option allow-untrusted グローバル コンフィギュレーション コマンドを使用します。
次に、VLAN 10でDHCPスヌーピングをグローバルにイネーブルにし、ポートFastEthernet 0/1でレート制限を100パケット/秒に設定する例を示します。
Switch(config)# ip dhcp snooping
Switch(config)# ip dhcp snooping vlan 10
Switch(config)# ip dhcp snooping information option
Switch(config)# interface fastethernet0/1
Switch(config-if)# ip dhcp snooping limit rate 100
プライベートVLANでのDHCPスヌーピングのイネーブル化
プライベートVLANでDHCPスヌーピングをイネーブルにできます。DHCPスヌーピングがイネーブルの場合、設定はプライマリVLANおよび関連付けられているセカンダリVLANの両方に伝播します。DHCPスヌーピングがプライマリVLANでイネーブルの場合、セカンダリVLANでもイネーブルに設定されています。
DHCPスヌーピングがすでにプライマリVLANに設定されていてDHCPスヌーピングをセカンダリVLANでは異なるように設定した場合、セカンダリVLANの設定は有効になりません。DHCPスヌーピングをプライマリVLANに設定する必要があります。DHCPスヌーピングがプライマリVLANに設定されておらず、VLAN 200などのセカンダリVLANにDHCPスヌーピングを設定した場合、次のメッセージが表示されます。
2w5d:%DHCP_SNOOPING-4-DHCP_SNOOPING_PVLAN_WARNING:DHCP Snooping configuration may not take effect on secondary vlan 200. DHCP Snooping configuration on secondary vlan is derived from its primary vlan.
show ip dhcp snooping イネーブルEXECコマンド出力には、プライマリおよびセカンダリ プライベートVLANを含む、DHCPスヌーピングがイネーブルのすべてのVLANが表示されています。
Cisco IOS DHCPサーバ データベースのイネーブル化
Cisco IOS DHCPサーバ データベースをイネーブルにして設定する手順については『 Cisco IOS IP Configuration Guide』Release 12.2 の「Configuring DHCP」の章にある「DHCP Configuration Task List」を参照してください。
DHCPスヌーピング バインディング データベース エージェントのイネーブル化
スイッチでDHCPスヌーピング バインディング データベース エージェントをイネーブルにして設定するには、イネーブルEXECモードで次の手順を実行します。
データベース エージェントおよびバインディング ファイルの使用を停止するには、 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 に示す1つまたは複数のイネーブルEXECコマンドを使用します。
|
DHCPスヌーピング バインディング データベースにダイナミックに設定されたバインディングのみを表示します。 4 |
|
IPソース ガードの概要
IPソース ガードは、DHCPスヌーピング バインディング データベースと手動で設定されたIPソース バインディングに基づいてトラフィックをフィルタリングすることで、非ルーテッド レイヤ2インターフェイス上のIPトラフィックを制限するセキュリティ機能です。IPソース ガードを使用して、ホストがネイバのIPアドレスを使用しようとした場合のトラフィック攻撃を回避できます。
DHCPスヌーピングが信頼できないインターフェイスでイネーブルの場合にIPソース ガードをイネーブルにできます。IPソース ガードがインターフェイスでイネーブルになったあと、スイッチは、DHCPスヌーピングで許可されたDHCPパケット以外の、インターフェイスで受信されたすべてのIPトラフィックをブロックします。ポートACLはインターフェイスに適用されます。ポートACLにより、IPソース バインディング テーブル内の送信元IPアドレスのIPトラフィックのみを許可し、他のトラフィックをすべて拒否できます。
IPソース バインディング テーブルには、DHCPスヌーピングで学習されたバインディング、または手動で設定されたバインディング(スタティックIPソース バインディング)があります。このテーブルのエントリにはIPアドレスと、関連MACアドレス、関連VLAN番号があります。スイッチは、IPソース ガードがイネーブルの場合にのみIPソース バインディング テーブルを使用します。
IPソース ガードは、アクセス ポートやトランク ポートなどのレイヤ2ポートでのみサポートされます。IPソース ガードを、送信元IPアドレス フィルタリングまたは送信元IPおよびMACアドレス フィルタリングとともに設定できます。
送信元IPアドレス フィルタリング
IPソース ガードがこのオプションでイネーブルの場合、IPトラフィックは送信元IPアドレスに基づいてフィルタリングされます。送信元IPアドレスがDHCPスヌーピング バインディング データベースのエントリまたはIPソース バインディング テーブル内のバインディングと一致した場合、スイッチはIPトラフィックを転送します。
DHCPスヌーピング バインディングまたはスタティックIPソース バインディングがインターフェイス上で追加、変更、または削除された場合、スイッチはIPソース バインディングを変更してポートACLを変更し、ポートACLをインターフェイスに再び適用します。
IPソース バインディング(DHCPスヌーピングでダイナミックに学習または手動で設定)が設定されていないインターフェイスでIPソース ガードをイネーブルにする場合、スイッチはインターフェイス上のすべてのIPトラフィックを拒否するポートACLを作成し、適用します。IPソース ガードをディセーブルにする場合、スイッチはポートACLをインターフェイスから削除します。
送信元IPおよびMACアドレス フィルタリング
IPソース ガードがこのオプションでイネーブルの場合、IPトラフィックは送信元IPアドレスおよびMACアドレスに基づいてフィルタリングされます。スイッチは、送信元IPアドレスおよびMACアドレスがIPソース バインディング テーブルのエントリと一致する場合にのみトラフィックを転送します。
送信元IPおよびMACアドレス フィルタリングがあるIPソース ガードがイネーブルの場合、スイッチはIPおよび非IPトラフィックをフィルタリングします。IPまたは非IPパケットの送信元MACアドレスが有効なIPソース バインディングと一致する場合、スイッチはパケットを転送します。スイッチは、DHCPパケット以外の他のすべてのタイプのパケットを廃棄します。
スイッチは、ポート セキュリティを使用して送信元MACアドレスをフィルタリングします。ポート セキュリティ違反が発生する場合にインターフェイスをシャット ダウンできます。
IPソース ガードの設定
ここでは、スイッチでIPソース ガードを設定する方法について説明します。
IPソース ガードのデフォルト設定
デフォルトでは、IPソース ガードはディセーブルに設定されています。
IPソース ガード設定時の注意事項
- 非ルーテッド ポートでのみスタティックIPバインディングを設定できます。 ip source binding mac-address vlan vlan-id ip-address interface interface-id グローバル コンフィギュレーション コマンドをルーテッド インターフェイスに入力した場合、次のエラー メッセージが表示されます。
Static IP source binding can only be configured on switch port.
- 送信元IPフィルタリングのあるIPソース ガードがVLANでイネーブルの場合、DHCPスヌーピングは、インターフェイスが属するアクセスVLAN上でイネーブルにする必要があります。
- 複数のVLANがあるトランク インターフェイスでIPソース ガードをイネーブルにして、DHCPスヌーピングがすべてのVLANでイネーブルの場合、送信元IPアドレス フィルタがすべてのVLANに適用されます。
- 送信元IPおよびMACアドレス フィルタリングのあるIPソース ガードがイネーブルの場合、DHCPスヌーピングおよびポート セキュリティはインターフェイス上でイネーブルにする必要があります。
- プライベートVLANが設定されているインターフェイスでIPソース ガードを設定する場合、ポート セキュリティはサポートされません。
- IPソース ガードはEtherChannelでサポートされません。
- IEEE 802.1Xポートベース認証がイネーブルである場合、この機能をイネーブルにできます。
- Ternary CAM(TCAM)エントリ数が使用可能な最大数を超えた場合、CPUの使用量が増加します。
IPソース ガードのイネーブル化
インターフェイス上でIPソース ガードをイネーブルにして設定するには、イネーブルEXECモードで次の手順を実行します。
送信元IPアドレス フィルタリングのあるIPソース ガードをディセーブルにするには、 no ip verify source インターフェイス コンフィギュレーション コマンドを使用します。
スタティックIPソース バインディング エントリを削除するには、 no ip source global コンフィギュレーション コマンドを使用します。
次に、送信元IPおよびMACフィルタリングのあるIPソース ガードをVLAN 10およびVLAN 11でイネーブルにする例を示します。
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface gigabitethernet1/0/1
Switch(config-if)# ip verify source port-security
Switch(config)# ip source binding 0100.0022.0010 vlan 10 10.0.0.2 interface gigabitethernet1/0/1
Switch(config)# ip source binding 0100.0230.0002 vlan 11 10.0.0.4 interface gigabitethernet1/0/1
IPソース ガード情報の表示
IPソース ガード情報を表示するには、 表18-3 に示す1つまたは複数のイネーブルEXECコマンドを使用します。
