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

TTL약자생존 시간. IP 패킷 헤더에 존재하는 필드입니다. 이 값은 처음에 발신자가 설정하며 대개 64로 설정되며 모든 라우터에서 1씩 감소됩니다. 최종 목적지에 도달하기 전에 0에 도달하면 라우터는 패킷을 삭제하고 ICMP Time Exceeded 메시지를 원래 소스로 다시 보냅니다. 이 TTL 처리는 라우팅할 수 없는 IP 패킷이 IP 네트워크에서 영원히 전달되어 리소스를 소비하는 것을 방지하는 데 중요합니다.

Traceroute는 이 TTL 동작을 사용하여 대상으로 향하는 경로에 있는 홉과 홉(라우터) 수를 파악합니다. 작은 TTL을 사용하여 TTL=1, TTL=2, TTL=3 순서로 프로브 IP 패킷을 보냅니다. TTL=1은 첫 번째 라우터에 의해 삭제되고, TTL=2는 첫 번째 라우터에 의해 전달되고 두 번째 라우터에 의해 삭제되는 식입니다. Traceroute가 라우터로부터 ICMP 시간 초과 메시지를 받으면 해당 IP 주소가 표시됩니다. 프로브 시간이 초과되면 별표가 표시됩니다.

보고 있는 효과로 돌아가려면 TTL과 관련하여 GRE 터널링이 작동하는 방식 때문입니다. IPv4 GRE 터널의 경우 기본값은 터널링된 패킷의 TTL을 IPv4 GRE 패킷으로 복사하는 것입니다. 이는 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 255TTL=1인 Traceroute에 의해 전송된 프로브는 TTL=255인 GRE IPv4 패킷으로 캡슐화됩니다. 이는 모든 중간 라우터에 의해 전달되고 터널 끝점에 도달하며 최종 대상에서 수신 및 처리됩니다. 를 사용하지 않을 경우 ttl 255기본값은 입니다 ttl inherit. 이는 TTL=1인 Traceroute 프로브가 TTL=1인 GRE IPv4 패킷에 캡슐화됨을 의미합니다. 첫 번째 라우터에 의해 삭제됩니다. 그러나 삭제되는 것은 GRE 패킷이며 라우터가 초과된 ICMP 시간을 보내는 경우 캡슐화된 Traceroute 프로브가 아닌 캡슐화 패킷(GRE)을 참조합니다. 따라서 Traceroute 프로세스는 ICMP 오류를 수신하지 않고 검사 시간이 초과되며 별표(*)가 표시됩니다. TTL이 GRE 캡슐화 패킷이 터널 끝점에 도달할 만큼 충분히 크면 마지막으로 프로브도 최종 대상에 도달하고 해당 IP 주소가 표시됩니다.

결론적으로, 실제로는 문제가 없지만 상황은 정상적으로 작동합니다!

관련 정보