ICMP Destination Unreachable の本質とトラブルシューティング|Ping で到達不能の原因と対処

  • URLをコピーしました!

Ping を実行したときに表示される“Destination Unreachable(宛先到達不能)”は、単なるPing失敗ではなく、ICMP がネットワーク・ホスト・サービス到達の問題を別機器から通知している状態です。
本記事では、このエラーが返される背景・発生条件・具体的な原因ごとの切り分け・対処までを丁寧に解説します。

📌 ネットワークを体系的に学びたい方へ
OSIからDNS・ルーティングなど、学習順に整理した総合ロードマップはこちら。
ネットワーク学習ロードマップ完全版|初心者からCCNA・実務レベルまでの勉強手順まとめ

📌 ネットワーク障害を体系的に整理したい方へ
症状別に切り分け手順をまとめた総合トラブルガイドはこちら。
ネットワークトラブルシューティング完全ガイド|症状別チェックリストと切り分け手順まとめ

目次

目次

ICMP と Destination Unreachable の概要

ICMP(Internet Control Message Protocol)は、ネットワーク機器間でエラーや制御情報をやりとりするためのプロトコルです。Ping 自体も ICMP Echo Request / Reply を使います。 Destination Unreachable は ICMP のエラー通知であり、通信経路上で「目的地にパケットを届けられない」と判断された場合に、送信元へ返されます。

たとえば、ルータやホストが「要求されたネットワークやホストに到達できない」と判断した場合に Type 3 の ICMP を返します。

代表的な原因と発生条件

① ルーティングが存在しない

Ping 送信元の機器や途中のルータに、送信先ネットワークへのルートがない場合に返されます。 この場合、送信元に最も近いルーティング機器がICMPを返すことが多いです。

② 宛先ホストが存在しない/応答できない

送信先のホストがダウン、または ARP 応答がない場合も、途中の機器が Destination Unreachable を返します。

③ ファイアウォールやACLによる遮断

ネットワーク機器のアクセス制御やフィルタ設定によってICMPが拒否・ブロックされている場合も、Type 3 を返すことがあります。

④ 接続は到達しているがサービスポートが存在しない

到達先のホストには着いたものの、対象プロトコル/ポートが閉じている場合にも、場合によって ICMP が返されます(別コード)。

ICMP タイプ3(Destination Unreachable)のコード詳細

コード意味説明
0Network Unreachable宛先ネットワークがルーティングされていない
1Host Unreachable宛先ホストが ARP 解決できない / 存在しない
3Port Unreachable宛先には到達したがポートが閉じている
4Fragmentation neededフラグメントが必要だが DF 指定で分割不可
6Destination network unknown宛先ネットワークが機器のテーブルにない
13Admin prohibited管理ポリシーで遮断された

このように Destination Unreachable は単一のものではなく、コード値で詳細な理由が分かります(ただし ICMP 自体が返すかどうかは設定依存)。

トラブル時の調査手順(Ping / traceroute)

① Ping の返答を確認

ping を実行して以下のようなメッセージが出た場合:

$ ping 192.0.2.1
From 192.168.0.254 icmp_seq=1 Destination Host Unreachable

これはつまり「192.168.0.254(ゲートウェイ)が 192.0.2.1 に到達できない」と通知している状態です。

② traceroute で経路上のどこまで届いているか確認

traceroute を使うことで、どのルータまでパケットが到達し、どこで止まっているのかが分かります。 traceroute は ICMP または UDP を使い TTL を変えて経路を調査します。

traceroute 192.0.2.1

③ ルーティングテーブル確認(Linux の場合)

ip route show

ルートが正しく設定されていない場合、Destination Unreachable が返されることがあります。

FAQ

Q1. 「Destination Unreachable」と「タイムアウト」は何が違う?
Destination Unreachable は途中機器からのICMPエラー通知です。一方、タイムアウトは単に応答が返ってこない状態です。

Q2. すべてのICMPが返ってくるわけではないの?
機器設定やフィルタリングによっては、エラー通知が返らない場合もあります(Firewallで落としているなど)。

Q3. Ping が通らない=Destination Unreachable ではない場合は?
単に応答がなくタイムアウトになる場合もあります。その場合はネットワークの疎通自体が阻害されています。

目次