ネットワーク通信の挙動が妙なことになっていたときの、ひとつの事例 #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アドレスを取り合ってやがりましたよ!)

再発防止という観点からは固定IPアドレスの管理と管理状態の周知という基本中の基本をしっかりやった上で、DHCPによるIPアドレスの動的割り当ての 推進というところになるのかな。