ARP エントリを手動で設定する方法

CLIENT


Linux で ARP エントリを登録する

登録

Linux の場合は、arp コマンドを使って登録します。

たとえば IP アドレス "192.168.1.1" が MAC アドレス "F4:1B:A1:00:00:00" を持つインターフェイスに割り当てられていることを登録する場合には、次のようにします。

arp -s 192.168.1.1 F4:1B:A1:00:00:00

Linux で登録する場合は、MAC アドレスのそれぞれの値を ":" で区切る必要があります。

 

こうして登録した ARP エントリは、ネットワークの再起動時には消去されるので注意します。

再起動後も引き続き使用したい場合には、このコマンドを起動スクリプト (/etc/rc.local) などで起動時に実行するようにするか、ETHERS ファイルの書き方 でお話した ETHERS ファイルに記載する方法があります。

削除

登録されている ARP エントリを消したい場合は、次のようにします。

arp -d 192.168.1.1

削除については "IP アドレス" を指定するだけで大丈夫です。

確認

ARP エントリが正しく登録できているかどうかは、次のようにして確認できます。

arp -n

このコマンドを実行すると、現在のシステムに登録されている ARP エントリが一覧で表示されます。

Address HWtype HWaddress Flags Mask Iface
192.168.1.3 ether cc:08:e0:b4:91:00 C eth0
192.168.1.7 ether 00:15:5d:00:01:00 C eth0
192.168.1.1 ether f4:1b:a1:00:00:00 CM eth0
192.168.1.10 ether 00:26:4a:16:4f:00 C eth0

ここで "Flags Mask" のところに "M" という記号が表示されていれば、その ARP エントリは手動登録されたものになります。

ここが "C" だけの場合には、自動で登録されて、予め定められたタイミングで自動消去される ARP エントリのキャッシュになります。

他にも "P" が表示されることがあり、この場合はこの Linux が ARP 要求に対して代理で応答するために使う Proxy ARP 用のエントリであることを示しています。

 

Windows で ARP エントリを登録する

登録

Windows でも、コマンドプロンプトを使って ARP エントリを手動で登録できます。

Windows Vista や Windows 7、Windows 8 などの場合は、コマンドプロンプトを管理者モードで実行する必要があります。

管理者モードのコマンドプロンプトを起動する方法は、コマンドプロンプトを管理者特権モードで実行する (Windows Vista)コマンドプロンプトを管理者モードで起動する (Windows 8) を参考にしてください。

 

Windows で登録する場合は、MAC アドレスのそれぞれの値を "-" で区切る必要があります。

arp -s 192.168.1.1 F4-1B-A1-00-00-00

 

こうして登録した ARP エントリは、ネットワークの再起動時には消去されるので注意します。

再起動後も引き続き使用したい場合には、このコマンドをバッチファイルなどに記載してそれをレジストリの HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run に登録するなど、起動時に実行されるように工夫する必要があります。

削除

登録されている ARP エントリを消したい場合は、次のようにします。

arp -d 192.168.1.1

削除については "IP アドレス" を指定するだけで大丈夫です。

確認

ARP エントリが正しく登録できているかどうかは、次のようにして確認できます。

arp -a

このコマンドを実行すると、現在のシステムに登録されている ARP エントリが一覧で表示されます。

インターネットアドレス 物理アドレス 種類
192.168.1.3 cc:08:e0:b4:91:00 動的
192.168.1.7 00:15:5d:00:01:00 動的
192.168.1.1 f4:1b:a1:00:00:00 静的
192.168.1.10 00:26:4a:16:4f:00 動的

この「種類」のところが "静的 (Static)" になっているものが、手動で登録された ARP エントリになります。

ここが "動的 (Dynamic)" になっているものは、自動で登録されて、予め定められたタイミングで自動消去される ARP エントリのキャッシュになります。