ネットワーク基礎⑤|通信障害の基本的な切り分け

ネットワーク基礎⑤|通信障害の基本的な切り分け ネットワーク

通信障害は、順番に確かめれば、たいてい原因にたどり着けます。「ネットにつながらないんですけど!」

この一言が来たとき、情シスの腕の見せどころは、どこから、どの順番で、確かめるかです。順番を間違えると、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 の状態、ゲートウェイへの ping、外の IP への ping、名前解決、443 番ポートへの接続を、上から順に確認した画面。すべて成功している

この画面は、すべて成功したときの様子です。

  • ①:Wi-Fi が Up
  • ③:ゲートウェイ(192.168.1.1)に、ResponseTime 1 ミリ秒で届く
  • ④:外の 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つです。

  1. 169.254.x.x は、「DHCP で配られなかったので、自分で決めた」住所です。これが見えたら、ほぼ、DHCP の問題と言い切れます。
  2. ping が通らない=相手が落ちている、とは限りません。 ICMP(ping の通信)を、止めているだけのこともあります。④で失敗しても、⑥(実際のポート)が通れば、通信自体はできています。
  3. ⑥ の 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もごはんも、腹八分目が長続きのコツ!

コメント