Command disabled: backlink

ネットワークがつながらないときの問題切り分けメモ

Windowsを想定。普通のIPネットワークを使うこと想定。

電話越しとかに「ネットがつながらんでござる」とだけ言われても、管理者は弱ってしまいます。基本的な事実を自分なりに調べてから申し出てくれる人は、よい利用者です。

基本的な道具

  • コントロールパネル(コンパネとも略される)
  • コマンドプロンプト
  • ping
  • nslookup
  • ipconfig
  • IEの設定画面(バージョンによって違うが、大体[ツール]→[インターネットオプション]

自分だけか、隣もか

つながらない、と思ったら、まず、これが自分の使っているPCだけで起こっているか、隣でもPCを使っている人がいればそこでも同じことが起こっているかを確認します。それによって、自分のPCを調整すればよいのか、それ以外の外部にある何かを調整すればよいのかがある程度明確になります。

メーラーなのか、Webなのか

「何ができるのに、何ができない」という言い方をしてくれると、ははーんと見当がつくことが多くなります。例:

  • Webが見れるのに、Outlook Expressでメールの送受信ができん(または逆)
  • どこそこのWebは見れるのに、どこそこのWebは見れん
  • 今朝は使えたサービスが、昼休みが終わってからなぜか使えん

何もできんという場合でも、「あれも、これも、それもできん」という言い方にしてもらうと、「ああ確かに何もできないね」と納得しやすくなります。「とにかくヤフーが見れないんだよ!」というだけでは、色々な可能性があって問題点が絞り込めないので、対応するほうは気が重くなります。

ケーブルつながってる?

何よりまず、ちゃんとケーブルがPCに接続されているか確認しましょう。無線LANの場合も、通信カードなんかを使っているときはちゃんとコネクタの奥まで挿しこまれているか確認してください。

接続口付近に、緑色とか橙色の灯りが点くか、細かく明滅するかもしれません。これがつながっているサインです。いつもはこれが点灯しているのに消えていたら注意。しっかり接続したはずなのにランプが点かないとしたら、

  • ケーブルがどこか壊れた
  • 接続先のハブやルーターの電源が落ちている、または壊れた
  • ケーブルの種類が間違っている(クロスケーブルとストレートケーブルというものが存在します。普通使うのはストレート)

などという可能性を考えてください。

IPアドレス何になってる?

ケーブルがちゃんと繋がっていて、接続を示すランプが点いているとしても、自分がまともなIPアドレスを持たないときは、他のコンピュータと通信できません。

自分のIPアドレスとそれに付随する設定を簡単に確認するには、ipconfigというコマンドがよいでしょう。コマンドプロンプトから実行できるコマンドです。

コマンドプロンプトを出す方法はいろいろありますが、[スタート]ボタンから[ファイル名を指定して実行(R)]、そこで cmd と入力してエンターキーを叩くのが、慣れると一番早いです。(もっとテダレの者は、Windowsキーを押しながらRキー、というショートカットを使ったりするかもしれません)

そこで、ipconfig と打ち込み、エンター。

>ipconfig
      Connection-specific DNS Suffix  . : (省略)
      IP Address. . . . . . . . . . . . : 192.168.123.45
      Subnet Mask . . . . . . . . . . . : 255.255.255.0
      Default Gateway . . . . . . . . . : 192.168.123.1

なんて表示が帰ってくるでしょう。もちろんマシンによって数字の中身は違います。これらの値が、そこのネットワークのルールに合致しているかを確認しましょう。

  • IP Address … IPアドレス。4つの数字がつながってできています。ほとんどの場合、これのアタマ2つか3つがそこのネットワーク内のPCで同一でないといけません。また、他のコンピュータと完全に同じことがあってもいけません。一般に、管理者がこれを割り当ててくれるので、普通に使う利用者は気ままなIPを勝手に名乗ってはいけません。
  • Subnet Mask … これも、そこのネットワーク内で完全に共通でないといけません。「これこれにせよ」という指定が必ずあるはずです。255で始まるのが特徴です。
  • Default Gateway … インターネットは、複数のネットワークが相互に接続されることで成立します。それらの相互の玄関口になっているのが、このゲートウェイと呼ばれるコンピュータ、またはルーターです。これを指定されるとおりに設定しておかないと、内輪のコンピュータにはアクセスできるのに、それより外側のコンピュータ、例えばGoogleなんかにアクセスできないといった事態が生じます。

これらを修正するためには、コントロールパネルから「ネットワークの設定」とかそんな項目を探して、設定画面を出すことになるでしょう。もちろん管理者に確認した上で行いましょう。

DHCP

自分はIPアドレスの設定なんかしたことはないけど、ちゃんとネットワークがつながるよ、という場合は、DHCPの恩恵にあずかっているからということが多いです。これは、IPアドレスの設定を勝手にやってくれるものです。DHCPサーバーというものがネットワーク内のどこかに準備されていて、そこが空いているIPアドレスを台帳につけて管理しています。ゲートウェイやネットマスクの設定も勝手にしてくれますし、後述のネームサーバーも適切なものに指定してくれます。

だから、「いつもは何もしないでもつながってたのに」ということなら、DHCPサーバーがおかしなことになっているのかもしれない、と疑ってみましょう。または、そのコンピュータは、どこか外のネットワークから最近持ち込んできたばかりではないですか?それなら、ここのネットワークではDHCPサーバーなんか用意してくれていないかもしれません。誰でも簡単にネットワークにつなげるようでは危険だ、と考える管理者もいますので。

NAT(IPマスカレード)

自分のIPアドレスが、10、172、173、192 のいずれかで始まる場合、「ああ、このネットワークはNATの下にあるのかな」と理解しておくとよいでしょう。詳しいことは省略しますが、NATを経由するとうまく動かないものは、まれながら存在します。

逆に、これらの数字で始まってない場合、人によっては「げ、俺はグローバルIPを使っているのか。おそろしい」なんて呟くときがあるかも知れません。これは、世界中のどのコンピュータからも、あなたの手元に情報をプッシュすることができることを意味するからです。よほど慎重にガードをかためないといけません。NATの場合は、ある程度世界中からの直接攻撃から守られている状態でもあります。

どこまでpingが届く?

管理者が「ピンは届きますか」とか「ピングは届きますか」とか聞いてくることがあります。ある二つのコンピュータが、ネットワークを通じで確かに通信できる状態にあることを確認するためのものです。

これも、コマンドプロンプトを使って行います。コマンドの名前は、ping 。

たとえば、「192.168.1.1 にピンを打ってください」と言われたら、下のコマンドを打ちましょう。OKの場合と、ダメな場合を下に示します。

>ping 192.168.1.1

Pinging 192.168.1.1 with 32 bytes of data:

(うまくいった)
Reply from 192.168.1.1: bytes=32 time<1ms TTL=255
Reply from 192.168.1.1: bytes=32 time<1ms TTL=255
Reply from 192.168.1.1: bytes=32 time<1ms TTL=255
Reply from 192.168.1.1: bytes=32 time<1ms TTL=255

Ping statistics for 192.168.1.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms


>ping 192.168.1.1

Pinging 192.168.1.1 with 32 bytes of data:

(うまくいかない)
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 192.168.1.1:
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

うまくいったか、うまくいかなかったかを、必要に応じて管理者に伝えましょう。これで、問題点がどこかを推測することを助けます。特に、最寄のゲートウェイにpingできるかできないかという点が重要です。問題点を切り分けるための手がかりにしやすいからです。

ところで、どのコンピュータやルータも必ずpingの応答を返してくれるとは限りません。pingの要求があったのに、それを無視するなんていう設定も可能です。または、pingの応答要求を通信経路で叩き落してしまうようなファイアウォールもあります。「いるかい」と聞かれて、誰彼かまわずに「いるよ」と返答するのは危険を招きやすいと考える管理者がいるからです。居留守みたいなもんですね。だから、pingの返事が返ってこないこと=異常 と早とちりするのは早計です。あくまで手がかりのひとつとしてこのコマンドを使います。

DNSを使って名前解決できる?

「インターネットできないよ」と人が言うとき、それは「Webブラウザを使っての閲覧に問題が生じた」という意味と同じ、であることが大半です。これの問題点を探るためには、今までの事柄はもちろんですが、これに加えて「名前解決はできているか」「どんなプロキシサーバーを使っているか」という二つが重要になってきます。

名前解決てなんぞ、という問いに答えるために、まずは、コマンドプロンプトで nslookup コマンドを発行してみましょう。ここでは、www.amazon.com の名前に対応するIPアドレスを調べています。

>nslookup www.amazon.com
Server:  ---------------
Address:  172.---.---.---

Non-authoritative answer:
Name:    www.amazon.com
Address:  72.21.207.65

人によって — の内容は違います。

ここでは、www.amazon.com は、72.21.207.65 と判明しました。

存在しない名前を解決しようとすると、

>nslookup dummy.amazon.com
Server:  ---------------
Address:  172.---.---.---

*** ------------ can't find dummy.amazon.com: Non-existent domain

と言われます。これが、名前解決に失敗するということです。

Webを見るときでも、結局はIPアドレスを使ってコンピュータどうしが通信していることには変わりありません。http://www.amazon.com/ にアクセスするには、一旦この名前がどのIPアドレスを持つのかを知らなくてはいけないわけです。これが何らかの理由でできないうちは、Webの該当サイトにアクセスできません。Webブラウザの上には、エラー画面と一緒に、「サーバーが見つからない」といった文言が見つかるでしょう。

この仕事をしてくれるのが、DNSサーバーです。

ネットワークの管理者は、必ず「使ってよいDNSはここだ」と言って、IPアドレスを一つか二つ指示しているはずです。名前解決がうまくいかない場合は、これを確認しましょう。自分のIPアドレスを調べるために使った ipconfig コマンドを使って、これを調べることもできます。

>ipconfig /all     <--- /all オプションをつけて実行

... いろいろ表示 ...
DNS Servers . . . ---.---.---.---

といった表示が見られたら、ここが普段使っているDNSです。単数のことも複数のこともあります。(複数のときは、片方の具合が悪いときの予備としてもう片方を使ったりします)

DNSを設定するのはコントロールパネルから行うのが普通ですが、具体的な方法はここでは省略します。また、DHCPを使ってIPを割り当てられた場合、DNSも自動設定されているはずです。

DNSを指定のものに設定しているのに、なおnslookupを使った名前解決の実験が失敗する、というときは、何かDNSのほうでトラブルが発生しているのでしょう。たぶん管理者は既に各所からクレームを受けていて、がんばって復旧作業をしてくれているのだと想像して少し待ちましょう。

内輪で指定されているDNS以外にも、世界中にDNSが散らばっています。内輪の動作が疑わしいときはこれらに直接アクセスして名前解決をしてみるという比較実験もできますが、今のところこれの記述は省略。

やや珍しい話ですが、「DNSを全く設定してないのに、なぜかWebは見れるんだよね」なんていう運用もあるかもしれません。そのときは、Webの閲覧には内輪で用意されたプロキシサーバーを経由してWebにアクセスしていると想像できます。

プロキシサーバー使ってる?

プロキシサーバーを使ってWebにアクセスしなくてはいけない、というルールで運用されているところは結構あります。個々人が直接勝手にいろいろなWebを覗きに行けるのではなくて、一旦このプロキシが代理取得してくれた情報を参照しに行くというのが大体のイメージです。これによってWeb全体の情報流量が抑えられて地球にやさしい…というのはたいてい口実で、見せたくないサイトを一網打尽にブロックできるのがこれを導入する動機だったりします。

プロキシサーバーを使わないとWebにアクセスさせないよ、というルールがあれば、ちゃんとそれが指定どおりに設定されているかを確認しましょう。逆に、プロキシサーバーを通さなくてもよいのに変なプロキシサーバーが設定されたままになっているせいで、却ってWebが見られなくなっているというパターンもあります。

今起こっている問題がプロキシサーバーの設定に起因するものだとしたら、同じPCに入っているWebブラウザでも、IEでは見れるのにFirefoxでは見れるよ、とかそんなことが起こりえます。ソフトウェアごとにプロキシの設定が可能だからです。「Webが見れない」というときは、何種類かのWebブラウザで試してからそれらの結果を報告するといいときがあるのは、こういうわけです。

直近のルーターの設定は見られる?

(ここらへんからは、まだイイカゲン)

  • WAN側で、ISPにPPPoEしてたり、より上流のLANにつながってたり、下流にはDHCPやらNATやらを提供してたり、ひょっとしたらVPNで親LANにつながってたり、いろいろなパターンがあるけど云々

どこのポート番号を目指してるかわかる?

  • ファイアウォールが、特定のポートへのアクセスを禁止しているときがあるよ

有線LANと無線LANがこんがらがってない?

  • どっちかのアダプタをいったん無効化するなりして、どういうパターンで問題が起こるのか確かめるといいよ

内容について(免責事項)

あんまり厳密に正しく書くことを意識してません。あと、勘違いして書いてるところもあるかも知れません。大体あってると思いますが、まちがっててもごめんね。

 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki