PCのIPアドレスが奪われる

以前、ネットワーク開発を行っている際に開発用のPCを再起動すると、再起動後になぜかIPアドレスが重複しているというメッセージが出力し、ネットワークに接続できなくなるという事象が起きました。かつ本事象が発生するのは、同一セグメントに存在するすべてのPCで、再起動するたびにIPアドレスが次々奪われました。

当初、ARPスプーフィングなどのウイルス感染を疑いましたが、調査を進めた結果、意外な原因でした。

そのときの原因とその仕組みをまとめます。

スポンサーリンク
 

◆原因
Linux機のLoopbackアドレスに127.0.0.1ではなく、実インタフェースのセグメントのIPアドレスが設定されていた

◆IPアドレスの重複メッセージが出る仕組み
Loopbackアドレスとは、そのコンピュータ自身を示すIPアドレスのことで、通常127.0.0.1/24が設定されています。ただし、実は127.0.0.1だけではなく、対象セグメントすべてのIPアドレスを保有している(つまり、127.0.0.1~127.0.0.255を保有)とみなすOSもあるようです。

この動作が原因で、Loopbackアドレスに実インタフェースのセグメントのIPアドレスを設定してしまうと、そのセグメントのIPアドレスをすべて保有していることになります。

ただし、IPアドレスが重複した場合は基本的に先勝ちなので、IPアドレスが重複しているPCが電源ONしているうちは、問題が顕在化しません。

いざPCを再起動してみると、PCのインタフェースがUpした際に、Gratuitous ARPを送出します。このGratuitous ARPに上記のLoopbackアドレスが応答してしまうため、PC側にIPアドレス重複のメッセージが表示されて使用できなくなってしまいます。

こちらがPCのIPアドレスを次々に奪われてします仕組みでした。
Linux機でIPアドレスを変更する場合は誤ってLoopbackアドレスを変更しないように注意しましょう。
 

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください