NAT 使用時に Outside から Inside に Traceroute を実施する場合の注意点

ドキュメント

2014/03/24 - 18:41
5月 16th, 2012

NAT Outside から Inside 方向に traceroute を実行した場合に、NAT ルータは Inside 側のすべての経由ルータからの ICMP Time Exceeded Message のアドレス変換を行います。本動作は NAT 使用時のセキュリティを考慮した実装となりますが、traceroute を実行したホストでは同一ホップのルータから複数のレスポンスが返っているように見えるため注意が必要です。

 

以下の構成で簡単に説明します。

/// NAT ルータの設定 ///
!
interface Ethernet0/0
ip address 10.1.1.2 255.255.255.0
ip nat outside
ip virtual-reassembly
!
interface Ethernet1/0
ip address 192.168.10.1 255.255.255.0
ip nat inside
ip virtual-reassembly
!
ip nat inside source static 192.168.12.10 10.1.2.10

この構成では Static NAT を使用しており、Inside 側のホストの IP アドレス 192.168.12.10 を 10.1.2.10 に変換します。

R1 から traceroute を実行します。通常 traceroute では経由ホップ毎の IP アドレスが得られます。しかし NAT 設定時には Inside 側のネットワーク情報が Outside に知られることを防ぐために、NAT ルータは Inside 側の経由ルータからの ICMP Time Exceeded Message に含まれる embedded IP header 内の情報をもとにアドレス変換を行います。

そのため、この構成では Inside 側の経由ルータである R3, R4 のアドレスが Inside global address の 10.1.2.10 に変換されます。

/// R1 の traceroute の出力 ///
Router#traceroute 10.1.2.10                  

Type escape sequence to abort.
Tracing the route to 10.1.2.10

  1 10.1.1.2 4 msec 4 msec 0 msec
  2 10.1.2.10 4 msec 0 msec 4 msec <<<<< Inside global address
  3 10.1.2.10 0 msec *  4 msec <<<<< Inside global address

Loading.

アクション

このドキュメントについて

Related Content