Ciscoで単一のARPエントリを(割と)簡単にクリアする方法

 08, 2009 18:24
存在しない機器のMACアドレスを削除する必要が生じたのですが、
CiscoではコマンドでARPテーブルを削除するのに、最低でも
インターフェイス単位で行う必要がある事が判りました。

#clear arp-cache ?
interface Clear the entire ARP cache on the interface

ルータに接続されている台数によっては、ARPテーブルを一気に削除するのは躊躇します。

自然に消えるのを待つにしても、CiscoのARPテーブルタイムアウト時間は
デフォルトで240分(4時間)なので待っていられません。

調べてみたらSNMPを利用してARPエントリを削除する方法もあるのですが、
OIDを調べる必要があったり手間がかかり色々と面倒のよう。

そこで思いついたのは、以下の方法。

・ARPテーブルタイムアウト時間を短く設定
(config)#interface fastEthernet 0
(config-if)#arp timeout 60

・消したいMACアドレスのIPアドレスを確認
#sh arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.0.0.1 29 aaaa.bbbb.cccc ARPA FastEthernet0

・テスト機に、消したいMACアドレスのIPアドレス10.0.0.1を設定し、ルータに接続

・MACアドレスが書き換わっている事を確認
#sh arp | inc 10.0.0.1
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.0.0.1 0 dddd.eeee.ffff ARPA FastEthernet0

・テスト機を取り外し、60秒放置

・ARPテーブルを確認
#sh arp | inc 10.0.0.1
#

で、狙い通り消えてくれました。

CiscoがARPエントリーを指定して消してくれるコマンドオプションを追加するか、
ARPテーブルタイムアウト時間を変更した場合、設定の前から存在していた
ARPエントリのタイムアウト時間にも反映してくれれば手間をかけずに済むのですが。

ただこの方法の場合、リモート操作の場合は対応が出来ない事と複数台ある場合は面倒な事です・・・

COMMENT 0


WHAT'S NEW?