GREトンネルTTL番号

GREトンネルTTL番号

サーバー A の設定は次のとおりです。

iface serverA_gre0 inet tunnel
        address 172.24.0.85
        mode gre
        endpoint x.x.x.x
        dstaddr 172.24.0.86
        netmask 255.255.255.252
        ttl 255

サーバーBの設定:

iface serverB_gre0 inet tunnel
        address 172.24.0.86
        mode gre
        endpoint x.x.x.x
        dstaddr 172.24.0.85
        netmask 255.255.255.252
        ttl 255

「ttl 255」なしの場合:

traceroute to 172.24.0.86 (172.24.0.86), 30 hops max, 60 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  172.24.0.86  54.507 ms  62.888 ms  51.369 ms

「ttl 255」の場合:

traceroute to 172.24.0.86 (172.24.0.86), 30 hops max, 60 byte packets
 1  172.24.0.86  51.123 ms  51.733 ms  51.943 ms

TTL 255 が存在しない場合に「*」問題が発生する原因は何でしょうか?

答え1

10 ...を意味する有効期間これは、IP パケット ヘッダーにあるフィールドです。値は送信者によって最初に設定され、通常は 64 に設定され、各ルータによって 1 ずつ減算されます。最終宛先に到達する前に値が 0 に達すると、ルータはパケットをドロップし、ICMP Time Exceeded メッセージを元の送信元に返します。この TTL 処理は、ルーティングできない IP パケットが IP ネットワーク上で永久に転送され、リソースが消費されるのを防ぐために重要です。

Traceroute はこの TTL の動作を使用して、宛先までのパスにあるホップとホップ (ルーター) の数を計算します。小さな TTL を持つプローブ IP パケットを、TTL=1、TTL=2、TTL=3 の順に送信します。TTL=1 は最初のルーターによってドロップされ、TTL=2 は最初のルーターによって転送され、2 番目のルーターによってドロップされます。以下同様です。traceroute がルーターから ICMP Time Exceeded メッセージを受信すると、その IP アドレスが表示されます。プローブがタイムアウトすると、アスタリスクが表示されます。

ご覧になっている効果に戻ると、これは TTL に関して GRE トンネリングがどのように機能するかによるものです。IPv4 GRE トンネルの場合、デフォルトでは、トンネルされたパケットから IPv4 GRE パケットに TTL をコピーします。これは、ttlあなたが行ったようにオプションで上書きできます。マニュアルからの関連する抜粋:

ttl N
hoplimit N

    set a fixed TTL (IPv4) or hoplimit (IPv6) N on tunneled
    packets. N is a number in the range 1--255. 0 is a special
    value meaning that packets inherit the TTL value. The default
    value for IPv4 tunnels is: inherit. The default value for IPv6
    tunnels is: 64.

したがって、 を使用するとttl 255、traceroute によって TTL=1 で送信されたプローブは、TTL=255 の GRE IPv4 パケットにカプセル化されます。これはすべての中間ルータによって転送され、トンネル エンドポイントに到達し、最終宛先で受信および処理されます。 を使用しない場合ttl 255、デフォルトは ですttl inherit。つまり、TTL=1 の traceroute プローブは、TTL=1 の GRE IPv4 パケットにカプセル化されます。これは最初のルータによってドロップされます。ただし、ドロップされるのは GRE パケットであり、ルータが ICMP 時間超過を送信すると、カプセル化パケット (GRE) が参照され、カプセル化された traceroute プローブは参照されません。したがって、traceroute プロセスは ICMP エラーを受信せず、プローブはタイムアウトし、アスタリスク (*) が表示されます。TTL が、GRE カプセル化パケットがトンネル エンドポイントに到達するのに十分な大きさである場合、最終的にプローブも最終宛先に到達し、その IP アドレスが表示されます。

結論としては、実際には問題はなく、すべてが期待通りに動作しているということです。

関連情報