コリジョン?

社内 LAN が時々おかしなことになることがあったのは前から認識していた。納期前の修羅場ということもあり、とりあえずルータをリセットすると  24 時間くらいは大丈夫なので、だましだましつかっていた。が、ボクらのつかっている建物に、どんどん本社から人が移動してきて、20 人を越えるようになってきた。さすがにその状態で LAN がおかしいというのは問題だろうということで、本格的に調査することにした。

まず症状はとにかくひたすらネットが重くなると言うことだ。普通にネットサーフィンもままならない。LAN 内のマシンに Ping を飛ばしても 1000msec 以上反応が返ってこないことがザラな状態である。また、ルータをリセットすると直ることから、ボクは最初、ルータを疑った。とはいえ買ったばっかり(8 ヶ月くらい)なんだよなぁと思いつつ、ルータのインジケータを見てみると、けたたましく LED が明滅している。
うへ、これループじゃネーの? というわけで、みんなが帰って一人で残っているときに、まずルータから HUB につながっている LAN ケーブルをすべて抜いた。ところが LED は相変わらずけたたましい。おやぁ? あと刺さっているのは、無線 LAN アクセス・ポイントとサーバだけなんだけど。というわけで、無線 LAN アクセス・ポイントの LAN ケーブルを抜く。
しかし症状変わらず。

ええっ!? サーバなの!? なんでっ!!??

サーバは二枚の NIC がありそれぞれ別の IP アドレスが割り当てられている。とりあえず、主サービスを提供している側(もう片方は SMB しか提供していない)の LAN ケーブルを抜いてみると見事に LAN が正常に動作するようになった。うへぇ、サーバがいったいどんな悪さを!?

それからというもの、サーバで提供しているサービスを一つ一つチェックするという地道な作業が……。もう一つ恐怖心もあった。これが朝まで直らなかったら、20 名以上の社員が仕事にならなくなる。そんなことになったら、会社全体に大きな損失を与えることになってしまう。うひー!!
で、ふと思ったのが、主に起きるトラブルが、まぁ LAN そのものが重いってのもあるんだけど、名前が引けなくなるってことなんだよね。名前が引けない──名前解決が出来ない──っていうのはどういうことかというと、インターネットというのは IP アドレスという数字で自分や相手を特定するんだけど、数字だけではとてもじゃないがわかりにくいし、数字が変わったときに対応しづらい。そこで名前を数字にしてくれるサービスというのがある。
たとえば、amatsukami.jp というのは「61.115.113.146」という数字が割り当てられているんだけど、みんなボクのサーバにアクセスするのに「61.115.113.146」なんて数字は入力していない。「amatsukami.jp」という名前でアクセスしている。つまり「amatsukami.jp」に行きたいんだけどっていうのをとある場所に投げると、それは「61.115.113.146」ですよって答えを返してくれるサーバがあるのだ。それを DNS サーバっていって、だいたいプロバイダによって提供されている。
うちの会社の場合、この社内サーバが DNS を提供している。

ところが、だ。この DNS サービスを 2 枚の NIC 、両方でサービスしていた。この NIC にはそれぞれ異なる IP アドレスが割り振られている。仮に IP:192.168.100.1 と IP:192.168.100.2 としよう。

どういうことが起きるか? じつはボク自身、よく解ってない(マテ)。
たとえば「amatsukami.jp」って何番? っていう問い合わせに対し、192.168.100.1 と 192.168.100.2 両方から「61.115.113.146」だよって答えを返してしまう。LAN 内にまったく同じデータが、異なる IP アドレスから発信される。それが何か悪さをしているとか? でもそもそもクライアントは 192.168.100.1 にしか問い合わせに行かないはずだ。ということは名前解決ではなくて、DNS 広報(DNS の情報を他の DNS サーバに伝える)の方で同じようなことが起こっているのだろうか?
いずれにせよ、この二つの IP アドレスでサービスしている DNS サービスを、メインのアドレスのみにしたら直った。
ひー、朝までに直って良かった~~~。ちなみにその時のツイート