ネットワークエンジニアにとって、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で返却されるアドレスの違いを体感してみてください。 これができると、日常のトラブルシューティングが一段とスムーズになります。