クリエイター手抜きプロジェクト[439]ネットワーク関係のトラブルを解決するには
── 古籏一浩 ──

投稿:  著者:



今回はネットワーク関係のトラブルについてです。デジクリ9月8日版に柴田編集長がネットに繋がらずエラい目にあったと書いていました。ネットワークでトラブルが発生した際に、どこが原因かをつきとめる方法について記しておこうと思います。

ただし、ネットワーク関係は複雑で、ここに書いてある方法ですべてが解決できるわけではありません。とりあえず、トラブルの解決の糸口になればよいかと思います。

あと、柴田編集長がMacを使用しているということで、Mac OS X/OS Xを使用しているという前提で書きますが、Windowsでも基本的には変わりません。(ターミナル/シェルかcommand.comかの違い程度です。あと、若干コマンドが異なります)

これまでに実際に出会ったトラブルの経験もまじえて書いていきます。ハードウェア障害の場合は、機器の交換のためお金が必要なこともあります。

インターネットに繋がらなくなった時に疑うのは、自分側の環境に原因があるのか、相手側の環境に原因があるのかという点です。




例えばサーバーが停止してしまっている場合は、そのWebサイトにアクセスしても表示されないか、エラーになります。止まっているのが相手側のサーバーなら、他のサイトにアクセスして確認できます。他のサイトが表示されれば原因は相手側にあるので、待つ以外に解決方法はありません。これは、もっとも簡単なパターンと言えます。メールも同様です。

自分側に原因がある場合としては、ルーターが壊れてしまった、アプリケーション(メールソフトやブラウザなど)が一時的におかしくなってしまったなどがあります。この場合は、順番に原因を特定していくことになります。

ただ、この時に下手に設定をいじってしまうと、余計にトラブルの原因を増やしてしまうことになります。これを防ぐためにも、予備の機材を持っていると、より早く解決できるようになります。

予備の機材としては、ルーター以外にiPhone/Androidなどのスマートフォンもあります。ブラウザに原因がある場合は、標準のブラウザ以外でWebサイトにアクセスしてみるとよいでしょう。スマートフォンでWebサイトにアクセスして確認するのもありです。

ネットワークトラブルの原因が、相手側か自分側か特定しにくいこともあります。そこで、手持ちのマシンが正常である、という条件付きで説明します。

ここで言う正常とはハード的に壊れていない、ということです。もし、手持ちのマシンが二台以上あるなら、それぞれのマシンで接続できるか確認すれば、原因の特定が早くなります。

まず、可能なら無線でネットワークを接続せずに、イーサネットケーブルで接続します。というのも、物理的に接続した方がより確実だからです。もちろん、無線で問題なく繋がっている、無線しか接続手段がない場合は仕方ありません。

まず、たまにある例としては電話線などの工事で、ネットワークが切れてしまった場合です。これは、パソコンのネットワーク接続をしなおせば完了です。場合によってはルーターの再起動をした後で、パソコン側で再度接続するだけで完了です。

柴田編集長のようにマンションなどでは一台のルーターが共用になっている場合、そのルーターに不具合が発生すると接続者全員のネットワークが停止してしまいます。

ちなみに、iPhone/Androidが手元にありテザリングを利用できる場合は、マシンをiPhone/Android経由でネット接続してみるとよいでしょう。ほとんどの場合、接続されるはずなので原因が特定しやすくなります(接続できれば自分側の原因の可能性が大)。

特定しやすくなると言ってもまったく接続できない場合、自分側のどこに原因があるのか調べなければいけません。

まず、Macの場合はターミナルを起動します。ターミナルは起動ディスクのアプリケーションフォルダ内の、ユーティリティフォルダ内に「ターミナル.app」という名前であります。.appは拡張子の表示をしていない場合は表示されず単に「ターミナル」となります。英語版なら「Terminal」「Terminal.app」です。

Windows 7の場合は、command.comとスタートメニューの検索ボックスに入れればよいでしょう。cmdと入れて表示されるアプリケーションでも大丈夫です。

ターミナルを起動したら以下のように入力します。

ping www.google.com

すると、以下のような結果が表示されます。数行表示されたらctrlキーを押したままcキーを押します。

PING www.google.com (216.58.221.164): 56 data bytes
64 bytes from 216.58.221.164: icmp_seq=0 ttl=50 time=20.997 ms
64 bytes from 216.58.221.164: icmp_seq=1 ttl=50 time=16.553 ms

接続できない場合は以下のように反応時間がない状態で表示されます。

Request timeout for icmp_seq 0
Request timeout for icmp_seq 1

このように表示された場合でも、相手側のDNS(ドメインネームサーバー)に不具合が発生している可能性があります。そこで、今度は以下のようにドメイン名でなくIPアドレスを指定します。

ping 216.58.221.164

正常であれば以下のようになります。

PING 216.58.221.164 (216.58.221.164): 56 data bytes
64 bytes from 216.58.221.164: icmp_seq=0 ttl=50 time=17.468 ms
64 bytes from 216.58.221.164: icmp_seq=1 ttl=50 time=22.889 ms

接続できない場合は、さきほどと同じような接続できなかった結果が表示されます。IPアドレスでは反応があるのにドメイン名では駄目な場合は、システム環境設定のネットワークでDNSサーバーのIPアドレスに以下の番号を指定します(入力できない場合は、後述する手入力で直接IPアドレスを指定します)。

8.8.8.8

これでアクセスできるようであれば、DNS絡みで不具合が発生している(単にDNSサーバーが停止してしまっている等)ことになります(プロバイダの機器の変更で、まれにDNSサーバーが変わってしまうことがあります)。なお、上記の8.8.8.8はGoogleのDNSサーバーなので、このまま設定しておいても問題はありません。

これで接続できない場合は、自分側の環境に原因がある可能性が高いのですが、経路の途中の機器で不具合が発生していることがあります。ここも一応確認する必要があります。以下のようにコマンドを入力します。

traceroute www.google.com

すると以下のように表示されます。

traceroute to www.google.com (216.58.221.164), 64 hops max, 52 byte packets
1 192.168.11.1 (192.168.11.1) 0.445 ms 0.362 ms 0.255 ms
2 118.23.70.228 (118.23.70.228) 4.607 ms 9.118 ms 5.861 ms
   :(中略)
12 216.239.40.41 (216.239.40.41) 17.644 ms 16.433 ms 16.952 ms
13 kix03s01-in-f164.1e100.net (216.58.221.164) 17.267 ms 17.425 ms 16.649 ms

サーバーによっては到達できないこともありますが、もし自分側に問題があれば、最初の段階で先にある機器に到達できません。到達しているのにアクセスできない場合としてはNTTの特別なサービスを行うネットワークに接続されてしまっていることもあります。

これはインターネット側ではないので、接続を切ってインターネット側に接続し直す必要があります。NTTの業者が設定していくと、そのような設定が含まれ何らかの原因で切り替わってしまうことがあります(このトラブルは見ればすぐに分かるので解決は楽です)。

なお、ping, tracerouteとも正常に反応したり、まったく反応しない、非常に低速な場合があるなら、電線や局舎内の機器に問題がある可能性もあります。実際に私の家の近くの光ケーブルでは、そういうことがあり雨の日だけ低速になるという現象が発生していました。このような場合はNTTなどに確認を取ってみるのがよいでしょう。

話を戻します。上記の例で192.168.11.1の段階で停止しているのであれば、自分側のルーターかハブに問題がある可能性が大です。ハブを利用していないのであればルーターに原因があると思われます。この場合、ルーターが一台で他の無線ルーターなどは接続されていないものとします(他に接続している無線ルーター側に原因があることもあるためです)。

まず、ルーターの電源を落とします。10秒以上経過してから電源を入れます。これで接続できれば完了です。接続できなかった場合は、光ファーバーから接続されている機器とルーターが正常に接続されているか確認します。

これはルーター側のランプで確認できます。点灯しているなら多分大丈夫でしょう。点灯していないならルーターよりも光ファイバーと接続している機器を疑った方がよいでしょう。

この場合は、NTTなどの業者を呼ぶことになります。ただ、この段階ではルーターが壊れている可能性も否定できません。もし、以前使っていたルーターがあり正常に動作するならルーターを交換してみるのが簡単です。

これで接続されれば、使っていたルーターが壊れてしまったことになります。もし、ルーターのファームウェアのアップデートで直るのであれば、そのような対処方法も試してみるとよいでしょう。

ルーターが正常で、マシンとイーサーネットケーブルで接続されているのにも関わらず繋がらない場合は、ハード的な部分も疑う必要があります。

まず、イーサネットケーブルです。イーサネットケーブルは割と頑丈な方ですが、まれに断線していることもあります。正常なイーサネットケーブルに差し替えて接続されれば完了です。

また、無線で接続できるなら無線での接続を試してみましょう。無線はOKなのにイーサネットケーブルを使った場合は駄目なら、イーサネットケーブルが断線している可能性が大です。

ただし、イーサネットケーブルにはクロスケーブルとストレートケーブルがあり、ストレートケーブルでルーターに接続してしまうと駄目です。必ずクロスケーブルで接続してください。20年くらい前には、こういうオチがたまにありました。ケーブルを自作していたから、という理由もありますが。

なお、誰かがネットワークケーブルの、どのあたりで断線しているかチェックできる機器を持っているなら、それでチェックする手もあります。古い場所では無線でなく、イーサネットケーブルを天井や床に這わせてあることがあります。このような場合、どこで断線しているか専用の機器がないとわかりません。

また、たまにケーブルを頻繁に抜き差しする人がいて、ノートパソコンの基板との接続が駄目になってしまったということも過去にはありました(USBも同様で1ポートしか使えない状態になっていた)。

ルーターも正常、ケーブルも正常、基板も特に問題ないのであれば設定を確認します。ほとんどの場合、DHCP接続なのでケーブルを差し込むだけで接続されるはずです。

DHCPで駄目な場合は固定IPを割り当てます。Macだとシステム環境設定のネットワークでIPv4の構成で「手入力」を選択します。ルーターのIPアドレスが192.168.11.1ならIPアドレスには192.168.11.8のように最後の数値を2〜250くらいまでの適当な数値にします(接続台数によります。多く接続している場合は大きい数値を指定してください)。

サブネットマスクは255.255.255.0を指定します。ルーターにはルーターのIPアドレスを指定します。多くの場合192.168.11.1です。

古いルーターだと192.168.1.1というのもあります。マンションや企業では、ルーターはこれらとは異なるIPアドレスになるので確認しておきましょう。

DNSサーバーには、とりあえず8.8.8.8を入れます。これで、接続されればとりあえずは使えます。原因は暇な時に追求しましょう。DHCP接続に戻して正常なら、たまたま誰かが同じIPアドレスを使っていたということもあります。

これで駄目な場合はマルウェアやウイルスを疑うのもありです。過去にネットワークに接続できないというトラブルで、ウイルス100個以上、マルウェア5000個以上という目を疑うようなパソコンもありました。電気屋さんとともに「すげ〜な〜」という言葉しか出てこないという状態でした。この数に至るまでの期間は3か月だそうで。結局、OSごとクリーンにするしかありませんでした。

いずれにせよ、ウイルスとマルウェアの可能性は頭に入れておいた方がよいかと思います。

あと、滅多にありませんがソフトウェアの不具合でネットワークの帯域を食いつぶしてしまったため、非常に低速になっていたということがありました。滅多にありませんが、この場合テザリングを使ってスマートフォン経由で速度を確認すれば、原因が特定しやすいでしょう。

共同で使用している場合は、誰かが帯域を食いつぶしているという可能性も考えておいた方がよいかもしれません。

ほとんどの場合、ここまでの処理で解決できるはずです。メールの場合、設定を何度確認/設定してもうまくいかないなら、別のメールソフトを入手して設定してみましょう。それで、接続できるならメールソフトが壊れたか、設定が正しく反映されていないことになります。

なお、今月発生し大規模な洪水などの災害では、上記のような方法では解決できません。それでも、スマートフォンがあれば情報の入手は可能でしょうし、ネットワークへの接続も可能になります。持つべきはスマートフォンです。

大規模な災害もなくハード的にもソフト的にも問題ないのに繋がらないこともあります。実際の事例としてあげて「10分前までは繋がっていたのですが……」と事務員さんの電話。実際に行ってみて確認すると、ハード的にもソフト的にも問題ないのにインターネットに接続できない状態。で、ふと思いついた原因がこれ。

「電話料金(プロバイダ料金)払いました?」
「……払ってないです」
「それだと繋がらないと思います」
「え? ……そうなんですか。早速払ってきます」

そして20分後。

「接続できました。どうもありがとうございますぅ〜」
「いえいえ」

料金を支払わなくても2週間くらいは使えるので、こういうオチもあるわけです。お金を払えば、早ければ10分くらいで接続できるようになることもありました。

【古籏一浩】openspc@alpha.ocn.ne.jp
< http://www.openspc2.org/
>

シルバーウィークと言えば稲刈り。今年も無事に終わらせました。しかし、さすがに筋肉痛でダウン。

監訳ですが10月24日にオライリーから「JavaScriptによるデータビジュアライゼーション入門」が発売されます。

・JavaScriptによるデータビジュアライゼーション入門
< http://www.amazon.co.jp/dp/4873117461/
>

・Photoshop自動化基本編
< http://www.amazon.co.jp/dp/B00W952JQW/
>

・Illustrator自動化基本編
< http://www.amazon.co.jp/dp/B00R5MZ1PA
>

・Adobe JavaScriptリファレンス
< http://www.amazon.co.jp/dp/B00FZEK6J6/
>

・ExtendScript Toolkit(ESTK)基本編
< http://www.amazon.co.jp/dp/B00JUBQKKY/
>

・データビジュアライゼーションのためのD3.js徹底入門
< http://www.amazon.co.jp/dp/4797368861
>

・4K/ハイビジョン映像素材集
< http://www.openspc2.org/HDTV/
>

・クリエイター手抜きプロジェクト
< http://www.openspc2.org/projectX/
>