Catalyst 3750-X/3560-X スイッチ ソフトウェア コンフィギュレーション ガイド リリース15.0(1)SE
DHCP 機能および IP ソース ガードの設定
DHCP 機能および IP ソース ガードの設定
発行日;2012/04/24 | 英語版ドキュメント(2012/03/23 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 14MB) | フィードバック

目次

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

DHCP 機能の概要

DHCP サーバ

DHCP リレー エージェント

DHCP スヌーピング

Option 82 データ挿入

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

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

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 ソース ガードのイネーブル化

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

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

プライベート VLAN ホスト ポート上のスタティック ホストの IP ソース ガードの設定

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

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

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

ポートベースのアドレス テーブルのデフォルト設定

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

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

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

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

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


) この章で使用するコマンドの構文および使用方法の詳細については、このリリースに対応するコマンド リファレンスおよび『Cisco IOS IP Command Reference, Volume 1 of 3: Addressing and Services, Release 12.4』の「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 スヌーピングとスイッチ スタック」

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

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

DHCP クライアントに関する詳細は、『 Cisco IOS IP Configuration Guide, Release 12.4 』の「 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 番号、およびスイッチの信頼できないローカル インターフェイスのインターフェイス情報が含まれています。このデータベースには、信頼できるインターフェイスに接続されたホストの情報はありません。

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

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

スイッチは、次のいずれかの状況が発生した場合に DHCP パケットをドロップします。

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

パケットが信頼できないインターフェイスに着信し、送信元 MAC アドレスと DHCP クライアントのハードウェア アドレスが一致しない。

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

DHCP リレー エージェントが 0.0.0.0 以外のリレー エージェント IP アドレスを含む DHCP パケットを転送し、Option 82 情報が含まれないパケットを信頼できないポートに転送する。

DHCP スヌーピングをサポートする集約スイッチであり、DHCP Option 82 情報を挿入するエッジ スイッチに接続されているスイッチは、Option 82 情報を含むパケットが信頼できないインターフェイスに着信した場合、それらのパケットをドロップします。DHCP スヌーピングがイネーブルに設定されている場合に、パケットが信頼できるポートに着信しても、集約スイッチは接続されたデバイスの DHCP スヌーピング バインディングを認識せず、完全な DHCP スヌーピング バインディング データベースを作成できません。

集約スイッチを信頼できないインターフェイス経由でエッジ スイッチに接続できる場合、 ip dhcp snooping information option allow-untrusted グローバル コンフィギュレーション コマンドを入力すると、集約スイッチはエッジ スイッチによって挿入された Option 82 情報を含むパケットを受け入れます。集約スイッチは、信頼できないスイッチ インターフェイスを介して接続されたホストのバインディングを認識します。集約スイッチで、Dynamic ARP Inspection(DAI; ダイナミック ARP インスペクション)や IP ソース ガードなど、DHCP セキュリティ機能をイネーブルに設定することもできますが、その場合でもスイッチは Option 82 情報を含むパケットをホストが接続されている信頼できない入力インターフェイスで受信します。集約スイッチ上のエッジ スイッチとの接続ポートは、信頼できるインターフェイスとして設定する必要があります。

Option 82 データ挿入

住宅地域にあるメトロポリタン イーサネット アクセス環境では、DHCP は多数の加入者に対し、IP アドレスの割り当てを一元的に管理できます。スイッチで DHCP スヌーピングの Option 82 機能をイネーブルにすると、加入者装置は MAC アドレスだけでなく、その装置をネットワークに接続するスイッチ ポートによっても識別されます。サブスクライバ LAN 上の複数のホストをアクセス スイッチの同じポートに接続できます。これらのホストは一意に識別されます。


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


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

図 24-1 メトロポリタン イーサネット ネットワークにおける DHCP リレー エージェント

 

スイッチで DHCP スヌーピング情報オプション Option 82 をイネーブルにすると、次のイベントがこの順序で発生します。

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

スイッチは、この DHCP 要求を受信すると、パケットに Option 82 情報を追加します。デフォルトでは、リモート ID サブオプションがスイッチの MAC アドレスで、回線 ID サブオプションはパケットを受信するポート ID( vlan-mod-port )です。リモート ID および回線 ID は設定できます。サブオプションの設定の詳細については、を参照してください。サブオプションの設定の詳細については、「DHCP スヌーピングおよび Option 82 のイネーブル化」を参照してください。

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

スイッチは、オプション 82 フィールドを含む DHCP 要求を DHCP サーバに転送します。

DHCP サーバはこのパケットを受信します。Option 82 に対応しているサーバであれば、リモート ID と回線 ID のいずれか一方または両方を使用して、IP アドレスを割り当てたり、1 つのリモート ID または回線 ID に割り当てることができる IP アドレスの数を制限するようなポリシーを実装したりできます。次に DHCP サーバは、DHCP 応答内にオプション 82 フィールドをエコーします。

スイッチによって要求がサーバにリレーされた場合、DHCP サーバは応答をスイッチにユニキャストします。スイッチは、リモート ID フィールドと、場合によっては回線 ID フィールドを調べ、Option 82 データが挿入済みであることを確認します。スイッチは Option 82 フィールドを削除してから、DHCP 要求を送信した DHCP クライアントに接続するスイッチ ポートにパケットを転送します。

デフォルトのサブオプション設定では、前述のイベントのシーケンスが発生すると、図 24-2 にある次のフィールドの値は変化しません。

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

サブオプション タイプ

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

回線 ID タイプ

回線 ID タイプの長さ

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

サブオプション タイプ

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

リモート ID タイプ

リモート ID タイプの長さ

回線 ID サブオプションのポート フィールドでは、ポート番号が 3 から始まります。たとえば、24 個の 10/100/1000 ポートおよび 4 つの Small Form-Factor Pluggable(SFP; 着脱可能小型フォーム ファクタ)モジュール スロットを搭載する Catalyst 3750-E スイッチでは、ポート 3 がギガビット イーサネット 1/0/1 ポート、ポート 4 がギガビット イーサネット 1/0/2 ポートとなり、以降同様に続きます。ポート 27 は SFP モジュール スロットのギガビット イーサネット 1/0/25 となり、以降同様に続きます。

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

図 24-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 である。

設定した文字列の長さに応じて、長さの値が変化する。

図 24-3 ユーザ設定のサブオプションのパケット形式

 

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.4 』の「Configuring DHCP」の章を参照してください。

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

DHCP スヌーピングをイネーブルにすると、スイッチは信頼できないインターフェイスに関する情報を DHCP スヌーピング バインディング データベースに保存します。データベースには、64,000 のバインディングを含めることができます。

データベース エントリ( バインディング )は、IP アドレス、それに関連付けられた MAC アドレス、リース期間(16 進形式)、バインディングが適用されるインターフェイス、およびインターフェイスが属する VLAN で構成されます。データベース エージェントは、設定された場所のファイルにバインディングを保存します。各エントリの末尾にあるチェックサムは、ファイルの先頭のバイトを含め、エントリに関連付けられたすべてのバイトを対象として計算されます。各エントリは、まず 72 バイトのデータがあり、その後に 1 つのスペースとチェックサム値が続きます。

スイッチのリロード後もバインディングを保持するには、DHCP スヌーピング データベース エージェントを使用する必要があります。エージェントがディセーブルで、ダイナミック ARP インスペクションまたは IP ソース ガードがイネーブルにされ、DHCP スヌーピング バインディング データベースがダイナミックバインディングされている場合、スイッチは接続を切断されます。このエージェントがディセーブルで、DHCP スヌーピングだけがイネーブルである場合、スイッチの接続は切断されませんが、DHCP スヌーピングは DHCP スプーフィング攻撃を防止できないことがあります。

リロードすると、スイッチはバインディング ファイルを読み込み、DHCP スヌーピング バインディング データベースを作成します。スイッチは、データベースに変更が加えられたときにはバインディング ファイルを更新します。

スイッチは、新しいバインディングを認識するか、バインディングを失うと、ただちにデータベース内のエントリを更新します。スイッチはバインディング ファイル内のエントリも更新します。バインディング ファイルの更新頻度は設定可能な遅延時間によって決まり、更新はバッチ処理されます。ファイルが指定された時間内(書き込み遅延および中断タイムアウトの値によって設定される)に更新されない場合、更新は停止します。

バインディングが含まれるファイルの形式は次のとおりです。

<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 Gi0/4 21ae5fbb
192.1.168.3 3 0003.44d6.c52f 2BB648EB Gi0/4 1bdb223f
192.1.168.2 3 0003.47d9.c8f1 2BB648AB Gi0/4 584a38f0
END
 

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

スイッチがエントリを読み取り、計算されたチェックサム値が保存されているチェックサム値と一致しない。この場合、そのエントリとそれ以降のエントリは無視されます。

エントリに含まれているリース期間が終了している(スイッチはリース期間の終了時にバインディング エントリを削除しないことがある)。

エントリに含まれるインターフェイスが現在はシステムに存在しない。

インターフェイスがルーテッド インターフェイスまたは DHCP スヌーピングにおける信頼できるインターフェイスである。

DHCP スヌーピングとスイッチ スタック

DHCP スヌーピングは、スタック マスターで管理されます。新しいスイッチがスタックに加入すると、スイッチでは、スタック マスターから DHCP スヌーピング設定を受信します。メンバがスタックから除外されると、スイッチに関連付けられているすべての DHCP スヌーピング アドレス バインディングがエージング アウトします。

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

スタックのマージが発生し、スタック マスターではなくなった場合、スタック マスターにあったすべての DHCP スヌーピング バインディングが失われます。スタック パーティションでは、既存のスタック マスターに変更はなく、パーティション化スイッチに属しているバインディングは、エージング アウトします。パーティション化スイッチの新しいマスターでは、新たな着信 DHCP パケットの処理が開始されます。スイッチ スタックの詳細については、「スイッチ スタックの管理」を参照してください。

DHCP 機能の設定

「DHCP のデフォルト設定」

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

「DHCP サーバの設定」

「DHCP サーバとスイッチ スタック」

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

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

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

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

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

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

DHCP のデフォルト設定

 

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

機能
デフォルト設定

DHCP サーバ

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

DHCP リレー エージェント

イネーブル2

DHCP パケット転送アドレス

未設定

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

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

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

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

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

ディセーブル

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

イネーブル

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

ディセーブル

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

未設定

DHCP スヌーピング信頼状態

信頼できない

DHCP スヌーピング VLAN

ディセーブル

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

イネーブル

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

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

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

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

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

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

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

3.この機能は、スイッチがエッジ スイッチによって Option 82 が挿入されたパケットを受信する集約スイッチである場合に使用します。

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

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

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

スイッチ上で DHCP スヌーピングをグローバルにイネーブルにする前に、DHCP サーバや DHCP リレー エージェントとして機能するデバイスが設定され、イネーブルになっていることを確認してください。

スイッチで DHCP スヌーピング情報オプションを設定する前に、DHCP サーバとして機能するデバイスを設定してください。たとえば、DHCP サーバが割り当てたり除外したりできる IP アドレスを指定するか、またはそれらのデバイスの DHCP オプションを設定する必要があります。

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

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

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

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

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

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

NVRAM とフラッシュ メモリは、いずれも記憶容量が限られているため、バインディング ファイルを TFTP サーバに保存することを推奨します。

ネットワーク ベースの URL(TFTP や FTP など)については、スイッチがバインディングをその URL のバインディング ファイルに初めて書き込む前に、設定された URL に空のファイルを作成する必要があります。空のファイルをサーバ上に作成する必要があるかどうかについては、TFTP サーバのマニュアルを参照してください。TFTP サーバによっては、そのように設定できないことがあります。

データベースに正しいリース期間が記録されるように、NTP をイネーブルにし、設定することを推奨します。詳細については、「NTP の概要」を参照してください。

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

信頼できないデバイスが接続されたアグリゲーション スイッチに ip dhcp snooping information option allow-untrusted コマンドを入力しないでください。このコマンドを入力すると、信頼できないデバイスがオプション 82 情報をスプーフィングする可能性があります。

Cisco IOS Release 12.2(37)SE 以降では、 show ip dhcp snooping statistics ユーザ EXEC コマンドを入力すると DHCP スヌーピングの統計情報を表示でき、 clear ip dhcp snooping statistics 特権 EXEC コマンドを入力するとスヌーピング統計情報カウンタをクリアできます。

DHCP スヌーピング スマート ロギングを設定すると、DHCP によってドロップされたパケットの内容が、NetFlow 収集装置に送信されます。この機能を設定する場合は、スマート ロギングがグローバルにイネーブルになっていることを確認してください。スマート ロギングの詳細については、「スマート ロギングの設定」を参照してください。


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


DHCP サーバの設定

スイッチは、DHCP サーバとして機能できます。デフォルトでは、Cisco IOS DHCP サーバおよび DHCP リレー エージェント機能はスイッチ上でイネーブルにされていますが、設定されていません。これらの機能は動作しません。

スイッチを DHCP サーバとして設定するときの手順については、『 Cisco IOS IP Configuration Guide, Release 12.4 』の「IP Addressing and Services」の「Configuring DHCP」を参照してください。

DHCP サーバとスイッチ スタック

DHCP バインディング データベースは、スタック マスターで管理されます。新しいスタック マスターが割り当てられると、新しいマスターでは、TFTP サーバから保存されているバインディング データベースがダウンロードされます。スタック マスターに障害が発生した場合、未保存のすべてのバインディングが失われます。失われたバインディングに関連付けられていた IP アドレスは、解放されます。自動バックアップは、 ip dhcp database url [ timeout seconds | write-delay seconds ] グローバル コンフィギュレーション コマンドを使用して設定する必要があります。

スタックのマージが発生すると、スタック メンバになるスタック マスターでは、すべての DHCP リース バインディングが失われます。スタック パーティションでは、パーティションにある新しいマスターが、既存の DHCP リース バインディングなしで、新しい DHCP サーバとして動作します。

スイッチ スタックの詳細については、 「スイッチ スタックの管理」 を参照してください。

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

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

 

 
コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

service dhcp

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

ステップ 3

end

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

ステップ 4

show running-config

設定を確認します

ステップ 5

copy running-config startup-config

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

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

次の手順については、『 Cisco IOS IP Configuration Guide, Release 12.4 』の「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 クライアントに接続されている単一の物理ポートを設定し、インターフェイス コンフィギュレーション モードを開始します。

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

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

VLAN ID 番号によって特定される単一の VLAN ID、それぞれをカンマで区切った一連の VLAN ID、ハイフンを間に挿入した VLAN ID の範囲、または先頭および末尾の VLAN ID で区切られた VLAN ID の範囲を入力することができます。これらはスペースで区切ります。

(任意)ドロップされたパケットの内容を NetFlow 収集装置に送信するようにスイッチを設定するには、 smartlog を入力します。

ステップ 4

ip dhcp snooping information option

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

ステップ 5

ip dhcp snooping information option format remote-id [string ASCII-string | hostname]

 

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

リモート ID は次のように設定できます。

63 文字までの ASCII 文字列(スペースなし)

スイッチに設定されたホスト名

(注) ホスト名が 64 文字以上の場合、リモート ID 設定で 63 文字に切り捨てられます。

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

ステップ 6

ip dhcp snooping information option allow-untrusted

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

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

(注) このコマンドは、信頼できるデバイスに接続された集約スイッチだけで入力してください。

ステップ 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 はポート ID で、 vlan-mod-port の形式です

回線 ID は 3 ~ 63 の ASCII 文字列(スペースなし)を設定できます。

(任意) override キーワードは、加入者情報を定義するための TLV 形式に回線 ID サブオプションを挿入したくない場合に使用します。

ステップ 9

ip dhcp snooping trust

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

ステップ 10

ip dhcp snooping limit rate rate

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

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

ステップ 11

exit

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

ステップ 12

ip dhcp snooping verify mac-address

(任意)信頼できないポートに着信した DHCP パケットの送信元 MAC アドレスがパケットのクライアント ハードウェア アドレスと一致することを確認するようにスイッチを設定します。デフォルトでは、送信元 MAC アドレスがパケットのクライアント ハードウェア アドレスと一致することを確認します。

ステップ 13

end

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

ステップ 14

show running-config

設定を確認します

ステップ 15

copy running-config startup-config

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

DHCP スヌーピングをディセーブルにするには、 no ip dhcp snooping グローバル コンフィギュレーション コマンドを使用します。1 つの 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 グローバル コンフィギュレーション コマンドを使用します。

次に、DHCP スヌーピングをグローバルおよび VLAN 10 でイネーブルにし、ポートのレート制限を 1 秒あたり 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

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

プライベート VLAN で DHCP スヌーピングをイネーブルにできます。DHCP スヌーピングがイネーブルの場合、設定はプライマリ VLAN および関連付けられているセカンダリ VLAN の両方に伝播します。DHCP スヌーピングがプライマリ VLAN でイネーブルの場合、セカンダリ VLAN でもイネーブルに設定されています。

DHCP スヌーピングがすでにプライマリ VLAN に設定されていて DHCP スヌーピングをセカンダリ VLAN とは異なるように設定した場合、セカンダリ VLAN の設定は有効になりません。プライマリ VLAN に DHCP スヌーピングを設定する必要があります。プライマリ VLAN に DHCP スヌーピングが設定されていない場合は、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 コマンド出力では、DHCP スヌーピングがイネーブルであるプライマリおよびセカンダリ プライベート VLAN を含む、すべての VLAN を表示します。

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

Cisco IOS DHCP サーバ データベースをイネーブルにして設定する手順については、『 Cisco IOS IP Configuration Guide, Release 12.4 』の「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 スヌーピング情報の表示

 

表 24-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 スヌーピングの統計情報を要約または詳細形式で表示します。

show ip source binding

動的および静的に設定されたバインディングを表示します。


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


IP ソース ガードの概要

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

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


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


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

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

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

「送信元 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 ソース ガード


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


スタティック ホスト用 IPSG は、IPSG の機能を DHCP ではない、スタティックな環境に拡張するものです。これまでの 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 ソース ガードがインターフェイスでイネーブルにされている場合、このインターフェイスのアクセス VLAN で、DHCP スヌーピングをイネーブルにしておく必要があります。

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


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


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

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

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

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

Ternary Content Addressable Memory(TCAM)エントリの数が最大値を超えた場合、CPU の使用率は増加します。

IP ソース ガード スマート ロギングを設定すると、指定されたアドレスや DHCP によって学習されたアドレス以外の送信元アドレスを持つパケットは拒否され、そのパケットの内容が NetFlow 収集装置に送信されます。この機能を設定する場合は、スマート ロギングがグローバルにイネーブルになっていることを確認してください。スマート ロギングの詳細については、「スマート ロギングの設定」を参照してください。

スイッチ スタックでは、IP ソース ガードがスタック メンバ インターフェイスに設定されていて、no switch stack-member-number provision グローバル コンフィギュレーション コマンドの入力によりそのスイッチの設定を削除した場合、インターフェイス スタティック バインディングはバインディング テーブルから削除されますが、実行コンフィギュレーションからは削除されません。switch stack-member-number provision コマンドの入力によりスイッチを再びプロビジョニングすると、バインディングは復元されます。

実行コンフィギュレーションからバインディングを削除するには、no switch provision コマンドを入力する前に IP ソース ガードをディセーブルにする必要があります。インターフェイスがバインディング テーブルから削除される間にスイッチがリロードされると、設定も削除されます。プロビジョニングされたスイッチの詳細については、「スイッチ スタックの管理」 を参照してください。

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

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

 

 
コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

interface interface-id

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

ステップ 3

ip verify source [ smartlog ]

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

(任意)ドロップされたパケットの内容を NetFlow 収集装置に送信するようにスイッチを設定するには、 smartlog を入力します。

 

または ip verify source port-security

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

ip verify source port-security インターフェイス コンフィギュレーション コマンドを使用して IP ソース ガードとポート セキュリティの両方をイネーブルにする場合は、次の 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 ]

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

ステップ 9

copy running-config startup-config

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

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

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

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

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface gigabitethernet0/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 gigabitethernet0/1
Switch(config)# ip source binding 0100.0230.0002 vlan 11 10.0.0.4 interface gigabitethernet0/1
Switch(config)# end

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


) スタティック ホスト用 IPSG を動作させるには、ip device tracking maximum limit-number インターフェイス コンフィギュレーション コマンドをグローバルに設定する必要があります。このコマンドをポートに対して実行したが、IP デバイス トラッキングをグローバルにイネーブルにしていない、または IP デバイス トラッキングの上限をそのインターフェイスに対して設定していない場合は、スタティック ホストの IPSG によって、そのインターフェイスからの IP トラフィックはすべて拒否されます。この要件は、スタティック ホストの IPSG がプライベート VLAN ホスト ポート上で使用される場合にも適用されます。


特権 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 verify source port-security インターフェイス コンフィギュレーション コマンドを使用して、IP ソース ガードとポート セキュリティの両方をイネーブルにする場合、

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 アクセス ポートに対してスタティック ホストの IPSG と IP フィルタをイネーブルにしてから、インターフェイス Gi1/0/3 上の有効な IP バインディングを確認する例を示します。

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# ip device tracking
Switch(config)# interface gigabitethernet1/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
--------- ----------- ----------- --------------- ----------------- ----
Gi1/0/3 ip trk active 40.1.1.24 10
Gi1/0/3 ip trk active 40.1.1.20 10
Gi1/0/3 ip trk active 40.1.1.21 10
 

次に、レイヤ 2 アクセス ポートに対してスタティック ホストの IPSG と IP-MAC フィルタをイネーブルにしてから、インターフェイス Gi1/0/3 上の有効な IP-MAC バインディングを確認し、さらにこのインターフェイス上のバインディングの数が最大値に達しているかどうかを確認する例を示します。

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# ip device tracking
Switch(config)# interface gigabitethernet1/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
--------- ----------- ----------- --------------- ----------------- ----
Gi1/0/3 ip-mac trk active 40.1.1.24 00:00:00:00:03:04 1
Gi1/0/3 ip-mac trk active 40.1.1.20 00:00:00:00:03:05 1
Gi1/0/3 ip-mac trk active 40.1.1.21 00:00:00:00:03:06 1
Gi1/0/3 ip-mac trk active 40.1.1.22 00:00:00:00:03:07 1
Gi1/0/3 ip-mac trk active 40.1.1.23 00:00:00:00:03:08 1
 

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

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 GigabitEthernet1/0/1 INACTIVE
200.1.1.9 0001.0600.0000 8 GigabitEthernet1/0/1 INACTIVE
200.1.1.10 0001.0600.0000 8 GigabitEthernet1/0/1 INACTIVE
200.1.1.1 0001.0600.0000 9 GigabitEthernet1/0/2 ACTIVE
200.1.1.1 0001.0600.0000 8 GigabitEthernet1/0/1 INACTIVE
200.1.1.2 0001.0600.0000 9 GigabitEthernet1/0/2 ACTIVE
200.1.1.2 0001.0600.0000 8 GigabitEthernet1/0/1 INACTIVE
200.1.1.3 0001.0600.0000 9 GigabitEthernet1/0/2 ACTIVE
200.1.1.3 0001.0600.0000 8 GigabitEthernet1/0/1 INACTIVE
200.1.1.4 0001.0600.0000 9 GigabitEthernet1/0/2 ACTIVE
200.1.1.4 0001.0600.0000 8 GigabitEthernet1/0/1 INACTIVE
200.1.1.5 0001.0600.0000 9 GigabitEthernet1/0/2 ACTIVE
200.1.1.5 0001.0600.0000 8 GigabitEthernet1/0/1 INACTIVE
200.1.1.6 0001.0600.0000 8 GigabitEthernet1/0/1 INACTIVE
200.1.1.7 0001.0600.0000 8 GigabitEthernet1/0/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 GigabitEthernet1/0/1 ACTIVE
200.1.1.2 0001.0600.0000 9 GigabitEthernet1/0/1 ACTIVE
200.1.1.3 0001.0600.0000 9 GigabitEthernet1/0/1 ACTIVE
200.1.1.4 0001.0600.0000 9 GigabitEthernet1/0/1 ACTIVE
200.1.1.5 0001.0600.0000 9 GigabitEthernet1/0/1 ACTIVE
 

この例は、すべてのインターフェイスに対する非アクティブな IP または MAC バインディング エントリをすべて表示します。このホストは、初めに GigabitEthernet 1/0/1 上で学習され、その後で GigabitEthernet 0/2 に移動しました。GigabitEthernet1/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 GigabitEthernet1/0/1 INACTIVE
200.1.1.9 0001.0600.0000 8 GigabitEthernet1/0/1 INACTIVE
200.1.1.10 0001.0600.0000 8 GigabitEthernet1/0/1 INACTIVE
200.1.1.1 0001.0600.0000 8 GigabitEthernet1/0/1 INACTIVE
200.1.1.2 0001.0600.0000 8 GigabitEthernet1/0/1 INACTIVE
200.1.1.3 0001.0600.0000 8 GigabitEthernet1/0/1 INACTIVE
200.1.1.4 0001.0600.0000 8 GigabitEthernet1/0/1 INACTIVE
200.1.1.5 0001.0600.0000 8 GigabitEthernet1/0/1 INACTIVE
200.1.1.6 0001.0600.0000 8 GigabitEthernet1/0/1 INACTIVE
200.1.1.7 0001.0600.0000 8 GigabitEthernet1/0/1 INACTIVE
 

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

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

プライベート VLAN ホスト ポート上のスタティック ホストの IP ソース ガードの設定


) スタティック ホストの IPSG を機能させるには、ip device tracking maximum limit-number インターフェイス コンフィギュレーション コマンドをグローバルに設定する必要があります。このコマンドをポートに対して実行したが、IP デバイス トラッキングをグローバルにイネーブルにしていない、または IP デバイス トラッキングの上限をそのインターフェイスに対して設定していない場合は、スタティック ホストの IPSG によって、そのインターフェイスからの IP トラフィックはすべて拒否されます。この要件は、スタティック ホストの IPSG がレイヤ 2 アクセス ポート上で使用される場合にも適用されます。


特権 EXEC モードで、次に示す手順を実行してレイヤ 2 アクセス ポート上のスタティック ホストの IPSG と IP フィルタを設定します。

 

 
コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

vlan vlan-id1

VLAN コンフィギュレーション モードを開始します。

ステップ 3

private-vlan primary

プライマリ VLAN をプライベート VLAN ポート上に設定します。

ステップ 4

exit

VLAN コンフィギュレーション モードを終了します。

ステップ 5

vlan vlan-id2

別の VLAN の VLAN コンフィギュレーション モードを開始します。

ステップ 6

private-vlan isolated

独立 VLAN をプライベート VLAN ポート上に設定します。

ステップ 7

exit

VLAN コンフィギュレーション モードを終了します。

ステップ 8

vlan vlan-id1

VLAN コンフィギュレーション モードを開始します。

ステップ 9

private-vlan association 201

VLAN を独立プライベート VLAN ポートに関連付けます。

ステップ 10

exit

VLAN コンフィギュレーション モードを終了します。

ステップ 11

interface fastEthernet interface-id

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

ステップ 12

switchport mode private-vlan host

(任意)ポートをプライベート VLAN ホストとして設定します。

ステップ 13

switchport private-vlan host-association vlan-id1 vlan-id2

(任意)このポートに、対応するプライベート VLAN を関連付けます。

ステップ 14

ip device tracking maximum number

このポートに対して IP デバイス トラッキング テーブルに保持できるスタティック IP の数の上限を設定します。

最大値は 10 です。


) スタティック ホストの IPSG を機能させるには、ip device tracking maximum number インターフェイス コマンドをグローバルに設定する必要があります。


ステップ 15

ip verify source tracking [port-security]

このポート上のスタティック ホストの IPSG と MAC アドレス フィルタリングをアクティブにします。

ステップ 16

end

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

ステップ 17

show ip device tracking all

設定を確認します。

ステップ 18

show ip verify source interface interface-id

IP ソース ガードの設定を確認します。スタティック ホストの IPSG の許可 ACL を表示します。

次に、プライベート VLAN ホスト ポート上でスタティック ホストの IPSG と IP フィルタをイネーブルにする例を示します。

Switch(config)# vlan 200
Switch(config-vlan)# private-vlan primary
Switch(config-vlan)# exit
Switch(config)# vlan 201
Switch(config-vlan)# private-vlan isolated
Switch(config-vlan)# exit
Switch(config)# vlan 200
Switch(config-vlan)# private-vlan association 201
Switch(config-vlan)# exit
Switch(config)# interface gigabitethernet1/0/3
Switch(config-if)# switchport mode private-vlan host
Switch(config-if)# switchport private-vlan host-association 200 201
Switch(config-if)# ip device tracking maximum 8
Switch(config-if)# ip verify source tracking
 
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
---------------------------------------------------------------------
40.1.1.24 0000.0000.0304 200 GigabitEthernet1/0/3 ACTIVE
40.1.1.20 0000.0000.0305 200 GigabitEthernet1/0/3 ACTIVE
40.1.1.21 0000.0000.0306 200 GigabitEthernet1/0/3 ACTIVE
40.1.1.22 0000.0000.0307 200 GigabitEthernet1/0/3 ACTIVE
40.1.1.23 0000.0000.0308 200 GigabitEthernet1/0/3 ACTIVE
 

出力には、インターフェイス Fa0/3 上で学習された 5 つの有効な IP-MAC バインディングが表示されています。プライベート VLAN の場合は、バインディングにはプライマリ VLAN ID が関連付けられます。したがって、この例ではプライマリ VLAN ID である 200 が表に表示されています。

Switch# show ip verify source
Interface Filter-type Filter-mode IP-address Mac-address Vlan
--------- ----------- ----------- --------------- ----------------- ----
Gi1/0/3 ip trk active 40.1.1.23 200
Gi1/0/3 ip trk active 40.1.1.24 200
Gi1/0/3 ip trk active 40.1.1.20 200
Gi1/0/3 ip trk active 40.1.1.21 200
Gi1/0/3 ip trk active 40.1.1.22 200
Gi1/0/3 ip trk active 40.1.1.23 201
Gi1/0/3 ip trk active 40.1.1.24 201
Gi1/0/3 ip trk active 40.1.1.20 201
Gi1/0/3 ip trk active 40.1.1.21 201
Gi1/0/3 ip trk active 40.1.1.22 201
 

この出力からは、5 つの有効な IP-MAC バインディングはプライマリとセカンダリの両方の VLAN 上にあることがわかります。

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

 

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

コマンド
目的

show ip source binding

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

show ip verify source

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

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

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

ネットワークに導入されたイーサネット スイッチは、直接接続されたデバイスに接続を提供します。工場の作業場など、一部の環境では、あるデバイスで不具合が発生した場合は、それと同時に、そのネットワークで代わりのデバイスが動作を開始しなければなりません。現在の 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 サーバ ポートベースのアドレス割り当てはディセーブルにされています。

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

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

専用アドレス(事前に設定されたアドレス)は、 clear ip dhcp binding グローバル コンフィギュレーション コマンドではクリアできません。

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

DHCP プールから事前に設定された予約への割り当てを制限する(予約されていないアドレスはクライアントに提供されず、その他のクライアントはプールによるサービスを受けない)ために、 reserved-only 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 プール コンフィギュレーション コマンドを入力することができます。ネットワークまたはプール上の範囲の一部である予約されていないアドレスがクライアントには提供されず、他のクライアントはプールによるサービスを受けられません。このコマンドの入力により、ユーザは、共通の IP サブネットを共有し、他のスイッチのクライアントからの要求を無視する DHCP プールを持つスイッチのグループを設定できます。

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 にアクセスし、[Search] フィールドに「 Cisco IOS IP Addressing Services 」と入力して、Cisco IOS ソフトウェア マニュアルを参照してください。マニュアルは次の URL からも入手できます。
http://www.cisco.com/en/US/docs/ios/ipaddr/command/reference/iad_book.html

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

 

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

コマンド
目的

show interface interface id

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

show ip dhcp pool

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

show ip dhcp binding

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