ネットワーク通信の挙動が妙なことになっていたときの、ひとつの事例 #Solaris #TIPS
あるSolarisのシステムで、同じネットワーク内では通信が取れるが、外部のネットワークからは通信が取れないという奇妙な現象が起き た。しかも同じネットワーク内のパソコンなどは、外部のネットワークとの通信に問題ないという。
で、以下は、その時の対応メモ。
現象
- 同じネットワーク内では通信が取れるが、外部のネットワークからは通信が取れない
- 外部のネットワークからのpingのパケットは届いているが、応答を返すことができない
- 同じネットワーク内のデフォルトルータへのpingを送っても応答がない
- 同じネットワーク内のほかの機器(パソコン)は、外部のネットワークと通信が取れる
- 同じネットワーク内のデフォルトルータへのpingを送ると応答がある
- /etc/defaultrouter, /etc/netmasks, /etc/inet/hosts の記述は正しい
- netstat -r で経路を確認しても、デフォルトルートの設定ができている
- /var/adm/messages* に次のようなメッセージが繰り返す出ている
Oct 5 17:05:22 hogehoge ip: [ID 903730 kern.warning] WARNING: IP: Hardware address '00:1c:7e:xx:xx:xx' trying to be our address 192.168.1.1!
回復措置
- システムの再起動
原因
IPアドレスの重複。
おそらくルータ側で、IPアドレスに紐づくMACアドレスとして、正規の(そしてトラブった)システムのものではなく、重複する別の機器の それが割り当てられたのだと思われる。再起動に伴なうARPの通知により、ルータ上の登録が書き変わり、回復したというところだろう。
恒久対策
IPアドレスの重複状態を解消する。
今回は対象システムのIPアドレスを変更できなかったため:grep -h "trying to be our address" /var/adm/messages* | tr -s " " | cut -f1,2,3,13 -d" " | sort -k4 -k1 -k2 -k3
上記のコマンドを実行して、IPアドレスが重複している機器(のNIC)のMAC アドレスと、警告の発生時間を /var/adm/messages* から抜き出し、パソコンの管理者に引渡した。(抜き出し たリストを見たら、3台ものパソコンが他人さまのIPアドレスを取り合ってやがりましたよ!)