openvpn で traceroute を使用しているときにこの出力が表示されるのはなぜですか?

openvpn で traceroute を使用しているときにこの出力が表示されるのはなぜですか?

vpnbook.com からダウンロードした証明書バンドルを使用してコマンドを使用して VPN を設定しましたopenvpn。すると、traceroute www.google.comすべて星の出力が得られました。なぜそのような出力が得られたのかを知りたいです。

root@kali:~# traceroute www.google.com
traceroute to www.google.com (173.194.120.145), 30 hops max, 60 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

答え1

通常、これらの出力が得られるのは、トレースルートICMP Time Exceededまたはメッセージに応答しませんICMP Echo Reply(または、メッセージが届く前に自分の側でブロックしている可能性があります)。Traceroute が機能するには、システムがこれらのメッセージを送信する必要があります。

VPN は、LAN をリモート ロケーションに拡張し、その間にあるシステムから内部パケットを保護するように設計されています。つまり、間にあるすべてのネットワークを抽象化し、ホップが 1 つしかない同じ部屋にあるシステムにトレース ルーティングするようなものです。

この場合、トラフィックをSSLトンネル、2 つのエンドポイント間に作成されます。エンドポイント間の中間システム (IS) は、トンネルの外部 (SSL 暗号化ペイロードを含むパケット) と対話できますが、トンネル内のパケット/セグメントとは対話できません (これがそもそもトンネリングを行う理由です。そうしないと、中間者攻撃を許してしまいます)。これらの IS にはキーがありません。したがって、送信する UDP パケットは処理されず、IS はパケットをまったく処理しないため、ホップごとに TTL がデインクリメントされません。トンネル内のパケットは、外部パケットがエンドポイント間で何回ホップしても、1 ホップしか経験しません。

星印はタイムアウトを示します。Traceroute は、一部のシステムが ICMP で応答しないことを予想しているため、毎回 TTL を増やしながら試行を続け、MAX_HOPS (30) に達するまで実行を続けます。リモート エンドポイント システムが UDP TTL 期限切れパケットに応答するように設定されている場合、トンネルが宛先に到達するために使用する IS の数に関係なく、エンドポイントからリモート エンドポイントへのホップは 1 つだけになると思われます。

関連情報