Catalyst 2975 スイッチ ソフトウェア コンフィギュレーション ガイド,12.2(52)SE
DHCP 機能と IP ソース ガード機能の設定
DHCP 機能と IP ソース ガード機能の設定
発行日;2012/02/05 | 英語版ドキュメント(2009/10/12 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 15MB) | フィードバック

目次

DHCP 機能と IP ソース ガード機能の設定

DHCP スヌーピングの概要

DHCP サーバ

DHCP リレー エージェント

DHCP スヌーピング

Option 82 データ挿入

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

DHCP スヌーピングおよびスイッチ スタック

DHCP スヌーピングの設定

DHCP スヌーピングのデフォルト設定

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

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

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

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

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

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

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

IP ソース ガードの概要

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

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

スタティック ホスト用の IP ソース ガード

IP ソース ガードの設定

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

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

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

スタティック ホスト用の IP ソース ガードの設定

レイヤ 2 アクセス ポートでのスタティック ホスト用の IP ソース ガードの設定

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

DHCP サーバのポートベースのアドレス割り当ての概要

DHCP サーバのポートベースのアドレス割り当ての設定

ポートベースのアドレス割り当てのデフォルト設定

ポートベースのアドレス割り当て設定時の注意事項

DHCP サーバのポートベースのアドレス割り当てのイネーブル化

DHCP サーバのポートベースのアドレス割り当ての表示

DHCP 機能と IP ソース ガード機能の設定

この章では、Catalyst 2975 スイッチに、DHCP スヌーピングと Option 82 データ挿入、および DHCP サーバのポートベースのアドレス割り当て機能を設定する方法について説明します。また、IP ソース ガード機能の設定方法についても説明します。特に明記しないかぎり、 スイッチ という用語はスタンドアロン スイッチおよびスイッチ スタックを意味します。


) この章で使用するコマンドの構文および使用方法の詳細については、Cisco.com の [Documentation] > [Cisco IOS Software] > [12.2 Mainline] > [Command References] ページでこのリリースのコマンド リファレンスを参照するか、『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 サーバのポートベースのアドレス割り当ての設定」

「DHCP サーバのポートベースのアドレス割り当ての表示」

DHCP スヌーピングの概要

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

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

「DHCP サーバ」

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

「DHCP スヌーピング」

「Option 82 データ挿入」

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

「DHCP スヌーピングおよびスイッチ スタック」

DHCP クライアントの詳細については、Cisco.com の [Documentation] > [Cisco IOS Software] > [12.2 Mainline] > [Configuration Guides] ページで、『 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 の転送方法(IP データグラムがネットワーク間でトランスペアレントにスイッチングされる)とは異なります。リレー エージェントは DHCP メッセージを受信すると、DHCP メッセージを新たに生成して出力インターフェイスから送信します。

DHCP スヌーピング

DHCP スヌーピングとは、untrusted(信頼性のない)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 スヌーピング バインディング データベースを構築できません。

untrusted インターフェイスを介して集約スイッチをエッジ スイッチに接続している場合、 ip dhcp snooping information option allow-untrusted グローバル コンフィギュレーション コマンドを入力することで、集約スイッチは Option 82 情報を持ったパケットをエッジ スイッチから受信できます。集約スイッチは untrusted スイッチ インターフェイスを介して接続されたホストのバインディングを学習します。ホストが接続されている untrusted 入力インターフェイスで、スイッチが Option 82 情報を含むパケットを受信する場合は、集約スイッチ上で、ダイナミック ARP 検査または IP ソース ガードなどの DHCP セキュリティ機能をイネーブルできます。集約スイッチに接続されているエッジ スイッチ上のポートは、trusted インターフェイスとして設定する必要があります。

Option 82 データ挿入

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


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


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

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

 

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

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

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

リレー エージェントの 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 クライアントに接続されたスイッチ ポートに転送します。

前述のイベントのシーケンスが発生した場合、図 21-2 にある次のフィールドの値は変化しません。

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

サブオプション タイプ

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

回線 ID タイプ

回線 ID タイプの長さ

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

サブオプション タイプ

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

リモート ID タイプ

リモート ID タイプの長さ

回線 ID サブオプションのポート フィールドでは、ポート番号が 3 から始まります。たとえば 48 の 10/100/1000 ポートおよび Small Form-Factor Pluggable(SFP)モジュール スロットを含むスイッチでは、ポート 3 がギガビット イーサネット n/0/1 ポート、ポート 4 がギガビット イーサネット n/0/2 ポートとなり、以降同様に続きます。n はスタック メンバー番号です。ポート 51 は SFP モジュール スロット n/0/1 となり、以降同様に続きます。

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

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

 

に、ユーザ設定のリモート ID サブオプションおよび回線 ID サブオプションのパケット フォーマットを示します。スイッチでは、DHCP スヌーピングがグローバルにイネーブルになっていて、 ip dhcp snooping information option format remote-id グローバル コンフィギュレーション コマンドおよび ip dhcp snooping vlan information option format-type circuit-id string インターフェイス コンフィギュレーション コマンドが入力されると、これらのパケット フォーマットを使用します。

リモート ID サブオプションおよび回線 ID サブオプションを設定すると、パケット内のこれらのフィールドの値はデフォルト値から変更されます。

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

回線 ID タイプは 1 です。

長さの値は変数で、設定する文字列の長さによって決まります。

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

リモート ID タイプは 1 です。

長さの値は変数で、設定する文字列の長さによって決まります。

図 21-3 ユーザ設定サブオプションのパケット フォーマット

 

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

DHCP スヌーピングがイネーブルの場合、スイッチは DHCP スヌーピング バインディング データベースを使用して untrusted インターフェイスに関する情報を保存します。データベースには最大で 8192 のバインディングを保存できます。

データベース エントリ( binding )には、IP アドレス、関連 MAC アドレス、およびリース時間(16 進数表記)、バインディングが適用されるインターフェイス、およびインターフェイスが属する VLAN があります。データベース エージェントは設定された場所にあるファイルにバインディングを保存します。各エントリの最後にはチェックサムがあり、ファイルの最初からエントリの終わりまでのすべてのバイト数を計上します。各エントリは 72 バイトで、そのあとにスペースとチェックサム値が続きます。

スイッチをリロードしたときにバインディングを維持するには、DHCP スヌーピング データベース エージェントを使用する必要があります。エージェントがディセーブルで、ダイナミック ARP 検査または IP ソース ガードがイネーブルに設定されていて、DHCP スヌーピング バインディング データベースにダイナミック バインディングがある場合、スイッチの接続が切断されます。エージェントがディセーブルで、DHCP スヌーピングだけがイネーブルの場合、スイッチの接続は切断されませんが、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
 

ファイル内の各エントリはチェックサム値でタグ付けされていて、スイッチはファイルの読み取り時にこの値を使用してエントリを確認します。最初の行の initial-checksum エントリは、最新のファイル更新に関連したエントリを、前のファイル更新に関連したエントリと区別するものです。

バインディング ファイルの例は次のとおりです。

2bb4c2a1
TYPE DHCP-SNOOPING
VERSION 1
BEGIN
192.1.168.1 3 0003.47d8.c91f 2BB6488E interface-id 21ae5fbb
192.1.168.3 3 0003.44d6.c52f 2BB648EB interface-id 1bdb223f
192.1.168.2 3 0003.47d9.c8f1 2BB648AB interface-id 584a38f0
END
 

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

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

エントリがリース時間を超過した場合(リース時間が超過してもスイッチはバインディング エントリを削除しない場合があります)。

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

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

DHCP スヌーピングおよびスイッチ スタック

DHCP スヌーピングは、スタック マスターで管理されます。新しいスイッチがスタックに参加すると、スイッチはスタック マスターから DHCP スヌーピング設定を受信します。メンバーがスタックから脱退した場合は、スイッチに関連付けられたすべての DHCP スヌーピング アドレス バインディングが無効になります。

すべてのスヌーピングの統計情報は、スタック マスターで生成されます。新しいスタック マスターが選択されると、統計カウンタはリセットされます。

スタック マージが発生し、スタック マスターがもはやスタック マスターでなくなると、そのスタック マスター内のすべての DHCP スヌーピング バインディング(スタック マスターは除く)が失われます。スタック分割により、既存のスタック マスターは変更されませんが、分割されたスイッチに所属するバインディングは、無効になります。分割されたスタックの新しいマスターは、新たに着信する DHCP パケットの処理を開始します。スイッチ スタックの詳細については、「スイッチ スタックの管理」を参照してください。

DHCP スヌーピングの設定

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

「DHCP スヌーピングのデフォルト設定」

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

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

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

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

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

DHCP スヌーピングのデフォルト設定

表 21-1 に、DHCP スヌーピングのデフォルト設定を示します。

 

表 21-1 DHCP スヌーピングのデフォルト設定

機能
デフォルト設定

DHCP サーバ

Cisco IOS ソフトウェアでイネーブル(設定が必要)。1

DHCP リレー エージェント

イネーブル。2

DHCP パケット転送アドレス

未設定。

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

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

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

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

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

ディセーブル。

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

イネーブル。

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

ディセーブル。

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

未設定。

DHCP スヌーピングの信頼性

untrusted。

DHCP スヌーピング VLAN

ディセーブル。

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

イネーブル。

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

Cisco IOS ソフトウェアではイネーブル(設定が必要)。宛先が設定されている場合だけ、この機能は有効です。

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

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

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

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

ここでは、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 オプションの設定が必要です。

スイッチ上で文字数の多い回線 ID を設定する場合、NVRAM(不揮発性 RAM)またはフラッシュ メモリに長い文字列が与える影響を考慮してください。サーキット ID 設定がその他のデータと組み合わされた場合、NVRAM またはフラッシュ メモリの容量を超えてしまい、エラー メッセージが表示されます。

DHCP リレー エージェントをスイッチ上で設定する前に、DHCP サーバとして機能させるデバイスを設定してください。たとえば、DHCP サーバによる割り当てまたは除外の対象となる IP アドレスの指定、デバイスの DHCP オプションの設定、または DHCP データベース エージェントの設定が必要です。

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

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

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

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

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

ネットワーク ベース URL(TFTP や FTP(ファイル転送プロトコル)など)の場合、スイッチが設定した URL のバインディング ファイルにバインディングを書き込む前に、その URL で空のファイルを作成しておく必要があります。先にサーバで空のファイルを作成する必要があるかどうかを判断するには、TFTP サーバのマニュアルを参照してください。一部の TFTP サーバはこの方法では設定することができません。

データベースのリース時間を正確にするには、Network Time Protocol(NTP)をイネーブルにして設定することを推奨します。詳細については、「NTP の設定」を参照してください。

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

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

show ip dhcp snooping statistics ユーザ EXEC コマンドを入力すると、DHCP スヌーピングの統計情報を表示できます。また、 clear ip dhcp snooping statistics 特権 EXEC コマンドを入力すると、スヌーピングの統計カウンタを消去できます。


) RSPAN VLAN では Dynamic Host Configuration Protocol(DHCP)スヌーピングをイネーブルにしないでください。RSPAN VLAN で DHCP スヌーピングをイネーブルにすると、DHCP パケットが RSPAN 宛先ポートに届かない場合があります。


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.com の [Documentation] > [Cisco IOS Software] > [12.2 Mainline] > [Configuration Guides] ページで、『 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

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 クライアントに接続されている 1 つの物理ポートを設定し、インターフェイス コンフィギュレーション モードを開始します。

ステップ 7

switchport mode access

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

ステップ 8

switchport access vlan vlan-id

ステップ 2 で設定した VLAN と同じ 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 番号で識別される 1 つの 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 format remote-id [string ASCII-string | hostname ]

 

(任意)リモート ID サブオプションを設定します。

リモート ID として次の内容を設定できます。

63 文字までの ASCII 文字のストリング(スペースなし)

スイッチに設定されているホスト名

(注) ホスト名が 63 文字を超える場合、リモート ID 設定では 63 文字以降は切り捨てられます。

デフォルトのリモート ID は、スイッチ MAC アドレスです。

ステップ 6

ip dhcp snooping information option allow-untrusted

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

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

(注) trusted デバイスに接続された集約スイッチ上だけでこのコマンドを入力します。

ステップ 7

interface interface-id

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

ステップ 8

ip dhcp snooping vlan vlan information option format-type circuit-id [override] string ASCII-string

(任意)指定されたインターフェイスの回線 ID サブオプションを設定します。

1 ~ 4094 までの範囲の VLAN ID を使用して、VLAN とポート ID を指定します。デフォルトの回線 ID は、 vlan-mod-port という形式のポート ID です。

回線 ID は、3 ~ 63 文字までの ASCII 文字のストリング(スペースなし)に設定できます。

(任意)加入者情報を定義する際に TLV フォーマットに回線 ID サブオプションを挿入しない場合は、 override キーワードを使用します。

ステップ 9

ip dhcp snooping trust

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

ステップ 10

ip dhcp snooping limit rate rate

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

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

ステップ 11

exit

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

ステップ 12

ip dhcp snooping verify mac-address

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

ステップ 13

end

特権 EXEC モードに戻ります。

ステップ 14

show running-config

設定を確認します

ステップ 15

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 gigabitethernet2/0/1
Switch(config-if)# ip dhcp snooping limit rate 100

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

Cisco IOS DHCP サーバ データベースをイネーブルにして設定する手順については、Cisco.com の [Documentation] > [Cisco IOS Software] > [12.2 Mainline] > [Configuration Guides] ページから、『 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 [ number ] :/ 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 [ number ] :/ filename

(任意)スタック マスターのスタック メンバー番号を指定するには、パラメータ number を使用します。 number に指定できる範囲は 1 ~ 9 です。

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

データベース転送処理を停止するまでに待機する時間(秒)を指定します。

デフォルト値は 300 秒です。指定できる範囲は 0 ~ 86400 です。時間を無制限に定義するには 0 を使用します。これは、転送の試行を無制限に継続することを意味します。

ステップ 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 スヌーピング情報を表示するには、 表 21-2 の特権 EXEC コマンドを使用します。

 

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

コマンド
目的

show ip dhcp snooping

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

show ip dhcp snooping binding

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

show ip dhcp snooping database

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

show ip dhcp snooping statistics

DHCP スヌーピングの統計情報をサマリー形式または詳細形式で表示します。


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


IP ソース ガードの概要

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

IP ソース ガードは、DHCP スヌーピングが untrusted インターフェイス上でイネーブルになっている場合にイネーブルにできます。IPSG がインターフェイス上でイネーブルになっていると、スイッチは、DHCP スヌーピングにより許可される DHCP パケットを除いて、インターフェイス上で受信されるすべての IP トラフィックをブロックします。ポート アクセス制御リスト(ACL)がインターフェイスに適用されます。ポート ACL では、IP ソース バインディング テーブルに送信元 IP アドレスのある IP トラフィックだけが許可され、その他のトラフィックはすべて拒否されます。


) ポート ACL は、同じインターフェイスに影響するルーター ACL または VLAN マップよりも優先されます。


IP ソース バインディング テーブルのバインディングは、DHCP スヌーピングによって学習されるか、手動で設定されます(スタティック IP ソース バインディング)。このテーブルのエントリは、MAC アドレスと VLAN 番号が関連付けられている IP アドレスです。IP ソース ガードがイネーブルになっている場合にだけ、スイッチは IP ソース バインディング テーブルを使用します。

IPSG は、アクセスおよびトランク ポートを含むレイヤ 2 ポートでだけサポートされます。IPSG は、送信元 IP アドレス フィルタリングまたは送信元 IP および MAC アドレス フィルタリングを使用して設定できます。

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

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

「スタティック ホスト用の IP ソース ガード」

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

IPSG がこのオプションでイネーブルになっている場合、IP トラフィックは送信元 IP アドレスに基づいてフィルタリングされます。送信元 IP アドレスが、DHCP スヌーピング バインディング データベース内のエントリまたは IP ソース バインディング テーブル内のバインディングと一致する場合に、スイッチは IP トラフィックを転送します。

DHCP スヌーピング バインディングまたはスタティック IP ソース バインディングがインターフェイス上で追加、変更、または削除されると、スイッチは IP ソース バインディングの変更を使用してポート ACL を変更し、ポート ACL をインターフェイスに再適用します。

IP ソース バインディング(DHCP スヌーピングにより動的に学習されたか、手動で設定されたもの)が設定されていないインターフェイス上で IPSG をイネーブルにすると、スイッチはインターフェイス上のすべての IP トラフィックを拒否するポート ACL を作成し、適用します。IP ソース ガードをディセーブルにすると、スイッチはポート ACL をインターフェイスから削除します。

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

IP トラフィックは送信元 IP アドレスおよび MAC アドレスに基づいてフィルタリングされます。送信元 IP アドレスおよび MAC アドレスが IP ソース バインディング テーブル内のエントリと一致する場合にだけ、スイッチはトラフィックを転送します。

アドレス フィルタリングがイネーブルの場合、スイッチは IP トラフィックと非 IP トラフィックをフィルタリングします。IP パケットまたは非 IP パケットの送信元 MAC アドレスが、有効な IP ソース バインディングと一致する場合、スイッチはそのパケットを転送します。スイッチは、DHCP パケットを除いたその他のタイプのパケットをすべて破棄します。

スイッチはポート セキュリティを使用して送信元 MAC アドレスをフィルタリングします。このインターフェイスは、ポート セキュリティ違反が発生したときにシャットダウンできます。

スタティック ホスト用の IP ソース ガード


) アップリンク ポートまたはトランク ポートでは、スタティック ホスト用の IPSG(IP ソース ガード)を使用しないでください。


スタティック ホスト用の IPSG は、DHCP 以外の環境やスタティック環境に IPSG 機能を拡張します。以前の IPSG は、スイッチに接続されたホストを確認するために、DHCP スヌーピングにより作成されたエントリを使用していました。有効な DHCP バインディング エントリのないホストから受信したトラフィックは破棄されます。このセキュリティ機能は、非ルーテッド レイヤ 2 インターフェイス上で IP トラフィックを制限します。DHCP スヌーピング バインディング データベース、および手動で設定された IP ソース バインディングに基づくトラフィックはフィルタリングされます。以前のバージョンの IPSG では、IPSG が機能するために DHCP 環境が必要でした。

スタティック ホスト用の IPSG では、DHCP を使用せずに IPSG が機能します。スタティック ホスト用の IPSG は、ポート ACL をインストールするために IP デバイス トラッキング テーブルのエントリに依存します。スイッチは、ARP 要求または他の IP パケットに基づいてスタティック エントリを作成し、特定のポートで有効なホストのリストを維持します。特定のポートへのトラフィックの送信を許可するホストの数を指定することもできます。これは、レイヤ 3 でのポート セキュリティに相当します。

スタティック ホスト用の IPSG はダイナミック ホストもサポートします。ダイナミック ホストが、IP DHCP スヌーピング テーブルで使用できる DHCP の割り当てられた IP アドレスを受信すると、同じエントリが IP デバイス トラッキング テーブルにより学習されます。スタック環境で、マスター フェールオーバーが発生すると、メンバー ポートに接続されているスタティック ホストの IP ソース ガード エントリが維持されます。 show ip device tracking all EXEC コマンドを入力すると、IP デバイス トラッキング テーブルにエントリが ACTIVE として表示されます。


) 複数のネットワーク インターフェイスのある一部の IP ホストは、一部の無効なパケットをネットワーク インターフェイスに注入できます。無効なパケットには、送信元アドレスとしてホストの別のネットワーク インターフェイスの IP アドレスまたは MAC アドレスが含まれます。無効なパケットにより、スタティック ホスト用の IPSG によるホストへの接続、無効な IP または MAC アドレス バインディングの学習、および有効なバインディングの拒否が発生することがあります。ホストで無効なパケットが注入されないようにするには、対応するオペレーティング システムおよびネットワーク インターフェイスのベンダーに問い合わせてください。


スタティック ホスト用の IPSG は最初に、ACL ベースのスヌーピング メカニズムによって、IP バインディングまたは MAC バインディングを動的に学習します。IP または MAC バインディングは、ARP および IP パケットによってスタティック ホストから学習されます。これらはデバイス トラッキング データベースに格納されます。特定のポート上で動的に学習されたか、静的に設定された IP アドレスの数が最大数に達すると、ハードウェアは新しい IP アドレスを持つパケットを破棄します。何らかの理由で移動されたか、消失したホストの問題を解決するために、スタティック ホスト用の IPSG では IP デバイス トラッキングを利用して動的に学習された IP アドレス バインディングを期限切れにします。この機能は、DHCP スヌーピングとともに使用できます。DHCP ホストとスタティック ホストの両方に接続されているポート上で、複数のバインディングが確立されます。たとえば、バインディングは、デバイス トラッキング データベースと、DHCP スヌーピング バインディング データベースの両方に格納されます。

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 ソース ガードがインターフェイス上でイネーブルになっている場合、DHCP スヌーピングをそのインターフェイスのアクセス VLAN 上でイネーブルにする必要があります。

複数の VLAN のあるトランク インターフェイス上で IP ソース ガードをイネーブルにしており、DHCP スヌーピングがすべての VLAN 上でイネーブルになっている場合、送信元 IP アドレス フィルタがすべての VLAN に適用されます。


) IP ソース ガードがイネーブルになっている場合、トランク インターフェイス上の VLAN で DHCP スヌーピングをイネーブルまたはディセーブルにすると、スイッチでトラフィックが適切にフィルタリングされないことがあります。


送信元 IP および MAC アドレス フィルタリングによる IP ソース ガードをイネーブルにする場合、DHCP スヌーピングおよびポート セキュリティをインターフェイス上でイネーブルにする必要があります。また、 ip dhcp snooping information option グローバル コンフィギュレーション コマンドを入力し、DHCP サーバで Option 82 がサポートされていることを確認する必要があります。IP ソース ガードが MAC アドレス フィルタリングによってイネーブルになっている場合、ホストがリースを許可されるまで DHCP ホスト MAC アドレスは学習されません。サーバからホストへのパケットの転送時、DHCP スヌーピングは Option 82 データを使用してホスト ポートを特定します。

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

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

802.1x ポートベース認証がイネーブルになっている場合、この機能をイネーブルにできます。

Ternary CAM(TCAM)エントリの数が最大数を超えると、CPU の使用量が増します。

スイッチ スタックでは、IP ソース ガードがスタック メンバー インターフェイス上で設定されている場合に、 no switch stack-member-number provision グローバル コンフィギュレーション コマンドを入力してスイッチの設定を削除すると、インターフェイス スタティック バインディングがバインディング テーブルから削除されます。バインディングは実行コンフィギュレーションからは削除されません。switch stack-member-number provision コマンドを入力してスイッチを再び割り当てると、バインディングは復元されます。バインディングを実行コンフィギュレーションから削除するには、 no switch provision グローバル コンフィギュレーション コマンドを入力する前に IP ソース ガードをディセーブルにする必要があります。インターフェイスがバインディング テーブルから削除されている間にスイッチがリロードされた場合にも、コンフィギュレーションは削除されます。割り当てられたスイッチの詳細については、「スタックのオフライン設定」を参照してください。

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

特権 EXEC モードで開始します。

 

 
コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

interface interface-id

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

ステップ 3

ip verify source

または

ip verify source port-security

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

 

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

(注) IP ソース ガードとポート セキュリティの両方を ip verify source port-security インターフェイス コンフィギュレーション コマンドを使用してイネーブルにする場合、次の 2 点に注意してください。

DHCP サーバは Option 82 をサポートする必要があります。サポートしていないと、クライアントに IP アドレスが割り当てられません。

DHCP パケット内の MAC アドレスはセキュア アドレスとして学習されません。DHCP クライアントの MAC アドレスは、スイッチが非 DHCP データ トラフィックを受信する場合にだけセキュア アドレスとして学習されます。

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

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

ステップ 9

copy running-config startup-config

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

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

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

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

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

レイヤ 2 アクセス ポートでのスタティック ホスト用の IP ソース ガードの設定

スタティック ホスト用の IPSG が機能するように、 ip device tracking maximum limit-number インターフェイス コンフィギュレーション コマンドをグローバルに設定する必要があります。IP デバイス トラッキングをグローバルにイネーブルにしないで、またはインターフェイス上で IP デバイス トラッキングを最大に設定することによって、ポート上でこのコマンドだけを設定すると、スタティック ホストによる IPSG はそのインターフェイスからのすべての IP トラフィックを拒否します。特権 EXEC モードで開始します。

 

 
コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

ip device tracking

IP ホスト テーブルをオンにし、IP デバイス トラッキングをグローバルにイネーブルにします。

ステップ 3

interface interface-id

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

ステップ 4

switchport mode access

ポートをアクセスとして設定します。

ステップ 5

switchport access vlan vlan-id

このポートの VLAN を設定します。

ステップ 6

ip verify source tracking port-security

MAC アドレス フィルタリングによるスタティック ホスト用の IPSG をイネーブルにします。

(注) IP ソース ガードとポート セキュリティの両方を ip verify source port-security インターフェイス コンフィギュレーション コマンドを使用してイネーブルにする場合、次の点に注意してください。

DHCP サーバは Option 82 をサポートする必要があります。サポートしていないと、クライアントに IP アドレスが割り当てられません。

DHCP パケット内の MAC アドレスはセキュア アドレスとして学習されません。DHCP クライアントの MAC アドレスは、スイッチが非 DHCP データ トラフィックを受信する場合にだけセキュア アドレスとして学習されます。

ステップ 7

ip device tracking maximum number

IP デバイス トラッキング テーブルがポート上で許可するスタティック IP の数の上限を指定します。指定できる範囲は 1 ~ 10 です。最大値は 10 です。

インターフェイス コンフィギュレーション コマンドを設定する必要があります。

ステップ 8

switchport port-security

(任意)このポートのポート セキュリティをアクティブにします。

ステップ 9

switchport port-security maximum value

(任意)このポートの MAC アドレスの最大数を指定します。

ステップ 10

end

特権 EXEC モードに戻ります。

ステップ 11

show ip verify source interface interface-id

設定を確認し、スタティック ホスト用の IPSG の許可 ACL を表示します。

ステップ 12

show ip device track all
[active | inactive] count

スイッチ インターフェイスで指定されたホストの IP-MAC バインディングを表示して、設定を確認します。

all active:アクティブな IP または MAC バインディング エントリだけを表示します。

all inactive:非アクティブな IP または MAC バインディング エントリだけを表示します。

all:アクティブおよび非アクティブな IP または MAC バインディング エントリを表示します。

次に、インターフェイス上でスタティック ホストによる IPSG を停止する方法を示します。

Switch(config-if)# no ip verify source
Switch(config-if)# no ip device tracking max
 

次に、ポート上でスタティック ホストによる IPSG をイネーブルにする方法を示します。

Switch(config)# ip device tracking
Switch(config)# ip device tracking max 10
Switch(config-if)# ip verify source tracking port-security
 

次に、レイヤ 2 アクセス ポートで IP フィルタによるスタティック ホスト用の IPSG をイネーブルにし、インターフェイス Gi0/3 上で有効な IP バインディングを確認する方法を示します。

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# ip device tracking
Switch(config)# interface gigabitethernet 0/3
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Switch(config-if)# ip device tracking maximum 5
Switch(config-if)# ip verify source tracking
Switch(config-if)# end
 
Switch# show ip verify source
Interface Filter-type Filter-mode IP-address Mac-address Vlan
--------- ----------- ----------- --------------- ----------------- ----
Gi0/3 ip trk active 40.1.1.24 10
Gi0/3 ip trk active 40.1.1.20 10
Gi0/3 ip trk active 40.1.1.21 10
 

次に、レイヤ 2 アクセス ポートで IP-MAC フィルタによるスタティック ホスト用の IPSG をイネーブルにし、インターフェイス Gi0/3 上で有効な IP-MAC バインディングを確認し、このインターフェイス上のバインディングが最大数に達したことを確認する例を示します。

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# ip device tracking
Switch(config)# interface gigabitethernet 0/3
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 1
Switch(config-if)# ip device tracking maximum 5
Switch(config-if)# switchport port-security
Switch(config-if)# switchport port-security maximum 5
Switch(config-if)# ip verify source tracking port-security
Switch(config-if)# end
 
Switch# show ip verify source
Interface Filter-type Filter-mode IP-address Mac-address Vlan
--------- ----------- ----------- --------------- ----------------- ----
Gi0/3 ip-mac trk active 40.1.1.24 00:00:00:00:03:04 1
Gi0/3 ip-mac trk active 40.1.1.20 00:00:00:00:03:05 1
Gi0/3 ip-mac trk active 40.1.1.21 00:00:00:00:03:06 1
Gi0/3 ip-mac trk active 40.1.1.22 00:00:00:00:03:07 1
Gi0/3 ip-mac trk active 40.1.1.23 00:00:00:00:03:08 1
 

次に、すべてのインターフェイスの IP または MAC バインディング エントリをすべて表示する例を示します。CLI は、アクティブなエントリと非アクティブなエントリをすべて表示します。ホストがインターフェイス上で学習されると、新しいエントリはアクティブとしてマーキングされます。同じホストがそのインターフェイスから切断され、別のインターフェイスに接続されると、ホストの検出後すぐに、新しい IP または MAC バインディング エントリがアクティブとして表示されます。前のインターフェイス上でこのホストの古いエントリは、INACTIVE としてマーキングされます。

Switch# show ip device tracking all
IP Device Tracking = Enabled
IP Device Tracking Probe Count = 3
IP Device Tracking Probe Interval = 30
---------------------------------------------------------------------
IP Address MAC Address Vlan Interface STATE
---------------------------------------------------------------------
200.1.1.8 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
200.1.1.9 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
200.1.1.10 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
200.1.1.1 0001.0600.0000 9 GigabitEthernet0/2 ACTIVE
200.1.1.1 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
200.1.1.2 0001.0600.0000 9 GigabitEthernet0/2 ACTIVE
200.1.1.2 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
200.1.1.3 0001.0600.0000 9 GigabitEthernet0/2 ACTIVE
200.1.1.3 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
200.1.1.4 0001.0600.0000 9 GigabitEthernet0/2 ACTIVE
200.1.1.4 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
200.1.1.5 0001.0600.0000 9 GigabitEthernet0/2 ACTIVE
200.1.1.5 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
200.1.1.6 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
200.1.1.7 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
 

次に、すべてのインターフェイスのアクティブな IP または MAC バインディング エントリをすべて表示する例を示します。

Switch# show ip device tracking all active
IP Device Tracking = Enabled
IP Device Tracking Probe Count = 3
IP Device Tracking Probe Interval = 30
---------------------------------------------------------------------
IP Address MAC Address Vlan Interface STATE
---------------------------------------------------------------------
200.1.1.1 0001.0600.0000 9 GigabitEthernet0/1 ACTIVE
200.1.1.2 0001.0600.0000 9 GigabitEthernet0/1 ACTIVE
200.1.1.3 0001.0600.0000 9 GigabitEthernet0/1 ACTIVE
200.1.1.4 0001.0600.0000 9 GigabitEthernet0/1 ACTIVE
200.1.1.5 0001.0600.0000 9 GigabitEthernet0/1 ACTIVE
 

次に、すべてのインターフェイスの非アクティブな IP または MAC バインディング エントリをすべて表示する例を示します。ホストは、最初 GigabitEthernet 0/1 上で学習され、その後、GigabitEthernet 0/2 上に移動されました。GigabitEthernet 0/1 で学習された IP または MAC バインディング エントリは、非アクティブとしてマーキングされます。

Switch# show ip device tracking all inactive
IP Device Tracking = Enabled
IP Device Tracking Probe Count = 3
IP Device Tracking Probe Interval = 30
---------------------------------------------------------------------
IP Address MAC Address Vlan Interface STATE
---------------------------------------------------------------------
200.1.1.8 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
200.1.1.9 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
200.1.1.10 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
200.1.1.1 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
200.1.1.2 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
200.1.1.3 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
200.1.1.4 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
200.1.1.5 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
200.1.1.6 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
200.1.1.7 0001.0600.0000 8 GigabitEthernet0/1 INACTIVE
 

次に、すべてのインターフェイスの IP デバイス トラッキング ホスト エントリの数を表示する例を示します。

Switch# show ip device tracking all count
Total IP Device Tracking Host entries: 5
---------------------------------------------------------------------
Interface Maximum Limit Number of Entries
---------------------------------------------------------------------
Gi0/3 5

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

IP ソース ガード情報を表示するには、 表 21-3 の特権 EXEC コマンドを 1 つまたは複数使用します。

 

表 21-3 IP ソース ガード情報を表示するためのコマンド

コマンド
目的

show ip device tracking

すべてのインターフェイスのアクティブな IP または MAC バインディング エントリを表示します。

show ip source binding

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

show ip verify source

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

DHCP サーバのポートベースのアドレス割り当ての概要

DHCP サーバのポートベースのアドレス割り当ては、接続しているデバイスのクライアント ID またはクライアントのハードウェア アドレスに関わらず、DHCP がイーサネット スイッチのポートに同じアドレスを維持できるようにする機能です。

ネットワーク内にイーサネット スイッチが配置されると、直接接続されたデバイスに接続性を提供します。工場の現場などの一部の環境では、デバイスに障害が発生したら、既存のネットワークで交換されたデバイスがすぐに動作する必要があります。現在の DHCP の実装では、DHCP が交換されたデバイスに同じ IP アドレスを提供することが保証されていません。制御ソフトウェア、監視ソフトウェア、およびその他のソフトウェアでは、各デバイスの IP アドレスは変わらないと想定しています。デバイスを交換する場合、DHCP クライアントが変更されてもアドレスの割り当ては変更せずそのままである必要があります。

DHCP サーバのポートベースのアドレス割り当て機能では、設定時に、接続されたポートで受信した DHCP メッセージのクライアント ID またはクライアントのハードウェア アドレスが変更されても、常に同じポートに同じ IP アドレスが付与されることが保証されます。DHCP プロトコルは、DHCP パケットのクライアント ID オプションによって DHCP クライアントを識別します。クライアント ID オプションを持たないクライアントは、クライアントのハードウェア アドレスによって識別されます。この機能を設定すると、インターフェイスのポート名によってクライアント ID またはハードウェア アドレスが上書きされ、実際の接続ポイント(スイッチ ポート)がクライアント ID になります。

どのような場合でも、イーサネット ケーブルを同じポートに接続することで、接続されたデバイスには DHCP から同じ IP アドレスが割り当てられます。

DHCP サーバのポートベース アドレス割り当て機能は、Cisco IOS DHCP サーバ上でだけサポートされ、サードパーティ製のサーバではサポートされません。

DHCP サーバのポートベースのアドレス割り当ての設定

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

「ポートベースのアドレス割り当てのデフォルト設定」

「ポートベースのアドレス割り当て設定時の注意事項」

「DHCP サーバのポートベースのアドレス割り当てのイネーブル化」

ポートベースのアドレス割り当てのデフォルト設定

デフォルトでは、DHCP サーバのポートベースのアドレス割り当てはディセーブルです。

ポートベースのアドレス割り当て設定時の注意事項

ここでは、DHCP のポートベースのアドレス割り当てを設定する時の注意事項について説明します。

ポートごとに、1 つの IP アドレスだけを割り当てることができます。

clear ip dhcp binding グローバル コンフィギュレーション コマンドを使用して、予約済み(事前割り当て済み)アドレスを消去できません。

事前に割り当てられたアドレスは、通常の動的な IP アドレス割り当てから自動的に除外されます。事前に割り当てられたアドレスをホスト プールで使用できませんが、DHCP のアドレス プールごとに事前に割り当てられた複数のアドレスを使用できます。

reserved-only DHCP プール コンフィギュレーション コマンドを入力して、DHCP プールから事前に設定された予約への割り当てを制限できます(予約されていないアドレスはクライアントに提供されず、他のクライアントにプールはありません)。

DHCP サーバのポートベースのアドレス割り当てのイネーブル化

インターフェイス上でポートベース のアドレス割り当てをグローバルにイネーブルにしたり、加入者 ID を自動的に生成するには、特権 EXEC モードで次の手順を実行します。

 

 
コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

ip dhcp use subscriber-id client-id

すべての着信 DHCP メッセージで、加入者 ID をクライアント ID としてグローバルに使用するように DHCP サーバを設定します。

ステップ 3

ip dhcp subscriber-id interface-name

インターフェイスの短縮名に基づいて、加入者 ID を自動的に生成します。

特定のインターフェイスに設定された加入者 ID は、このコマンドよりも優先されます。

ステップ 4

interface interface-id

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

ステップ 5

ip dhcp server use subscriber-id client-id

そのインターフェイスのすべての着信 DHCP メッセージで加入者 ID をクライアント ID として使用するように DHCP サーバを設定します。

ステップ 6

end

特権 EXEC モードに戻ります。

ステップ 7

show running config

設定を確認します。

ステップ 8

copy running-config startup-config

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

DHCP のポートベースのアドレス割り当てをスイッチでイネーブルにしたら、 ip dhcp pool グローバル コンフィギュレーション コマンドを使用して IP アドレスを事前に割り当てて、それをクライアントと関連付けます。DHCP プールから事前に設定された予約への割り当てを制限するには、 reserved-only DHCP プール コンフィギュレーション コマンドを入力します。ネットワークに含まれているアドレスやプール範囲にあるアドレスでも、予約されていないアドレスはクライアントに提供されず、他のクライアントには DHCP プールのサービスが提供されません。ユーザはこのコマンドを使用して、DHCP プールを装備した 1 組のスイッチが共通の IP サブネットを共有し、他のスイッチのクライアントからの要求を無視するように設定できます。

IP アドレスを事前に割り当てて、それをインターフェイス名で識別されるクライアントに割り当てるには、特権 EXEC モードで次の手順を実行します。

 

 
コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

ip dhcp pool poolname

DHCP プール コンフィギュレーション モードを開始し、DHCP プールの名前を定義します。プール名には、意味のある文字列(Engineering など)または整数(0 など)を使用できます。

ステップ 3

network network-number [ mask | /prefix-length ]

DHCP アドレス プールのサブネット ネットワーク番号とマスクを指定します。

ステップ 4

address ip-address client-id string [ ascii ]

インターフェイス名で識別される DHCP クライアントの IP アドレスを予約します。

string :ASCII 値または 16 進数の値を使用できます。

ステップ 5

reserved-only

(任意)DHCP アドレス プールで予約済みアドレスだけを使用します。デフォルトでは、プール アドレスは制限されません。

ステップ 6

end

特権 EXEC モードに戻ります。

ステップ 7

show ip dhcp pool

DHCP プールの設定を確認します。

ステップ 8

copy running-config startup-config

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

DHCP のポートベースのアドレス割り当てをディセーブルにするには、 no ip dhcp use subscriber-id client-id グローバル コンフィギュレーション コマンドを使用します。加入者 ID の自動生成をディセーブルにするには、 no ip dhcp subscriber-id interface-name グローバル コンフィギュレーション コマンドを使用します。インターフェイス上の加入者 ID をディセーブルにするには、 no ip dhcp server use subscriber-id client-id インターフェイス コンフィギュレーション コマンドを使用します。

DHCP プールから IP アドレスの予約を削除するには、 no address ip-address client-id string DHCP プール コンフィギュレーション コマンドを使用します。アドレス プールを制限なしに変更するには、 no reserved-only DHCP プール コンフィギュレーション コマンドを入力します。

次の例では、加入者 ID が自動的に生成され、DHCP サーバは DHCP メッセージ内のクライアント ID フィールドを無視し、代わりに加入者 ID を使用します。加入者 ID はインターフェイスの短縮名に基づいており、クライアントの IP アドレスは 10.1.1.7 が事前に割り当てられています。

switch# show running config
Building configuration...
Current configuration : 4899 bytes
!
version 12.2
!
hostname switch
!
no aaa new-model
clock timezone EST 0
ip subnet-zero
ip dhcp relay information policy removal pad
no ip dhcp use vrf connected
ip dhcp use subscriber-id client-id
ip dhcp subscriber-id interface-name
ip dhcp excluded-address 10.1.1.1 10.1.1.3
!
ip dhcp pool dhcppool
network 10.1.1.0 255.255.255.0
address 10.1.1.7 client-id “Et1/0” ascii
<output truncated>
 

次の例は、事前に割り当てられたアドレスが DHCP プールで正常に予約されたことを示しています。

switch# show ip dhcp pool dhcppool
Pool dhcp pool:
Utilization mark (high/low) : 100 / 0
Subnet size (first/next) : 0 / 0
Total addresses : 254
Leased addresses : 0
Excluded addresses : 4
Pending event : none
1 subnet is currently in the pool:
Current index IP address range Leased/Excluded/Total
10.1.1.1 10.1.1.1 - 10.1.1.254 0 / 4 / 254
1 reserved address is currently in the pool
Address Client
10.1.1.7 Et1/0
 

DHCP サーバのポートベースのアドレス割り当て機能の設定の詳細については、Cisco.com を表示して、[検索] フィールドに Cisco IOS IP Addressing Services と入力し、Cisco IOS ソフトウェアのマニュアルにアクセスしてください。マニュアルには、次の URL からもアクセスできます。

http://www.cisco.com/en/US/docs/ios/ipaddr/command/reference/iad_book.html

DHCP サーバのポートベースのアドレス割り当ての表示

DHCP サーバのポートベースのアドレス割り当て情報を表示するには、 表 21-4 の特権 EXEC コマンドを 1 つまたは複数使用します。

 

表 21-4 DHCP のポートベース アドレス割り当て情報を表示するためのコマンド

コマンド
目的

show interface interface id

特定のインターフェイスのステータスおよび設定を表示します。

show ip dhcp pool

DHCP のアドレス プールを表示します。

show ip dhcp binding

Cisco IOS DHCP サーバのアドレス バインディングを表示します。