概要

Cisco CatalystスイッチでDynamic ARP Inspectionを設定するためのコマンドとその動作を確認するための確認コマンドについて解説します。

Dynamic ARP Inspectionの設定コマンド

基本設定

Cisco CatalystスイッチでDHCPスヌーピングを有効にするための基本的な設定の流れは以下の通りです。

  1. Dynamic ARP Inspectionの有効化
  2. インタフェースをTrustに設定
  3. 正しいIPアドレスとMACアドレスの対応を登録

Dynamic ARP Inspectionの有効化

まずは、Dynamic ARP Inspectionを有効化します。グローバルコンフィグレーションモードで次のコマンドを入力します。

Dynamic ARP Inspectionの有効化

(config)#ip arp inspection vlan <vlan-range>

<vlan-range> : Dynamic ARP Inspectionを有効にするVLAN範囲

指定した範囲のVLANに所属するスイッチポートでARPメッセージをチェックします。

インタフェースをTrustに設定

ARPメッセージのチェックが不要なインタフェースをTrustにします。インタフェースコンフィグレーションモードで次のコマンドを入力します。

インタフェースをTrustに設定

(config)#interface <interface-name>
(config-if)#ip arp inspection trust

<interface-name> : インタフェース名

デフォルトはUntrustです。Untrustインタフェースで受信するARPメッセージをチェックします。Trustにするインタフェースは、デフォルトゲートウェイやDHCPサーバが接続されるインタフェースです。DHCPスヌーピングのTrustインタフェースの設定と合わせればOKです。

正しいIPアドレスとMACアドレスの対応を登録

ARPメッセージの整合性をチェックするために利用する正しいIPアドレスとMACアドレスを登録します。基本的にはDHCPスヌーピングを有効にして、DHCPスヌーピングバインディングテーブルを作成します。

正しいIPアドレスとMACアドレスの対応を登録(DHCPスヌーピング)

(config)#ip dhcp snooping
(config)#ip dhcp snooping vlan <vlan-range>

<vlan-range> : VLANの範囲

(config)#interface <interface-name>
(config-if)#ip dhcp snooping trust

<interface-name> : インタフェース名

DHCPクライアントではなく、IPアドレスの設定をスタティックで行っているホストもいます。スタティックのIPアドレス設定をしているホストのIPアドレスとMACアドレスの対応をARP ACLで設定します。グローバルコンフィグレーションモードで以下のコマンドを入力します。

正しいIPアドレスとMACアドレスの対応を登録(ARP ACL)

(config)#arp access-list <arp-acl-name>
(config-arp-acl)# permit ip host <ip-address> mac host <mac-address>

<arp-acl-name> : ARP ACL名
<ip-address> : IPアドレス
<mac-address> : MACアドレス

Dynamic ARP InspectionでARP ACLを参照すると、permitされたIPアドレスとMACアドレスの組み合わせがOKです。手動でIPアドレスを設定しているホストの正しいIPアドレスとMACアドレスの組み合わせを必要なだけ設定してください。最後に暗黙のdenyがあります。

そして、ARP ACLをDynamic ARP Inspectionで参照するために、さらに以下の設定も必要です。

ARP ACLの参照

(config)#ip arp inspection filter <arp-acl-name> vlan <vlan-range> [static]

<arp-acl-name> : ARP ACL名
<vlan-range> : VLAN範囲

オプションのstaticによって、ARP ACLのみをチェックします。DHCPスヌーピングバインディングテーブルを見なくなります。

なお、DHCPスヌーピングバインディングテーブルよりARP ACLを先にチェックします。staticオプションを指定していなければ、ARP ACLに一致しなければDHCPスヌーピングバインディングテーブルを参照します。ARP ACLで明示的にdenyされていると、DHCPスヌーピングバインディングテーブルを参照しません。

オプション設定

Dynamic ARP Inspectionについて、以下のオプション設定もあります。

  • ip arp inspection validate
  • ip arp inspection limit rate

ip arp inspection validate

ARPメッセージを追加でチェックする内容を設定します。グローバルコンフィグレーションモードで次のコマンドを入力します。

ARPメッセージの追加のチェック

(config)#ip arp inspection validate {src-mac|dst-mac|ip}

src-macを指定すると、ARPメッセージのSender MACとイーサネットヘッダの送信元MACアドレスが一致しているかをチェックします。dst-macを指定すると、ARPメッセージのTarget MACとイーサネットヘッダの宛先MACアドレスが一致しているかをチェックします。ipを指定すると、ARPメッセージのTarget IPが不正な範囲ではないことをチェックします。

ip arp inspection limit rate

インタフェースで受信するARPメッセージの数を制限するために、インタフェースコンフィグレーションモードで次のコマンドを入力します。

ARPメッセージの制限

(config)#interface <interface-name>
(config-if)#ip arp inspection limit <rate> [burst interval <sec>]

<interface-name> : インタフェース名
<rate> : インターバルあたりに受信するARPメッセージ数
<sec> : インターバル(秒)

インターバルあたりに受信するARPメッセージの上限を決められます。デフォルトのインターバルは1秒です。上限を超過すると、インタフェースをerr-disable状態にします。

Dynamic ARP Inspectionの確認コマンド

Dynamic ARP Inspectionの動作を確認するための主なコマンドは以下の通りです。

コマンド概要
#show ip arp inspectionDynamic ARP Inspectionが有効化されているVLANやARPメッセージの追加のチェックの状態などを確認します。
#show ip arp inspection interfaceTrustインタフェースやARPメッセージの制限について確認します。
#show ip arp inspection statisticsDynamic ARP Inspectionの処理の統計情報を確認します。
#show ip dhcp snooping bidingDHCPスヌーピングで学習したIPアドレスとMACアドレスの対応を確認します。
表 Dynamic ARP Inspectionの主な確認コマンド

セキュリティの基礎