ネットワークエンジニアにとって、tracert(Linuxではtraceroute)はトラブルシューティングの基本ツールです。 しかし実際にコマンドを打って出てくるアドレスを見て「これはルータのどのインターフェイスなのか?LAN側?WAN側?ループバック?」と疑問に思ったことはありませんか? 特にCiscoルータやFortiGateファイアウォールを扱う場面では、この挙動を正しく理解していないと解析を誤る可能性があります。

tracertの基本的な仕組み

tracert はICMPエコー要求やUDPパケットを使って、パケットの TTL(Time To Live) を1から順番に増やして送信します。 各ルータはTTLが0になるとパケットを破棄し、送信元に「ICMP Time Exceeded(時間超過)」メッセージを返します。 このときに使用される返送元アドレスが、tracertの結果として表示されるIPアドレスです。

表示されるアドレスは「受信インターフェイス」か「ループバック」

基本的には、パケットを受信したインターフェイスのアドレスが返されます。 しかし、CiscoやFortiGateなどベンダーや機種によって実装が異なり、場合によってはループバックアドレス管理プレーンのアドレスが返ることもあります。

  • 一般的なルータ … 受信インターフェイスのIPを返す
  • Ciscoルータ … デフォルトは受信インターフェイスだが、ループバックが返る場合もある
  • FortiGate … 受信インターフェイスだが、管理プレーンのアドレスを返す場合もある

Ciscoルータでのtracert例

まずはCisco IOSルータを経由したtracertの出力例です。

C:\> tracert 8.8.8.8

1   192.168.1.1
2   10.0.0.1
3   203.0.113.1
4   8.8.8.8

上記では、1ホップ目が自宅LAN側のルータのアドレス(192.168.1.1)、2ホップ目がプロバイダ側ルータのインターフェイス(10.0.0.1)、3ホップ目がインターネット境界ルータ(203.0.113.1)です。 ここでは受信インターフェイスのアドレスが順番に表示されていることがわかります。

ただしCiscoルータの設定や環境によっては、ループバックアドレス(例: 1.1.1.1)が返ってくることもあります。 これはICMP応答をルータの「最適な経路」で返すために、ループバックを利用する場合があるからです。

FortiGateでのtracert例

次にFortiGateを経由する場合の出力例です。

C:\> tracert 8.8.8.8

1   192.168.1.254
2   203.0.113.5
3   203.0.113.9
4   8.8.8.8

ここで注目すべきは、2ホップ目や3ホップ目で表示されるアドレスです。 FortiGateでは通常、受信インターフェイスのアドレスを返しますが、環境によっては管理インターフェイス(mgmt)VDOMのシステムIPが返ることがあります。

なぜ管理プレーンのアドレスが返るのか?

FortiGateはデータプレーン管理プレーンを分離して設計されています。 ICMP Time Exceededの応答は管理プレーン側の処理となるため、返却するアドレスとして管理インターフェイスを選ぶことがあるのです。 これにより、tracertの出力に「想定外のアドレス」が表示される場合があります。

ネットワーク監視・トラブルシューティングに役立つ視点

tracertの出力を解析する際は、以下の点を意識すると誤解を防げます。

  • 表示されるアドレスは「必ずしもLAN側」ではなく、「受信インターフェイス」や「ループバック」の可能性もある
  • Ciscoルータはループバックを返すことがある
  • FortiGateは管理プレーンのアドレスを返すことがある
  • 必ずネットワーク構成図と照らし合わせて確認する

検証環境でのおすすめツール

tracertを深く理解するには、ラボ環境で実際に試すことが一番です。以下のツールを活用すると効率的です。

  • GNS3 シミュレータ … Ciscoルータの仮想環境を構築して、tracertの挙動を再現できる
  • Tera Term 使い方 … CiscoやFortiGateへのコンソール接続に便利
  • Wireshark … ICMPメッセージをキャプチャして、どのアドレスが返ってきているか確認可能
  • ネットワーク監視ツール 比較 … SolarWindsやZabbixなどで経路監視を自動化するのも効果的

まとめ

tracertで表示されるアドレスは、基本的にはパケットを受け取ったインターフェイスのIPアドレスです。 ただし、Ciscoルータではループバック、FortiGateでは管理プレーンのアドレスが返されることもあります。 そのため「必ずLAN側」という理解は誤りです。 ネットワークエンジニアは機器ごとの挙動を理解し、ネットワーク構成図やパケットキャプチャと併せて解析することが重要です。

本記事を読んだ方は、ぜひGNS3や実機環境で tracert を実行し、CiscoルータやFortiGateで返却されるアドレスの違いを体感してみてください。 これができると、日常のトラブルシューティングが一段とスムーズになります。