IPアドレス競合の調査
問題
あるサーバーとあるサーバーがありまして、いつもデータベース参照などで通信しているのですが、急にデータベースから正常な応答がなくなりました。
Pingは返ってくるのに、なんで?
答え
Pingは返ってくるのに、いつもと違うという場合は、IPアドレスが重複して、IPは同じだけど今までと違う何か(サーバー、プリンタ、周辺機域)が応答している可能性が考えられます。
アプリサーバー 192.0.2.101 が、データベースサーバー 192.0.2.102 に接続しているシステムがあるとき、
192.0.2.102 というプリンターが接続されたとします。
ping は返ってきます。
$ ping 192.0.2.102 PING 192.0.2.102 (192.0.2.102) 56(84) bytes of data. 64 bytes from 192.0.2.102: icmp_seq=1 ttl=100 time=0.501 ms 64 bytes from 192.0.2.102: icmp_seq=2 ttl=100 time=0.458 ms 64 bytes from 192.0.2.102: icmp_seq=3 ttl=100 time=0.499 ms
ただ、本来の 192.0.2.102 側でパケットを確認しても、何もない場合、IPが同じ他の誰かが応答しています。
# tcpdump -nn icmp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 0 packets captured 0 packets received by filter 0 packets dropped by kernel
IPで区別がつかないなら、MACアドレスを確認しましょう。
本来の 192.0.2.102 のMACアドレスは
# ifconfig eth0 Link encap:Ethernet HWaddr 32:24:3A:00:00:00 inet addr:192.0.2.102 Bcast:192.0.2.255 Mask:255.255.255.0
Ping応答をしている機器のMACアドレスは
? (192.0.2.102) at 00:1a:fd:00:00:00 [ether] on em1
MACアドレスの先頭3つなど(ベンダーコード)でメーカーなどの手掛かりがわかるので、手掛かりになります。
問題の機器を見つけたら、ネットワークから切断しましょう。
コメント