ネットが切れる問題、謎が深まる

1/28 に発生したネット障害は時々起きるようになってしまった。
現象としてはルータが感知できないくらい短い瞬断が起きるようで、ルータ的には接続中のままのステータスとなっている。復帰方法はいたって簡単で、プロバイダとつなぎ直せば OK。

で、いろいろ LAN 内を調査したところ、クライアント PC が何故か設定されてない DNS サーバを見に行っていることが確認された。しかもこの DNS は外向けの DNS であり、フォワーダは OFF になっている。つまりこの DNS サーバはウチでサービスしているドメイン名しか返さないので、いろんなドメインにアクセスする用途には使えない。なのでこの DNS サーバを見に行ったところで逆にネットが見られなくなるだけなのだ。

しかしこの DNS サーバを落とすとクライアント PC は名前解決ができなくなるのだ。

しかもこの現象がおきるのは Edge だけ。問題の DNS サーバを落とした状態で ping コマンドで名前解決をしようとすると、普通に名前解決できる。

ん~~~~~?

これはパケット キャプチャを使って解析するしかないか?? 疑っているのは Active Directory なのだが……確かに我が家の Active Directory はちゃんと数えてないけど 10 年以上モノなんだよね(汗)。その間に色んなサーバが設置されては消えしているからもしかしたらこの外向け DNS サーバあった場所にドメイン コントローラとか Exchange Server とかなんかそういう重要なサーバがあったのかも?? それをちゃんとした手順を踏まずに削除したとか?

あり得そう……。

しかし悔やむべきは Edge では問題が出たわけだが、Chrome や  iPhone からは大丈夫だったのか確かめるべきだったなぁ……。

コリジョン?

社内 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 サービスを、メインのアドレスのみにしたら直った。
ひー、朝までに直って良かった~~~。ちなみにその時のツイート