図 ARPキャッシュにエントリを手動で追加し削除した画面
図 ARPキャッシュにエントリを手動で追加し削除した画面
[画像のクリックで拡大表示]

arp -s IPアドレス MACアドレス [dev LANインタフェース名]

 ARPで調べたIPアドレスとMACアドレスの対応付けはARPキャッシュとして保存します。ARPキャッシュは通常ARPリクエストに対する応答を各コンピュータが自動的に一定時間維持されます。このため,DHCP環境などで特定のIPアドレスを持つホストが頻繁に入れ替わっている環境では,古いARPエントリが残ってしまって,うまく通信できないことがあります。この場合,明示的に正しいARPエントリを登録することで事象が改善されることがあります。

 ARPキャッシュにエントリを追加する場合は,ARPコマンドに以下のような-sオプションを付けて実行します。例えば,「192.168.135.4」というIPアドレスに「01:02:03:ED:EE:EF」というMACアドレスを対応づけたエントリをeth0というLANインタフェースに追加したい場合は以下のように実行します(図)。

arp -s 192.168.135.4 01:02:03:ED:EE:EF dev eth0

 なお,ネットワーク管理上の特殊な事情がない限り,通常はarpコマンドを用いて静的にARPエントリを登録する必要はありません。rarpdを用いたい,セキュリティを高めたい,プロキシARPの設定をしたいといった要件で,システム起動時に静的なARPエントリを登録したい場合は,/etc/ethersファイルに必要なエントリを設定するのがよいでしょう。