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

目次

DHCP機能およびIPソース ガードの設定

DHCP機能の概要

DHCPサーバ

DHCPリレー エージェント

DHCPスヌーピング

Option 82データ挿入

Cisco IOS DHCPサーバ データベース

DHCPスヌーピング バインディング データベース

DHCP機能の設定

DHCPのデフォルト設定

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

DHCPサーバの設定

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

パケット転送アドレスの指定

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

プライベートVLANでのDHCPスヌーピングのイネーブル化

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

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

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

IPソース ガードの概要

送信元IPアドレス フィルタリング

送信元IPおよびMACアドレス フィルタリング

IPソース ガードの設定

IPソース ガードのデフォルト設定

IPソース ガード設定時の注意事項

IPソース ガードのイネーブル化

IPソース ガード情報の表示

DHCP機能およびIPソース ガードの設定

この章では、Catalyst 3750スイッチに、Dynamic Host Configuration Protocol(DHCP)スヌーピング機能およびOption 82データ挿入機能を設定する手順について説明します。また、IPソース ガード機能の設定方法も説明しています。


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


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

「DHCP機能の概要」

「DHCP機能の設定」

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

「IPソース ガードの概要」

「IPソース ガードの設定」

「IPソース ガード情報の表示」

DHCP機能の概要

DHCPは、中央のサーバからホストのIPアドレスをダイナミックに割り当てるために、LAN環境で広範囲に使用されています。この機能により、IPアドレス管理のオーバーヘッドを著しく軽減できます。また、DHCPにより、IPアドレスをホストに永続的に割り当てる必要がなくなり、ネットワークに接続しているホストだけがIPアドレスを使用するので、制限されたIPアドレス スペースの節約に役立ちます。

スイッチでは次のDHCP機能をサポートしています。

「DHCPサーバ」

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

「DHCPスヌーピング」

「Option 82データ挿入」

「Cisco IOS DHCPサーバ データベース」

「DHCPスヌーピング バインディング データベース」

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

DHCPサーバ

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

DHCPリレー エージェント

DHCPリレー エージェントは、DHCPパケットをクライアントとサーバの間で転送するレイヤ3デバイスです。リレー エージェントは、クライアントとサーバが同じ物理サブネット上にない場合に、両者の間で要求と応答の転送を行います。リレー エージェント転送は、IPデータグラムがネットワークの間で透過的にスイッチングされる通常のレイヤ2転送とは異なります。リレー エージェントはDHCPメッセージを受信し、新しいDHCPメッセージを生成して出力インターフェイスで送信します。

DHCPスヌーピング

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

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


) DHCPスヌーピングを正常に機能させるためには、すべてのDHCPサーバを信頼できるインターフェイスを介してスイッチに接続する必要があります。


信頼できないDHCPメッセージとは、ネットワークまたはファイアウォールの外部から受信したメッセージです。サービス プロバイダー環境でDHCPスヌーピングを使用する場合、信頼できないメッセージは、カスタマー スイッチなど、サービス プロバイダーのネットワーク上にないデバイスから送信されたものです。不明なデバイスからのメッセージは、トラフィック攻撃の送信元の可能性があるので、信頼できません。

DHCPスヌーピング バインディング データベースにはMAC(メディア アクセス制御)アドレス、IPアドレス、リース時間、バインディング タイプ、VLAN(仮想LAN)番号、スイッチ上のローカルにある信頼できないインターフェイスに対応するインターフェイス情報があります。これには、信頼できるインターフェイスに相互接続しているホストに関する情報はありません。

サービス プロバイダー ネットワークでは、信頼できるインターフェイスは同じネットワーク内のデバイスのポートに接続されています。信頼できないインターフェイスは、ネットワーク内の信頼できないインターフェイスまたはそのネットワークにはないデバイス上のインターフェイスに接続されています。

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

スイッチは、次のような状況が発生した場合にDHCPパケットを廃棄します。

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

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

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

DHCPリレー エージェントが0.0.0.0でないリレー エージェントIPアドレスが含まれるDHCPパケットを転送するか、またはリレー エージェントがOption 82情報が含まれるパケットを信頼できないポートに転送する場合

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

Option 82情報がCisco IOS Release 12.2(25)EYより前のソフトウェア リリースが動作するエッジ スイッチによって挿入されている場合、DHCPスヌーピング バインディング データベースが正しく読み込まれないので、DHCPスヌーピングを集約スイッチに設定できません。また、スタティック バインディングまたはAddress Resolution Protocol(ARP)Access Control List(ACL;アクセス制御リスト)を使用していない場合、IPソース ガードおよびダイナミックなARP検査をスイッチに設定できません。

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

Option 82データ挿入

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


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


図21-1に、中央集中型DHCPサーバが、アクセス レイヤでスイッチに接続している加入者にIPアドレスの割り当てを行うメトロポリタン イーサネット ネットワークの例を示します。DHCPクライアントおよびこれに対応するDHCPサーバは、同じIPネットワークまたはサブネット上には存在しないため、DHCPリレー エージェント(Catalystスイッチ)は、ブロードキャスト転送をイネーブルにし、クライアントとサーバの間のDHCPメッセージを伝送するように、ヘルパー アドレスを使用して設定されます。

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

 

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

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

スイッチがDHCP要求を受信すると、パケットにOption 82情報を追加します。Option 82情報は、スイッチのMACアドレス(リモート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サーバはこれに対する応答をスイッチにユニキャストします。スイッチでは、リモートIDあるいは回線IDフィールドを調べて、自分が挿入したOption 82データであることを確認します。スイッチはOption 82フィールドを削除して、DHCP要求を送信したDHCPクライアントに接続するスイッチ ポートにパケットを転送します。

前述の一連のイベントが発生した場合、図21-2内にある次のフィールドの値は変更されません。

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

サブオプション タイプ

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

回線IDタイプ

回線IDタイプの長さ

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

サブオプション タイプ

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

リモートIDタイプ

回線IDタイプの長さ

回線IDサブオプションのポート フィールドでは、ポート番号が3から始まります。たとえばスイッチでは、ポート3がFast Ethernet 1/0/1ポート、ポート4がFast Ethernet 2/0/2ポート、ポート5が
Fast Ethernet 3/0/3ポートというようになります。ポート27はSmall Form-Factor Pluggable(SFP)モジュール スロット1/0/1、ポート28はSFPモジュール スロット2/0/2です。

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

図21-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スヌーピング データベース エージェントを使用する必要があります。エージェントがディセーブルの場合、スイッチはリロード時にDHCPスヌーピング バインディングおよびその接続が切断されます。またスイッチへの接続が切断されます。

データベース エージェントは設定された場所でファイルにバインディングを保存します。リロード時、スイッチはDHCPスヌーピング バインディング データベースを構築するためにバインディング ファイルを読み込みます。スイッチは、データベースの変更時に更新することでファイルを最新のものに保ちます。

スイッチは、新しいバインディングを学習したり、バインディングを消失した場合には、データベース内のエントリとバインディング ファイル内のエントリを更新します。データベースおよびファイルを更新する頻度は、設定可能な遅延に基づいて更新され、更新はバッチ処理されます。データベースおよびファイルが(write-delayおよびabort-timeout値によって設定された)指定の時間更新されない場合、更新は停止します。

バインディングのあるファイルのフォーマットは次のとおりです。

<initial-checksum>
TYPE DHCP-SNOOPING
VERSION 1
BEGIN
<entry-1> <checksum-1>
<entry-2> <checksum-1-2>
...
...
<entry-n> <checksum-1-2-..-n>
END
 

ファイル内の各エントリには、スイッチがファイルを読み込んだときにエントリの確認に使用するチェックサム値がタグ付けされます。1行めの initial-checksum エントリは、最新のファイル更新に関連したエントリと前のファイル更新に関連したエントリとを区別します。

次に、バインディング ファイルの例を示します。

2bb4c2a1
TYPE DHCP-SNOOPING
VERSION 1
BEGIN
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
END
 

スイッチが開始されて計算されたチェックサム値が保存されているチェックサム値と等しい場合、スイッチはバインディング ファイルからエントリを読み取ってバインディングをDHCPスヌーピング バインディング データベースに追加します。次のいずれかの状況が発生した場合にスイッチはエントリを無視します。

スイッチがエントリを読み取って計算されたチェックサム値が保存されているチェックサム値と異なる場合。エントリとそのあとのエントリが無視されます。

エントリに期限切れのリース時間がある場合(リース時間が期限切れになってもスイッチはバインディング エントリを削除しない場合があります)

エントリ内のインターフェイスがシステムに存在しない場合

インターフェイスがルーテッド インターフェイスまたはDHCPスヌーピング信頼インターフェイスの場合

DHCP機能の設定

ここでは、スイッチにDHCPサーバ、DHCPリレー エージェント、DHCPスヌーピング、Option
82、Cisco IOS DHCPサーバ バインディング データベース、DHCPスヌーピング データベースを設定する方法について説明します。

「DHCPのデフォルト設定」

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

「DHCPサーバの設定」

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

「パケット転送アドレスの指定」

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

「プライベートVLANでのDHCPスヌーピングのイネーブル化」

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

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

DHCPのデフォルト設定

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

 

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

機能
デフォルト設定

DHCPサーバ

イネーブル1

DHCPリレー エージェント

イネーブル2

DHCPパケット転送アドレス

設定なし

リレー エージェント情報のチェック

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

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

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

Cisco IOS DHCPサーバ バインディング データベース

イネーブル3

グローバルにイネーブルにされたDHCPスヌーピング

ディセーブル

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

イネーブル

信頼できない入力インターフェイスでパケットを受け付けるDHCPスヌーピング オプション4

ディセーブル

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

設定なし

DHCPスヌーピングの信頼

信頼されない

DHCPスヌーピングVLAN

ディセーブル

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

イネーブル

DHCPスヌーピング バインディング データベース エージェント3

イネーブル

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

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

3.スイッチは、DHCPサーバとして設定されているデバイスからのみネットワーク アドレスおよび設定パラメータを取得します。

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

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

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

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

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

スイッチで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サーバが割り当てたり排除したりできるIPアドレスを指定する、デバイスにDHCPオプションを設定する、またはDHCPデータベース エージェントを設定する必要があります。

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

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

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

DHCPスヌーピング バインディング データベースを設定する場合、次の注意事項に従ってください。

NVRAM(不揮発性RAM)およびフラッシュ メモリのストレージ容量に制限があるので、バインディング ファイルはTFTP(簡易ファイル転送プロトコル)サーバに保存することを推奨します。

ネットワーク ベースURL(TFTPやFTPなどの)に設定されているURLに空のファイルを作成したあとで、スイッチが最初にそのURLにあるバインディング ファイルにバインディングを初めて書き込むようにする必要があります。

データベースのリース時間が正確であることを保証するために、NTPをイネーブルに設定することを推奨します。詳細については、「NTPの設定」を参照してください。

NTPが設定されていない場合、スイッチのシステム クロックがNTPと同期している場合のみ、スイッチはバインディング変更をバインディング ファイルに書き込みます。

ip dhcp snooping information option allowed-untrusted コマンドを、信頼できないデバイスが接続されている集約スイッチに入力しないでください。このコマンドを入力すると、信頼できないデバイスが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モードで次の手順を実行します。

 

 
コマンド
説明

ステップ 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サーバおよびDHCPクライアントが異なるネットワークまたはサブネットにある場合、スイッチを ip helper-address address インターフェイス コンフィギュレーション コマンドで設定する必要があります。一般的な規則は、クライアントに最も近いレイヤ3インターフェイス上にコマンドを設定することです。 ip helper-address コマンドで使用されているアドレスは、特定のDHCPサーバIPアドレスか、または他のDHCPサーバが宛先ネットワーク セグメントにある場合はネットワーク アドレスにできます。ネットワーク アドレスを使用することで、どのDHCPサーバも要求に応答できるようになります。

パケット転送アドレスを指定するには、イネーブルEXECモードで次の手順を実行します。

 

 
コマンド
説明

ステップ 1

configure terminal

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

ステップ 2

interface vlan vlan-id

インターフェイス コンフィギュレーション モードを開始し、スイッチ仮想インターフェイスを作成します。

ステップ 3

ip address ip-address subnet-mask

IPアドレスおよびIPサブネットを使用してインターフェイスを設定します。

ステップ 4

ip helper-address address

DHCPパケット転送アドレスを指定します。

ヘルパー アドレスは特定のDHCPサーバ アドレスにするか、他のDHCPサーバが宛先ネットワーク セグメントにある場合は、ネットワーク アドレスにできます。ネットワーク アドレスを使用すると、他のサーバもDHCP要求に応答できるようになります。

複数のサーバがある場合、各サーバに1つのヘルパー アドレスを設定できます。

ステップ 5

exit

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

ステップ 6

interface range port-range

または

interface interface-id

DHCPクライアントに接続されている複数の物理ポートを設定し、インターフェイス レンジ コンフィギュレーション モードを開始します。

または

DHCPクライアントに接続されている単一の物理ポートを設定し、インターフェイス レンジ コンフィギュレーション モードを開始します。

ステップ 7

switchport mode access

ポートのVLANメンバーシップ モードを定義します。

ステップ 8

switchport access vlan vlan-id

ステップ2で設定したのと同じVLANにポートを割り当てます。

ステップ 9

end

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

ステップ 10

show running-config

設定を確認します。

ステップ 11

copy running-config startup-config

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

DHCPパケット転送アドレスを削除するには、 no ip helper-address address インターフェイス コンフィギュレーション コマンドを使用します。

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、カンマで区切られた一連のVLAN ID、ハイフンで区切られたVLAN IDの範囲、またはスペースで区切られた開始および終了VLAN IDを使用して区切られたVLAN ID範囲を入力できます。

ステップ 4

ip dhcp snooping information option

スイッチをイネーブルにして、DHCPサーバへのDHCP要求メッセージのDHCPリレー情報(Option 82フィールド)を挿入または削除します。

デフォルトではイネーブルです。

ステップ 5

ip dhcp snooping information option allowed-untrusted

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

デフォルトはディセーブルです。


) 集約スイッチが信頼できるデバイスに接続されている場合のみ、このコマンドを入力する必要があります。


 

ステップ 6

interface interface-id

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

ステップ 7

ip dhcp snooping trust

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

ステップ 8

ip dhcp snooping limit rate rate

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


) 信頼できないレート制限を毎秒100パケット以下にすることを推奨します。信頼できるインターフェイスでレート制限を設定した場合、ポートが、DHCPスヌーピングをイネーブルにしている複数のVLANに割り当てられたトランク ポートであれば、レート制限値を上げる必要があります。


 

ステップ 9

exit

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

ステップ 10

ip dhcp snooping verify mac-address

(任意)信頼できないポートで受信された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 allowed-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 gigabitethernet1/0/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モードで次の手順を実行します。

 

 
コマンド
説明

ステップ 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 }

次の形式のいずれかを使用して、データベース エージェントまたはバインディング ファイル用の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スヌーピング バンディング データベース エージェントをイネーブルにし、データベース エージェントを設定し、バインディング データベースにバインディング エントリを追加する例を示します。

Switch(config)# ip dhcp snooping database flash:/database1
Switch(config)# ip dhcp snooping database timeout 30
Switch(config)# ip dhcp snooping database write-delay 30
Switch# ip dhcp snooping binding 0001.0200.0004 vlan 100 172.16.22.44 interface gigabitethernet1/0/1 expiry 5000
Switch# ip dhcp snooping binding 0022.0300.0008 vlan 100 172.16.24.44 interface gigabitethernet1/0/1 expiry 5000
Switch(config)# ip dhcp snooping binding 0004.0070.0012 vlan 100 172.16.26.44 interface gigabitethernet1/0/1 expiry 5000

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

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

 

表21-2 DHCP情報表示用のコマンド

コマンド
説明

show ip dhcp snooping

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

show ip dhcp snooping binding

バインディング テーブルとも呼ばれるDHCPスヌーピング バインディング データベースの中から、ダイナミックに設定されたバインディングのみを表示します。5

show ip dhcp snooping database

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

show ip source binding

ダイナミックおよびスタティックに設定されたバインディングを表示します。

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


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


IPソース ガードの概要

IPソース ガードは、ルーティングされないレイヤ2インターフェイス上のIPトラフィックを制限するセキュリティ機能で、DHCPスヌーピング バインディング データベースと手動で設定されたIPソース バインディングに基づいてトラフィックをフィルタリングすることで、実現しています。IPソース ガードを使用して、ホストがネイバのIPアドレスを使用しようとした場合のトラフィック攻撃を回避できます。

DHCPスヌーピングが信頼できないインターフェイスでイネーブルの場合にIPソース ガードをイネーブルにできます。IPソース ガードがインターフェイスでイネーブルになったあと、スイッチは、DHCPスヌーピングで許可されたDHCPパケットを除く、インターフェイスで受信されたすべてのIPトラフィックをブロックします。ポートAccess Control List(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ソース ガードのデフォルト設定

デフォルトでは、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ソース ガードがイネーブルでトランク インターフェイス上のVLANでDHCPスヌーピング イネーブルまたはディセーブルにする場合、スイッチが適切にトラフィックをフィルタリングしない場合があります。


送信元IPおよびMACアドレス フィルタリングがあるIPソース ガードがイネーブルの場合、DHCPスヌーピングおよびポート セキュリティがインターフェイスでイネーブルでなければなりません。

プライベートVLANが設定されているインターフェイスでIPソース ガードを設定する場合、ポート セキュリティはサポートされません。

IPソース ガードはEtherChannelでサポートされません。

802.1xポートベース認証がイネーブルである場合、IPソース ガード機能をイネーブルにできます。

Ternary CAM(TCAM)エントリ数が使用可能な最大数を超えた場合、CPUの使用量が増加します。

IPソース ガードのイネーブル化

インターフェイス上でIPソース ガードをイネーブルにして設定するには、イネーブルEXECモードで次の手順を実行します。

 

 
コマンド
説明

ステップ 1

configure terminal

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

ステップ 2

interface interface-id

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

ステップ 3

ip verify source

または

ip verify source port-security

送信元IPアドレス フィルタリングがあるIPソース ガードをイネーブルにします。

IPソース ガードと送信元IPおよびMACアドレス フィルタリングをイネーブルにします。

ステップ 4

exit

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

ステップ 5

ip source binding mac-address vlan vlan-id ip-address inteface interface-id

スタティックIPソース バインディングを追加します。

各スタティック バインディングに対してこのコマンドを入力します。

ステップ 6

end

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

ステップ 7

show ip verify source [ interface interface-id ]

すべてのインターフェイスまたは特定のインターフェイスに対してIPソース ガード設定を表示します。

ステップ 8

show ip source binding [ ip-address ] [ mac-address ] [ dhcp-snooping | static ] [ inteface interface-id ] [ vlan vlan-id ]

スイッチ、特定のVLAN、または特定のインターフェイス上のIPソース バインディングを表示します。

ステップ 9

copy running-config startup-config

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

送信元IPアドレス フィルタリングがあるIPソース ガードをディセーブルにするには、 no ip verify source インターフェイス コンフィギュレーション コマンドを使用します。

スタティックIPソース バインディング エントリを削除するには、 no ip source global コンフィギュレーション コマンドを使用します。

次に、送信元IPおよびMACフィルタリングがあるIPソース ガードをVLAN 10およびVLAN 11でイネーブルにする例を示します。

Switch# configure terminal
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-if)# exit
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
Switch(config)# end

IPソース ガード情報の表示

IPソース ガード情報を表示するには、 表21-3 に示すイネーブルEXECコマンドを1つまたは複数組み合わせて使用します。

 

表21-3 IPソース ガード情報の表示用コマンド

コマンド
説明

show ip source binding

スイッチのIPソース バインディングを表示します。

show ip verify source

スイッチのIPソース ガード設定を表示します。