【Cisco】DHCP スヌーピングと IP ソースガードの動作を確認する

スイッチ

動作確認環境

  • C2960-8TC-L
    • Version 12.2(55)SE12

DHCP スヌーピングの検証

DHCP スヌーピングとは

スイッチにおいて DHCP スヌーピングを使用すると、信頼設定がされていないスイッチポートに DHCP サーバが接続された場合に、スイッチはその DHCP サーバからの DHCP パケットを破棄します。つまり信頼されていないポートに接続された DHCP サーバをネットワークから排除することができます。

検証構成

スイッチでの DHCP スヌーピング設定

  • ip dhcp snooping
    • DHCP スヌーピング機能の有効化
  • ip dhcp snooping vlan <Vlan-ID>
    • DHCP スヌーピングを有効化する VLAN を指定
  • [no] ip dhcp snooping information option
    • DHCP Option 82 データ挿入を有効[無効]にする
    • デフォルトでは有効
    • 検証環境ではこれが有効だと DHCP サーバでエラーとなり DHCP クライアントが IP アドレスを取得できなかったので無効化した
      • Cisco のルータを DHCP サーバとして利用していたからのよう。Cisco のルータを DHCP サーバとして使用する場合、そのルータで ip dhcp relay information trust-all を設定していないとリレー情報が付加されたパケットが破棄されるらしい
  • ip dhcp snooping trust (インターフェースでの設定)
    • 対象インターフェースを信頼されたインターフェースであると設定
    • DHCP サーバを接続するポートにこれを設定する
    • デフォルトではこの設定は無効

◆検証構成におけるスイッチでの DHCP スヌーピング設定

ip dhcp snooping
ip dhcp snooping vlan 1
no ip dhcp snooping information option

interface FastEthernet0/7
 ip dhcp snooping trust

interface FastEthernet0/8
 ip dhcp snooping trust

DHCP スヌーピング状態確認

  • show ip dhcp snooping
    • DHCP スヌーピング設定情報の表示
Switch#show ip dhcp snooping
Switch DHCP snooping is enabled
DHCP snooping is configured on following VLANs:
1
DHCP snooping is operational on following VLANs:
1
DHCP snooping is configured on the following L3 Interfaces:

Insertion of option 82 is disabled
   circuit-id default format: vlan-mod-port
   remote-id: 0022.0cbe.7980 (MAC)
Option 82 on untrusted port is not allowed
Verification of hwaddr field is enabled
Verification of giaddr field is enabled
DHCP snooping trust/rate is configured on the following Interfaces:

Interface                  Trusted    Allow option    Rate limit (pps)
-----------------------    -------    ------------    ----------------
FastEthernet0/7            yes        yes             unlimited
  Custom circuit-ids:
FastEthernet0/8            yes        yes             unlimited
  Custom circuit-ids:
  • show ip dhcp snooping binding
    • DHCP スヌーピングバインディングテーブルの表示
Switch#show ip dhcp snooping binding
MacAddress          IpAddress        Lease(sec)  Type           VLAN  Interface
------------------  ---------------  ----------  -------------  ----  --------------------
AC:7A:56:28:16:06   10.1.1.2         84507       dhcp-snooping   1     FastEthernet0/1
Total number of bindings: 1
  • show ip dhcp snooping statistics
    • DHCP スヌーピング統計情報の表示
Switch#show ip dhcp snooping statistics
 Packets Forwarded                                     = 453
 Packets Dropped                                       = 0
 Packets Dropped From untrusted ports                  = 0

Untrusted ポートに DHCP サーバを接続した場合の検証

以下構成図のように Untrusted port に DHCP サーバを接続して動作確認してみます。

この場合、DHCP サーバからの DHCP パケットは破棄されるため、DHCP クライアントは IP アドレスを取得できず、スイッチの DHCP スヌーピングバインディングテーブルには何も情報が表示されません。

Switch#show ip dhcp snooping binding
MacAddress          IpAddress        Lease(sec)  Type           VLAN  Interface
------------------  ---------------  ----------  -------------  ----  --------------------
Total number of bindings: 0

IP ソースガードの検証

IP ソースガードとは

IP ソースガードを使用すると、DHCP バインディングテーブルに掲載されていない IP アドレスを送信元とするパケットを破棄することができます。正規の DHCP サーバから IP アドレスを取得していないクライアントからの通信は遮断するといった用途で使用できます。

Catalyst 2960 スイッチでは、IP ソースガード機能は IOS バージョン 12.2(50)SE から導入されました。

スイッチでの IP ソースガードの設定

IP ソースガードは DHCP スヌーピングを前提としているため、DHCP スヌーピングの設定が必要になります。DHCP スヌーピングの設定に加えて IP ソースガードの設定を行います。

IP ソースガードを有効化したいポートに対して以下のいずれかの設定を行います。

  • ip verify source
    • 送信元 IP アドレスがバインディングテーブルに掲載されていない場合は通信を破棄する
  • ip verify source port-security
    • 送信元 IP アドレス/MAC アドレスの組み合わせがバインディングテーブルに掲載されていない場合は通信を破棄する

◆検証構成におけるスイッチでの IP ソースガード設定

interface FastEthernet0/2
 ip verify source

動作検証

以下のように Untrusted port に静的 IP を設定したクライアントを接続します。

上図のクライアントは静的にアドレスを設定しているためスイッチの IP ソースガードに引っかかります。例えばクライアントから Other Server に Ping をしても疎通は失敗します。

Router#ping vrf VRF1 10.1.1.101 source 10.1.1.10
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.101, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.10
.....
Success rate is 0 percent (0/5)

※検証環境では Cisco ルータをクライアントとして使用しています

IP ソースガードの状態確認

  • show ip verify source
    • IP ソースガードの設定情報とバインディング情報の表示
Switch#show ip verify source
Interface  Filter-type  Filter-mode  IP-address       Mac-address        Vlan
---------  -----------  -----------  ---------------  -----------------  ----
Fa0/2      ip           active       deny-all                            1

上記は Fa0/2 に静的アドレスを設定したクライアントを接続した状態での表示です。IP-address の表示が deny-all となっていて、この場合すべての送信元 IP アドレスについて拒否動作となります。

Fa0/2 に接続したDHCP クライアントが DHCP サーバから IP アドレス 10.1.1.3 を取得した後は以下のように IP-address 欄にアドレスが表示されます。この場合、送信元 IP アドレスが 10.1.1.3 の場合は通信が許可されます。

Switch#show ip verify source
Interface  Filter-type  Filter-mode  IP-address       Mac-address        Vlan
---------  -----------  -----------  ---------------  -----------------  ----
Fa0/2      ip           active       10.1.1.3                            1

スイッチで IP ソースガードの設定として MAC アドレスもチェックする ip verify source port-security が設定されている場合は show ip verify source 実行時に以下のように表示されます。

Switch#show ip verify source
Interface  Filter-type  Filter-mode  IP-address       Mac-address        Vlan
---------  -----------  -----------  ---------------  -----------------  ----
Fa0/1      ip-mac       active       10.20.30.100     permit-all         1

  • show ip source binding
    • IP ソースバインディングテーブルの表示
Switch#show ip source binding
MacAddress          IpAddress        Lease(sec)  Type           VLAN  Interface
------------------  ---------------  ----------  -------------  ----  --------------------
AC:7A:56:28:16:06   10.1.1.2         84902       dhcp-snooping   1     FastEthernet0/1
AC:7A:56:28:15:FE   10.1.1.3         86070       dhcp-snooping   1     FastEthernet0/2
Total number of bindings: 2

参考資料

Catalyst 2960 および 2960-S スイッチ ソフトウェア コンフィギュレーション ガイド Cisco IOS Release 12.2(58)SE - DHCP および IP ソース ガード機能の設定 [Cisco Catalyst 2960 シリーズ スイッチ]
DHCPおよびIPソースガード機能の設定
Catalyst 2960 and 2960-S Switch Command Reference, 12.2(53)SE1 - Catalyst 2960 and 2960-S Switch Cisco IOS Commands - aaa accounting through reserved-only [Cisco Catalyst 2960 Series Switches]
Catalyst2960and2960-SSwitchCiscoIOSCommands-aaaaccountingthroughreserved-only
Catalyst 2960 and 2960-S Switch Command Reference, 12.2(53)SE1 - Catalyst 2960 and 2960-S Switch Cisco IOS Commands - rmon collection through show vtp [Cisco Catalyst 2960 Series Switches]

タイトルとURLをコピーしました