通信障害は、順番に確かめれば、たいてい原因にたどり着けます。「ネットにつながらないんですけど!」
この一言が来たとき、情シスの腕の見せどころは、どこから、どの順番で、確かめるかです。順番を間違えると、1分で済む話が、1時間になります(経験者は語る)。
シリーズ「情シスのためのネットワーク基礎」の最終回です。第1〜4回で、IP・DNS・DHCP・ARP・ポート・ルーター・NAT の知識がそろいました。今回は、それらを、1本の調べ方の流れにまとめます。
結論:通信障害は「近いところから、外へ」6段階
| 段階 | 確かめること | コマンド |
|---|---|---|
| ① リンク | ケーブル・Wi-Fi は、つながっているか | Get-NetAdapter |
| ② IP 設定 | 住所とゲートウェイは、正しく配られているか | Get-NetIPConfiguration |
| ③ ゲートウェイ | 町の出口(ルーター)に、届くか | Test-Connection <ゲートウェイ> |
| ④ 外の IP | 町の外(インターネット)に、届くか | Test-Connection 8.8.8.8 |
| ⑤ 名前解決 | 名前から、IP が引けるか | Resolve-DnsName |
| ⑥ ポート | 目的の窓口が、開いているか | Test-NetConnection -Port |
手前から順番に確かめて、最初に失敗したところが、疑う場所です。これだけで、原因の探し方が、ぐっと絞られます。
実機で試す:全段階を、1回で
Get-NetAdapter -Name 'Wi-Fi' | Format-Table Name, Status, LinkSpeed
$gw = (Get-NetRoute -DestinationPrefix 0.0.0.0/0 | Select-Object -First 1).NextHop
Test-Connection $gw -Count 2 | Select-Object Address, ResponseTime
Test-Connection 8.8.8.8 -Count 2 | Select-Object Address, ResponseTime
Resolve-DnsName example.com -Type A | Select-Object -First 1 Name, IPAddress
Test-NetConnection example.com -Port 443 | Select-Object RemotePort, TcpTestSucceeded

この画面は、すべて成功したときの様子です。
- ①:
Wi-FiがUp - ③:ゲートウェイ(
192.168.1.1)に、ResponseTime1 ミリ秒で届く - ④:外の IP(
8.8.8.8)に、5 ミリ秒前後で届く - ⑤:
example.comが、IP アドレスに引けている - ⑥:443 番ポートに、
TcpTestSucceeded : Trueで接続できた
これが、正常な状態の基準です。「つながらない」と言われたときに、同じ画面を出して、どの行が違うかを見るだけで、話が進みます。
通信障害で、失敗したら、どこを疑う?
| 失敗した段階 | 疑う場所 | 次に確かめること |
|---|---|---|
① 失敗(Down など) |
ケーブル、Wi-Fi 接続、アダプターが無効 | 接続し直す、アダプターを有効にする |
② 住所が 169.254.x.x |
DHCP から、配られていない | DHCP サーバー、スイッチ・VLAN、ケーブル |
| ② ゲートウェイが空 | 設定の不足 | DHCP の配布内容、手動設定 |
| ③ 失敗 | 町内の問題 | Wi-Fi の電波、スイッチ、VLAN、ゲートウェイのアドレス |
| ③ 成功、④ 失敗 | ルーターから先の問題 | 回線、NAT、ファイアウォール、(ICMP を許可していないだけの場合も) |
| ④ 成功、⑤ 失敗 | DNS の問題 | DNS サーバーの設定、Resolve-DnsName -Server で別の DNS を試す |
| ⑤ 成功、⑥ 失敗 | 窓口(ポート)が閉まっている | ファイアウォール、サービスの停止、相手側の設定 |
| ⑥ 成功なのに使えない | アプリ側の問題 | 認証、証明書、アプリの設定(別シリーズで扱います) |
特に、見落としやすいのは、この3つです。
169.254.x.xは、「DHCP で配られなかったので、自分で決めた」住所です。これが見えたら、ほぼ、DHCP の問題と言い切れます。pingが通らない=相手が落ちている、とは限りません。 ICMP(pingの通信)を、止めているだけのこともあります。④で失敗しても、⑥(実際のポート)が通れば、通信自体はできています。- ⑥ の
Test-NetConnectionは、TCP の接続テストです。UDP の通信(DNS など)は、別の確かめ方が要ります。
僕のやらかし:Wi-Fi のマークは、ついていたのに
「会議室で、ネットにつながらない」と呼ばれて行くと、画面の右下には、Wi-Fi のマークが、ちゃんと出ている。「つながってるじゃないですか」と言いかけて、念のため、IP アドレスを見ると、169.254.…。
電波はつながっているけれど、DHCP から、住所をもらえていなかったのです。Wi-Fi のマークは、あくまで「電波で、アクセスポイントにつながっている」だけ。住所が決まっていなければ、町内にも出られません。
その日は、会議室の近くの、DHCP の設定の不備で、同じフロアの何人かが、同じ状態でした。もし、僕が、「再起動してください」とだけ言っていたら、半日、同じ問い合わせを受け続けたはずです。住所を見る、という最初の一手が、効きました。
食べ物でいえば、「席には座れたのに、メニューが来ない」状態です。座席(電波)の問題ではなく、注文を受ける人(DHCP)が、来ていなかったんですね。
通信障害の調べた結果は、メモに残す
最後に、地味ですが、一番効くコツです。
- どの段階で、成功し、どこで失敗したかを、メモする(上の6段階が、そのまま、メモの型になります)
- 画面を残す(今回のような、コマンドと結果が並んだ画面)
- 解決したら、何が原因だったかを、一行で書く
ベンダーや、上位の担当者に相談するときも、「③までは OK、④で失敗」と言えるだけで、相談の質が、ぜんぜん違います。この、記録と共有の考え方は、続くシリーズで、さらに掘り下げます。
今回覚えたコマンド
| コマンド | 意味 |
|---|---|
Get-NetAdapter |
アダプターの状態を見る(① リンク) |
Get-NetIPConfiguration |
IP・ゲートウェイ・DNS をまとめて見る(② IP 設定) |
Test-Connection |
ping 相当(③④) |
Resolve-DnsName |
名前解決(⑤) |
Test-NetConnection -Port |
ポートの接続テスト(⑥) |
全5回のまとめ
| 回 | 学んだこと |
|---|---|
| ① | IP アドレス・サブネットマスク・ゲートウェイ |
| ② | DNS・DHCP・ARP の仕組み |
| ③ | TCP・UDP・ポート番号 |
| ④ | スイッチ・ルーター・VLAN・NAT |
| ⑤ | 通信障害の基本的な切り分け |
次のシリーズ
次は、Windows OS 基礎(全5回)です。プロセスとサービスの違い、アクセス権、イベントログなど、「PC の中」を理解する回です。ネットワーク基礎と合わせて、トラブル対応の土台になります。
参考
ITもごはんも、腹八分目が長続きのコツ!


コメント