IP ソース ガードの設定

IP ソース ガードの前提条件

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

IP ソース ガードの制約事項

blank.gifこの機能を使用するには、スイッチが LAN Base イメージを実行している必要があります。

blank.gifIP ソース ガード(IPSG)は、アクセス ポートおよびトランク ポートを含むレイヤ 2 ポートだけでサポートされます。

blank.gifスタティック ホストの IPSG は、アップリンク ポートまたはトランク ポートでは使用しないでください。

IP ソース ガードの概要

IP ソース ガード

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

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

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

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

送信元 IP アドレスと送信元 IP および MAC アドレス フィルタリングで IPSG を設定できます。

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

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

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

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

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

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

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

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

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

スタティック ホスト用 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 デバイス トラッキング テーブルは同じエントリを学習します。 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 ソース ガード設定時の注意事項

blank.gifIP ソース ガードは、デフォルトではディセーブルに設定されています。

blank.gifスタティック 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.
 

blank.gif送信元 IP フィルタリング機能を持つ IP ソース ガードがインターフェイスでイネーブルにされている場合、このインターフェイスのアクセス VLAN で、DHCP スヌーピングをイネーブルにしておく必要があります。

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

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

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

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

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

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

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

IP ソース ガードの設定方法

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

 

 
コマンド
目的

1.blank.gif

configure terminal

グローバル設定モードを開始します。

2.blank.gif

interface interface-id

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

3.blank.gif

ip verify source

または

ip verify source port-security

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

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

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

  • DHCP サーバは Option 82 をサポートする必要があります。サポートしていない場合、クライアントには IP アドレスを割り当てることができません。
  • DHCP パケットの MAC アドレスが、セキュア アドレスとして学習されることはありません。DHCP クライアントの MAC アドレスがセキュア アドレスとして学習されるには、スイッチが非 DHCP データ トラフィックを受信した場合だけです。

4.blank.gif

exit

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

5.blank.gif

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

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

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

6.blank.gif

end

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

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

 

 
コマンド
目的

1.blank.gif

configure terminal

グローバル設定モードを開始します。

2.blank.gif

ip device tracking

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

3.blank.gif

interface interface-id

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

4.blank.gif

switchport mode access

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

5.blank.gif

switchport access vlan vlan-id

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

6.blank.gif

ip verify source tracking port-security

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

注: ip verify source port-security インターフェイス コンフィギュレーション コマンドを使用して、IPSG とポートセキュリティの両方をイネーブルにする場合、

  • DHCP サーバは Option 82 をサポートする必要があります。サポートしていない場合、クライアントには IP アドレスを割り当てることができません。
  • DHCP パケットの MAC アドレスが、セキュア アドレスとして学習されることはありません。DHCP クライアントの MAC アドレスがセキュア アドレスとして学習されるには、スイッチが非 DHCP データ トラフィックを受信した場合だけです。

7.blank.gif

ip device tracking maximum number

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

注: ip device tracking maximum limit-number インターフェイス コンフィギュレーション コマンドを設定する必要があります。

8.blank.gif

switchport port-security

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

9.blank.gif

switchport port-security maximum value

(任意)このポートに対する MAC アドレスの最大値を設定します。

10.blank.gif

end

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

11.blank.gif

show ip verify source interface interface-id

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

12.blank.gif

show ip device track all
[active | inactive] count

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

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

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

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

IP ソース ガードのモニタリングおよびメンテナンス

 

コマンド
目的

show ip device tracking

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

show ip source binding

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

show ip verify source

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

copy running-config startup-config

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

IP ソース ガードの設定例

送信元 IP アドレスと MAC アドレスのフィルタリングによる IPSG のイネーブル化:例

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

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

スタティック ホストによる IPSG のディセーブル化:例

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

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

スタティック ホストの IPSG のイネーブル化:例

次に、ポート上でスタティック ホストを使って 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 バインディング エントリの表示:例

この例は、すべてのインターフェイスに対する 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/17 INACTIVE
200.1.1.9 0001.0600.0000 8 GigabitEthernet1/17 INACTIVE
200.1.1.10 0001.0600.0000 8 GigabitEthernet1/17 INACTIVE
200.1.1.1 0001.0600.0000 9 GigabitEthernet1/18 ACTIVE
200.1.1.1 0001.0600.0000 8 GigabitEthernet1/17 INACTIVE
200.1.1.2 0001.0600.0000 9 GigabitEthernet1/18 ACTIVE
200.1.1.2 0001.0600.0000 8 GigabitEthernet1/17 INACTIVE
200.1.1.3 0001.0600.0000 9 GigabitEthernet1/18 ACTIVE
200.1.1.3 0001.0600.0000 8 GigabitEthernet1/17 INACTIVE
200.1.1.4 0001.0600.0000 9 GigabitEthernet1/18 ACTIVE
200.1.1.4 0001.0600.0000 8 GigabitEthernet1/17 INACTIVE
200.1.1.5 0001.0600.0000 9 GigabitEthernet1/18 ACTIVE
200.1.1.5 0001.0600.0000 8 GigabitEthernet1/17 INACTIVE
200.1.1.6 0001.0600.0000 8 GigabitEthernet1/17 INACTIVE
200.1.1.7 0001.0600.0000 8 GigabitEthernet1/17 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/17 ACTIVE
200.1.1.2 0001.0600.0000 9 GigabitEthernet1/17 ACTIVE
200.1.1.3 0001.0600.0000 9 GigabitEthernet1/17 ACTIVE
200.1.1.4 0001.0600.0000 9 GigabitEthernet1/17 ACTIVE
200.1.1.5 0001.0600.0000 9 GigabitEthernet1/17 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 GigabitEthernet1/17 INACTIVE
200.1.1.9 0001.0600.0000 8 GigabitEthernet1/17 INACTIVE
200.1.1.10 0001.0600.0000 8 GigabitEthernet1/17 INACTIVE
200.1.1.1 0001.0600.0000 8 GigabitEthernet1/17 INACTIVE
200.1.1.2 0001.0600.0000 8 GigabitEthernet1/17 INACTIVE
200.1.1.3 0001.0600.0000 8 GigabitEthernet1/17 INACTIVE
200.1.1.4 0001.0600.0000 8 GigabitEthernet1/17 INACTIVE
200.1.1.5 0001.0600.0000 8 GigabitEthernet1/17 INACTIVE
200.1.1.6 0001.0600.0000 8 GigabitEthernet1/17 INACTIVE
200.1.1.7 0001.0600.0000 8 GigabitEthernet1/17 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

その他の参考資料

ここでは、スイッチ管理に関する参考資料について説明します。

関連ドキュメント

関連項目
マニュアル タイトル

Cisco IOS 基本コマンド

『Cisco IOS Configuration Fundamentals Command Reference』

標準

標準
タイトル

この機能でサポートされる新規の標準または変更された標準はありません。また、既存の標準のサポートは変更されていません。

MIB

MIB
MIB のリンク

Cisco IOS XR ソフトウェアを使用して MIB を特定およびダウンロードするには、次の URL にある Cisco MIB Locator を使用し、[Cisco Access Products] メニュー( http://cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml )からプラットフォームを選択します。

RFC

RFC
タイトル

この機能によりサポートされた新規 RFC または改訂 RFC はありません。またこの機能による既存 RFC のサポートに変更はありません。