Dessa nätverk överförs med hjälp av paket. Paketen passerar flera andra nätverksnoder innan de når sin destination för att hamna i början av destinationens lokala nätverk och sedan direkt till destinationen. Det är inte ovanligt att sådana paket kommer på villovägar. För att kunna styra dem till rätt väg i nätverket ges varje paket en viss livslängd.
TTL-parametern är ansvarig för dess livslängd. Det är det antal noder som ett paket kan passera innan det förstörs. Under passagen av varje nod minskar TTL-värdet tills tiden når ett värde på noll Ju högre TTL, desto mer invecklade nätverk kan paketet korsa.
TTL-nätverksparametrarna på låg nivå i Linux styrs av kärnan. Den kan konfigureras med hjälp av kernelkonfigurationsgränssnittet. Vilken TTL använder systemet?
Låt oss använda kommandot ping:
$ ping 127.0.0.1
I paketets sändningsdata kan vi se den TTL som paketet skickades med. Vi kan se att det värde som används är 64. För Windows används ett TTL-värde på 128. Vanligtvis är detta tillräckligt, eftersom det finns minst 20-30 routrar mellan nätverksnoderna. Det är inte alltid värt att ändra TTL så att paketen kan nå sin destination.
Det är möjligt att ändra TTL genom att justera parametern net.ipv4.ip_default_ttl.
Vi provar ett sådant kommando:
$ sudo sysctl -w net.ipv4.ip_default_ttl=65
Om du vill att ändringarna ska kvarstå efter en omstart kan du skriva den här raden med inställningar till filen /etc/sysctl.conf:
$ sudo vi /etc/sysctl.conf
net.ipv4.ip_default_ttl=65
Efter TTL kommer att vara 65:
Om du inte vill ändra kärninställningarna kan du ändra TTL till paket när de passerar genom iptables-nätverksfiltret. För att göra detta kör du ett kommando som detta:
$ iptables -t mangle -A POSTROUTING -j TTL --ttl-set 65
Detta kommer också att fungera. Att ändra Linux TTL är inte alls svårt.