ETHERS ファイルの書き方
CLIENT
ETHERS ファイルとは
ETHERS ファイルとは、IP ネットワークで、IP アドレスがどのハードウェアに割り当てられているかを管理するファイルです。
このような "IP アドレス" と "MAC アドレス(ハードウェアアドレス)" との対を自動管理する仕組みとして ARP (Address Resolution Protocol) という仕組みがあるのですけど、ETHERS ファイルというのは、Linux で、その ARP に任意の情報を登録するためのデータファイルになります。
普段はそうそう出番はなさそうですけど、たとえば iPhone 5 の Wi-Fi 通信が頻繁に途切れる みたいな特殊な場面で、自分は使ったことがありました。
ETHERS ファイルの書き方
この ETHERS ファイルはテキストファイルなので、テキストエディタで簡単に書き換えられます。
HOSTS ファイルは、普通は次の場所に用意されています。
Linux /etc/ethers 書き方は単純で、MAC アドレスと IP アドレスとの対を、1 行毎に書きます。
[MAC アドレス] [IP アドレス]
たとえば IP アドレス "192.168.1.1" が MAC アドレス "F4:1B:A1:00:00:00" を持つインターフェイスに割り当てられている場合、これを ETHERS ファイルに登録するには、次のように記します。
F4:1B:A1:00:00:00 192.168.1.1
このように "IP アドレス" と "MAC アドレスを" 空白文字やタブ文字で区切って記載します。
このようにして変更した ETHERS ファイルは、HOSTS ファイル のときとは違って、書き換えても直ぐには有効にならないので注意が必要です。
ETHERS ファイルをシステムに読み込ませる
Linux の arp コマンドを使う場合
ETHERS ファイルに記した内容をシステムに反映させるには、Linux では次のコマンドを実行します。
arp -f
この "-f" オプションは、ファイルから ARP エントリを登録するというもので、ファイル名を省略した場合は既定のファイル (/etc/ethers) が使用されるようになっています。
このとき、これまで手動で登録した ARP エントリはそのまま残り、そこにファイルに書かれた内容が追加されるところに注意します。
CentOS の場合
Linux でも CentOS の場合は、次のコマンドを使うことで ETHERS ファイルの内容をシステムに反映することができます。
service network restart
これで、手動で登録してあった ARP エントリが全てリセットされた上で、新たに ETHERS ファイルの内容がシステムに取り込まれます。
この時、ネットワーク周りの設定は全てリセットされることに注意が必要です。
インターフェイスもいったんダウンしてからアップします。SSH によるリモート接続は少し待って継続できる場合がほとんどですけど、何らかの事情でネットワークが動かなくなる可能性もあるため、リモート接続の場合は特に慎重に実行する必要がありそうです。
登録されている ARP エントリを確認する
登録されている ARP エントリを確認する方法については、ARP エントリを手動で設定する方法 の方に記してますので、そちらを参考にしてください。
こちらに記した ARP コマンドによる登録であれば Windows でも ARP エントリを手動で登録できます。