Modifica dei valori TTL
Importante
Le informazioni contenute in questo articolo sono destinate esclusivamente a utenti esperti.
A partire da KeeneticOS 3.1, l'impostazione TTL è disponibile solo dall'interfaccia a riga di comando (CLI) del Router.
Time To Live (TTL) nelle reti di computer, è un limite di tempo o il numero di iterazioni o transizioni per le quali un set di dati (pacchetto) può esistere prima di scomparire. Il valore TTL può essere inteso come un limite superiore per il tempo di un datagramma IP nella rete. Il campo TTL è impostato dal mittente del datagramma e viene decrementato da ogni nodo (ad es., Router) lungo il suo percorso, in base al tempo trascorso in quel dispositivo o al protocollo di elaborazione. Se il campo TTL diventa zero prima che il datagramma arrivi a destinazione, il datagramma viene scartato e al mittente viene inviato un pacchetto ICMP con codice 11 — ICMP Time Exceeded. L'eliminazione dei pacchetti scaduti evita situazioni in cui i datagrammi non recapitati continuano a circolare su Internet per sempre, sovraccaricando la rete (ad es. quando si formano percorsi in loop a causa di un routing errato).
I router Keenetic hanno la capacità di controllare il valore TTL per i pacchetti in entrata (dal proprio ISP) e in uscita (verso il proprio ISP). Per impostazione predefinita, se ci si connette al Router per accedere a Internet, il valore TTL diminuirà di 1 quando un pacchetto passa attraverso il Router sia per i pacchetti in entrata (WAN>LAN) che in uscita (LAN>WAN).
Ad esempio, esaminiamo i dump dei pacchetti di rete nel programma di analisi del traffico Wireshark (per ulteriori informazioni, consultare gli articoli 'Utilizzo del modulo integrato di cattura dei pacchetti di rete' e Capturing network packets with Wireshark) e osserviamo le modifiche del TTL per il pacchetto in entrata (dall'ISP).
Quando ci si connette direttamente all'ISP, il valore TTL è 56 (il dump è stato acquisito dall'interfaccia di rete di un PC collegato direttamente all'ISP):

Quando si collega questo PC tramite il Router, questo valore diminuirà e diventerà 55 (il dump è stato acquisito dall'interfaccia di rete del PC collegato al Router):

In alcuni casi, questa riduzione può essere critica (ad esempio, alcuni ISP impostano TTL=1 per i pacchetti che vanno direttamente all'abbonato per impedire l'uso di Router nella loro rete).
Per controllare il valore TTL per i pacchetti in uscita sull'interfaccia selezionata, utilizzare il comando:
interface {name} ip adjust-ttl send {ttl}'{ttl}' — il valore della modifica del TTL. Può assumere valori da 1 a 255 inclusi.
Ad esempio, se si desidera che i pacchetti in uscita verso l' ISP abbiano lo stesso TTL come se il computer Windows fosse collegato direttamente all'ISP invece che tramite il Router, eseguire il seguente comando:
interface ISP ip adjust-ttl send 128In KeeneticOS 3.7 e versioni successive, per modificare il parametro TTL di tutti i pacchetti per le connessioni in entrata, utilizzare il comando:
interface {name} ip adjust-ttl recv {ttl}'{ttl}' — il valore della modifica del TTL. Può assumere valori da 1 a 255 inclusi.
Ad esempio, se si desidera che i pacchetti abbiano TTL=65 per le connessioni in entrata sull'interfaccia UsbQmi0, utilizzare il seguente comando:
interface UsbQmi0 ip adjust-ttl recv 65Per sovrascrivere le impostazioni relative alla modifica del TTL sull'interfaccia '{name}', utilizzare i comandi:
(config-if)>no ip adjust-ttl recv(config-if)>no ip adjust-ttl send