ルーティング障害の切り分け|経路表・traceroute・戻り経路の確認手順を図解

ネットワーク中級編 38/全50記事

この記事は、 「ネットワーク中級編|構築・検証・障害切り分けを身につける」 の第38回です。

前回の「STP障害の切り分け」に続き、 今回は異なるネットワーク間で通信できないときに、 ルーティングテーブル・ネクストホップ・戻り経路を確認して 原因を絞り込む方法を学びます。

ルーティング障害の切り分け|経路表・traceroute・戻り経路の確認手順を図解

「同じVLAN内では通信できるのに、別ネットワークへ通信できない」 「ルーティングテーブルには経路があるのにpingが通らない」 という障害では、送信方向だけでなく戻り方向まで確認する必要があります。 この記事では、ルーティング障害を順番に切り分ける方法を、 構成例とコマンド出力を使って解説します。

対象レベル Level 2・中級
想定読了時間 約35分
身につく成果 ルーティング障害を順番に切り分けられる
前提知識 経路表・最長一致・OSPFの基本
演習環境 ブラウザ/Packet Tracer任意

ルーティング障害でよくある失敗は、 「ルーターに経路があるか」だけを確認して調査を終えてしまうことです。

実際の通信では、送信元から宛先までパケットが届くだけでなく、 宛先から送信元へ応答を返すための経路も必要です。

そのため、 送信元 → デフォルトゲートウェイ → 経路 → ネクストホップ → 宛先 → 戻り経路 の順番で確認することが重要です。

この記事を読み終えるとできること

  • ルーティング障害の確認順序を説明できる
  • 経路表から実際に使用される経路を判断できる
  • ネクストホップへの到達性を確認できる
  • tracerouteから確認すべき区間を絞り込める
  • 戻り経路不足による片方向通信を判断できる
  • スタティックルートとOSPFの障害を切り分けられる

ルーティング障害とは何か

最初に覚える定義

ルーティング障害とは、宛先ネットワークへパケットを転送するための 経路が存在しない、誤っている、または正しいネクストホップへ 転送できない状態です。

ルーターは受信したIPパケットの宛先IPアドレスを確認し、 ルーティングテーブルから転送先を決定します。

そのため、異なるネットワーク間で通信できない場合は、 各ルーターが 「その宛先をどこへ転送しようとしているのか」 を確認します。

ルーティングテーブルを見る目的は、 「経路があるか」だけを確認することではありません。

実際に選択される経路、ネクストホップ、 出力インターフェースまで確認します。

まず全体の確認順序を理解する

次の構成で、PC-AからPC-Bへpingできないケースを考えます。

ルーティング障害の基本構成

💻 PC-A 192.168.10.10/24
🔀 R1 10.0.12.1/30
🔀 R2 10.0.12.2/30
💻 PC-B 192.168.20.20/24
往路:PC-A → R1 → R2 → PC-B
復路:PC-B → R2 → R1 → PC-A

この通信を調査するときは、 最初からOSPF設定を見るのではなく、 通信経路を一つずつ確認していきます。

端末
IP・Mask・GW
入口
GWへの疎通
経路
Route・Next Hop
復路
Return Route
  1. 送信元端末の設定を確認する IPアドレス、サブネットマスク、デフォルトゲートウェイを確認します。
  2. デフォルトゲートウェイまで通信できるか確認する ここで失敗する場合は、ルーティングより手前の問題を疑います。
  3. 各ルーターの経路表を確認する 宛先IPに対して実際にどの経路が選択されるか確認します。
  4. ネクストホップへ到達できるか確認する 経路表にネクストホップがあっても、 そのIPへ到達できなければ転送できません。
  5. 宛先側まで確認する tracerouteや各区間からのpingを利用して、 どこまで届いているか確認します。
  6. 戻り経路を確認する 宛先側から送信元ネットワークへの経路があるか確認します。

ルーティング障害では「どこまで届いたか」を確認することが重要です。

PC-A→R1、R1→R2、R2→PC-Bのように 通信を区間へ分けると、確認箇所を絞り込めます。

症状からルーティング障害を疑う

同一セグメントは通信できる

同じVLAN内では通信できるものの、 別ネットワークだけ通信できないケースです。

デフォルトゲートウェイやルーティングを優先的に確認します。

特定ネットワークだけ通信できない

一部の宛先だけ失敗する場合は、 特定プレフィックスの経路不足や 誤ったスタティックルートを疑います。

片方向だけ通信できない

行きの経路は存在していても、 宛先側に戻り経路がない可能性があります。

経路変更後から通信できない

ネクストホップ、プレフィックス長、 Administrative Distance、OSPF経路などを確認します。

STEP1:送信元端末の設定を確認する

最初に確認するのはルーターではなく、送信元端末です。

  • IPアドレス
  • サブネットマスク
  • デフォルトゲートウェイ
  • 対象インターフェースが正常か

特にサブネットマスクが間違っていると、 本来デフォルトゲートウェイへ渡すべき通信を 同一ネットワーク内の宛先と誤判断する場合があります。

Windowsの確認例

C:\> ipconfig

IPv4 アドレス . . . . . . . . . . : 192.168.10.10
サブネット マスク . . . . . . . . : 255.255.255.0
デフォルト ゲートウェイ . . . . . : 192.168.10.1

Linuxの確認例

$ ip addr
$ ip route

default via 192.168.10.1 dev eth0
192.168.10.0/24 dev eth0 proto kernel scope link src 192.168.10.10

「端末のIPアドレスは正しい」だけでは不十分です。

デフォルトゲートウェイとサブネットマスクも 必ずセットで確認します。

STEP2:デフォルトゲートウェイまで確認する

次に、送信元端末からデフォルトゲートウェイへpingします。

C:\> ping 192.168.10.1

デフォルトゲートウェイに到達できない状態では、 その先のルーティングを確認しても原因の切り分けにはなりません。

ゲートウェイへpingできない場合

  • 端末のIPアドレス・Mask・GW
  • VLAN設定
  • スイッチポート
  • ARP
  • ルーター側インターフェース
  • 物理リンク

デフォルトゲートウェイまで正常なら、 少なくとも送信元LANからルーターまでの 基本的な通信は成立していると判断できます。

STEP3:ルーティングテーブルを確認する

デフォルトゲートウェイまで到達できたら、 ルーターが宛先をどこへ転送しようとしているか確認します。

R1# show ip route 192.168.20.20

Routing entry for 192.168.20.0/24
  Known via "static"
  Routing Descriptor Blocks:
  * 10.0.12.2

この例では、192.168.20.20宛ての通信は 192.168.20.0/24の経路に一致し、 ネクストホップ10.0.12.2へ転送されます。

確認する4項目

確認項目 確認する内容
宛先ネットワーク 目的のIPアドレスを含む経路が存在するか
プレフィックス長 より具体的な経路が存在しないか
ネクストホップ 想定したルーターを向いているか
出力インターフェース 想定したリンクから転送されるか

「経路がある」だけでは判断しない

O 192.168.20.0/24     via 10.0.12.2
S 192.168.20.128/25   via 10.0.13.2

宛先が192.168.20.200の場合、 /24よりも具体的な 192.168.20.128/25 が使用されます。

ルーティングでは最長一致が優先されます。 障害調査では経路表を眺めるだけではなく、 実際の宛先IPアドレスを指定して確認する ことが重要です。

STEP4:ネクストホップへ到達できるか確認する

ルーティングテーブルに経路が存在していても、 ネクストホップまで通信できなければ パケットを先へ転送できません。

R1# ping 10.0.12.2

ここで失敗する場合は、 宛先LANよりも先にR1とR2の間を確認します。

  • R1・R2のインターフェース状態
  • IPアドレスとサブネットマスク
  • VLANやEtherChannel
  • ARP
  • ACLなどによる通信制御
R1# show ip interface brief

Interface              IP-Address      OK? Method Status                Protocol
GigabitEthernet0/0     192.168.10.1   YES manual up                    up
GigabitEthernet0/1     10.0.12.1      YES manual up                    up

STEP5:tracerouteで停止地点を確認する

複数のルーターを経由する場合は、 tracerouteを利用すると通信経路を確認できます。

Windows

C:\> tracert 192.168.20.20

  1    <1 ms    <1 ms    <1 ms  192.168.10.1
  2     2 ms     2 ms     1 ms  10.0.12.2
  3     *        *        *     要求がタイムアウトしました。

この結果だけでR2の障害と断定することはできませんが、 少なくとも確認対象をR2以降へ絞り込む材料になります。

Linux

$ traceroute 192.168.20.20

Cisco

R1# traceroute 192.168.20.20

tracerouteで「*」が表示されたからといって、 その機器が停止しているとは限りません。

ICMPなどへの応答を制限している機器もあるため、 pingや経路表など他の情報と組み合わせて判断します。

戻り経路を必ず確認する

ルーティング障害で特に見落としやすいのが 戻り経路です。

行きの経路だけ存在するケース

PC-A 192.168.10.10
R1 192.168.20.0/24 → R2
R2 戻り経路なし
PC-B 192.168.20.20
行き:PC-A → PC-B ○
戻り:PC-B → PC-A ×

R1に192.168.20.0/24への経路があれば、 PC-Aから送信されたパケットはPC-Bへ到達できます。

しかし、R2に192.168.10.0/24への経路がなければ、 PC-Bからの応答をPC-Aへ戻せません。

R2# show ip route 192.168.10.10

% Network not in table

pingは往復して初めて成功します。

「宛先へパケットが届くこと」と 「通信全体が成功すること」を分けて考えましょう。

スタティックルート障害の確認

スタティックルートでは、 設定した宛先・プレフィックス・ネクストホップを確認します。

設定ミス 発生しやすい症状
宛先ネットワークが間違っている 必要な宛先に経路が一致しない
サブネットマスクが間違っている 一部のIPアドレスだけ通信できない
ネクストホップが間違っている 想定外の方向へ転送される
インターフェースがDown 経路が利用できなくなる
戻り側の経路がない 片方向通信になる

設定確認例

R1# show running-config | include ip route

ip route 192.168.20.0 255.255.255.0 10.0.12.2

コンフィグだけでなく、 実際にルーティングテーブルへ登録されているかも確認します。

R1# show ip route 192.168.20.20

OSPF障害の確認

OSPF環境では、 経路がないという結果だけを見て設定変更するのではなく、 どの段階で問題が発生しているか確認します。

  1. OSPFネイバーを確認する まず隣接ルーターとのネイバー状態を確認します。
  2. 対象ネットワークがOSPFへ参加しているか確認する 必要なインターフェースやネットワークが対象か確認します。
  3. 対向ルーターが経路を広告しているか確認する 経路を受信する側だけでなく、広告する側も確認します。
  4. 経路表へ登録されているか確認する 他のルーティング情報が優先されていないかも確認します。

ネイバー確認

R1# show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address       Interface
2.2.2.2           1   FULL/DR         00:00:36    10.0.12.2    GigabitEthernet0/1

FULLであれば、この隣接ルーターとの OSPFネイバーは確立しています。

OSPF経路確認

R1# show ip route ospf

O    192.168.20.0/24 [110/2] via 10.0.12.2, GigabitEthernet0/1

OSPF障害では「ネイバー」と「経路」を分けて確認します。

ネイバーがFULLでも、 必要なネットワークが広告されていなければ 目的の経路は学習できません。

ルーティング以外の障害を見分ける

経路が正常でも通信できないことがあります。

原因 代表的な症状
ACL 特定IP・プロトコルだけ通信できない
ファイアウォール ポリシーやセッションによって通信が破棄される
NAT アドレス変換や戻り通信に問題がある
VLAN デフォルトゲートウェイまで到達できない
端末側FW 宛先まで到達していても応答しない
アプリケーション pingは通るが特定サービスだけ利用できない

「pingが通らない=ルーティング障害」 と決めつけないことが重要です。

経路・ACL・ファイアウォール・NAT・ 宛先端末などを順番に切り分けます。

代表的な確認コマンド

Cisco IOS/IOS XE系

コマンド 確認内容
show ip interface brief インターフェース状態・IPアドレス
show ip route ルーティングテーブル全体
show ip route <宛先IP> 特定宛先に使用される経路
ping <IP> 対象IPへの疎通
traceroute <IP> 途中経路の確認
show arp ARPテーブル
show ip ospf neighbor OSPFネイバー状態
show ip route ospf OSPFで学習した経路
show ip protocols ルーティングプロトコルの概要

Windows

ipconfig
route print
ping 192.168.20.20
tracert 192.168.20.20

Linux

ip addr
ip route
ip route get 192.168.20.20
ping 192.168.20.20
traceroute 192.168.20.20

実務では、コマンドを大量に実行するより、 「何を確認するために、そのコマンドを実行するのか」 を明確にすることが重要です。

調査結果をどう報告するか

障害対応では、原因を見つけるだけでなく、 どこまで正常だったかを根拠とともに説明する ことが重要です。

報告例

事象:
PC-A(192.168.10.10)から サーバー(192.168.20.20)へ通信不可。

確認結果:
PC-Aからデフォルトゲートウェイへの疎通は正常。 R1には192.168.20.0/24への経路が存在し、 R1からR2への疎通も正常。

原因:
R2に192.168.10.0/24への戻り経路が存在せず、 応答パケットをPC-A側へ転送できない状態だった。

対応:
R2へ192.168.10.0/24宛ての経路を追加。

復旧確認:
PC-Aから192.168.20.20へのpingおよび 対象通信が正常であることを確認。

英語ドキュメントで見かける表現

英語 意味
route is missing 経路が存在しない
next hop is unreachable ネクストホップへ到達できない
return path 戻り経路
asymmetric routing 非対称ルーティング
route withdrawal 経路広告の取り消し

ルーティング障害でよくある勘違い

経路表にルートがあれば通信できる

経路が存在していても、 ネクストホップ、戻り経路、ACLなどに問題があれば 通信できません。

デフォルトルートがあれば十分

より具体的な経路が存在すれば、 最長一致によってそちらが選択されます。

OSPFがFULLなら正常

ネイバーがFULLでも、 必要なネットワークが広告されていなければ 経路は学習できません。

送信元側だけ確認すればよい

応答が必要な通信では、 宛先側から送信元への戻り経路も必要です。

理解度チェック

問題1.PCから別ネットワークへ通信できず、 デフォルトゲートウェイへのpingも失敗しています。 最初に優先して確認すべき場所はどこですか。

  1. 宛先側OSPF
  2. 送信元端末・LAN
  3. 戻り経路
  4. BGP
解答を見る
正解:B

デフォルトゲートウェイへ到達できていないため、 端末設定、VLAN、ARP、ゲートウェイ側インターフェースなどを 先に確認します。

問題2.次の2つの経路が存在するとき、 192.168.20.200宛てにはどちらが使用されますか。

192.168.20.0/24     via 10.0.12.2
192.168.20.128/25   via 10.0.13.2
解答を見る
192.168.20.128/25 via 10.0.13.2

192.168.20.200は両方に一致しますが、 /25のほうがより具体的なため最長一致で選択されます。

問題3.PC-AからPC-Bまでパケットは到達していますが、 応答がPC-Aまで戻りません。 優先して確認する項目は何ですか。

解答を見る
PC-B側からPC-Aネットワークへの戻り経路

往路が正常でも、 復路の経路がなければ通信は成立しません。

問題4.OSPFネイバーがFULLなら、 必要なすべての経路が存在すると判断できますか。

解答を見る
いいえ。

ネイバーが確立していても、 必要なネットワークが広告されていなければ 目的の経路を学習できません。

問題5.経路表には目的の経路がありますが通信できません。 次に確認したい項目を3つ挙げてください。

解答例を見る
  • 実際に選択されるネクストホップ
  • ネクストホップへの到達性
  • 宛先側からの戻り経路

実践演習:戻り経路がない障害を切り分ける

次のネットワークで、 PC-AからPC-Bへpingできない障害が発生しています。

演習用ネットワーク

💻 PC-A 192.168.10.10/24
🔀 R1 10.0.12.1/30
🔀 R2 10.0.12.2/30
💻 PC-B 192.168.20.20/24

PC-Aの設定

IP Address : 192.168.10.10
Mask       : 255.255.255.0
Gateway    : 192.168.10.1

R1の確認結果

R1# show ip route 192.168.20.20

Routing entry for 192.168.20.0/24
  Known via "static"
  * 10.0.12.2

R1# ping 10.0.12.2

Success rate is 100 percent

R2の確認結果

R2# show ip route 192.168.10.10

% Network not in table

課題1.どこまで正常か整理してください

PC-A → R1:
R1 → R2:
R2 → PC-Aへの戻り:
解答を見る
  • PC-A → R1:端末設定上は正常と考えられる
  • R1 → R2:ping成功のため到達可能
  • R2 → PC-A:192.168.10.0/24への経路がない

課題2.最も可能性が高い原因を答えてください

原因:
解答を見る

R2に192.168.10.0/24への戻り経路が存在しないこと。

課題3.修正例を考えてください

R2へ追加する経路:
解答例を見る
R2(config)# ip route 192.168.10.0 255.255.255.0 10.0.12.1

実環境ではネットワーク設計に従い、 スタティックルートまたは動的ルーティングで 戻り経路を提供します。

課題4.障害報告を書いてください

事象:
確認結果:
原因:
対応:
復旧確認:
報告例を見る

事象: PC-AからPC-Bへの通信不可。

確認結果: R1には192.168.20.0/24への経路が存在し、 R1からR2への疎通も正常。 一方、R2には192.168.10.0/24への経路が存在しないことを確認。

原因: R2の戻り経路不足。

対応: R2へ192.168.10.0/24宛ての経路を追加。

復旧確認: PC-AからPC-Bへのpingおよび対象通信が正常であることを確認。

自分の言葉で説明する課題

「ルーティングテーブルには経路があるのに、 なぜ通信できないことがあるのですか?」 と後輩から質問されました。 1分程度で説明してください。

ここに自分の言葉で説明を書いてみましょう。
説明例を見る

ルーティングテーブルに経路があるということは、 ルーターが宛先へ送る方向を知っているという意味です。

しかし、そのネクストホップへ実際に到達できるとは限りません。 また、パケットが宛先へ届いても、 戻り経路がなければ応答は返ってきません。

そのため、経路の有無だけでなく、 ネクストホップへの到達性、宛先までの経路、 戻り経路まで順番に確認する必要があります。

まとめ

  • ルーティング障害では、 送信元端末から順番に調査する
  • 最初にデフォルトゲートウェイまで 到達できるか確認する
  • 経路表では経路の有無だけでなく、 プレフィックス、ネクストホップ、出力先を確認する
  • 実際の宛先IPに対し、 最長一致でどの経路が使われるか確認する
  • 経路が存在していても、 ネクストホップへ到達できなければ転送できない
  • tracerouteを使い、 どこまで通信が進んでいるか確認する
  • 行きの経路だけでなく、 必ず戻り経路を確認する
  • OSPFではネイバー状態と経路学習を分けて確認する
  • 経路が正常でも、 ACL・FW・NAT・端末側に原因がある場合がある

ルーティング障害の基本は、 「どこから、どこまで、どの経路で届いているのか」を 一つずつ確認することです。

次の記事:DHCP・DNS・NAT障害の切り分け

今回は、ルーティングテーブル、ネクストホップ、 traceroute、戻り経路を使った ルーティング障害の切り分けを学びました。

次の記事では、 「IPアドレスを取得できない」 「名前解決できない」 「インターネットへ通信できない」 といった障害を扱います。

DHCP・DNS・NATを、 IPアドレス取得 → 名前解決 → 外部通信 の流れに沿って切り分けます。

ネットワーク中級編 38/全50記事

中級編では、 VLAN・STP・ルーティング・ネットワークサービス・ パケット解析を使い、 障害原因を根拠とともに説明できる状態を目指します。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次