Deze netwerken worden verzonden door pakketten. Pakketjes passeren verschillende andere netwerkknooppunten voordat ze hun bestemming bereiken om te eindigen aan het begin van het lokale netwerk van de bestemming en dan rechtstreeks naar de bestemming. Het is niet ongewoon dat zulke pakketten verdwalen. Om ze naar het juiste pad in het netwerk te leiden, krijgt elk pakket een bepaalde levensduur.
De TTL parameter is verantwoordelijk voor de levensduur. Dit is het aantal knooppunten dat een pakket kan passeren voordat het wordt vernietigd. Tijdens het passeren van elk knooppunt neemt de TTL-waarde af totdat de tijd een waarde van nul bereikt. Hoe hoger de TTL, hoe meer ingewikkelde netwerken het pakket kan doorkruisen.
De low-level TTL netwerkparameters in Linux worden geregeld door de kernel. Ze kunnen worden ingesteld met de kernel configuratie interface. Welke TTL gebruikt het systeem?
Laten we het ping commando gebruiken:
$ ping 127.0.0.1
In het verzonden pakket kunnen we de TTL zien waarmee het pakket is verzonden. We kunnen zien dat de gebruikte waarde 64 is. Voor Windows wordt een TTL-waarde van 128 gebruikt. Dit is meestal voldoende, omdat er minstens 20-30 routers tussen de netwerkknooppunten zitten. Het is niet altijd de moeite waard om de TTL te veranderen zodat pakketten hun bestemming kunnen bereiken.
Het wijzigen van de TTL is mogelijk door de parameter net.ipv4.ip_default_ttl aan te passen.
We proberen een dergelijk commando:
$ sudo sysctl -w net.ipv4.ip_default_ttl=65
Om de wijzigingen na een reboot door te laten gaan, kun je deze regel met instellingen naar het bestand /etc/sysctl.conf schrijven:
$ sudo vi /etc/sysctl.conf
net.ipv4.ip_default_ttl=65
Na TTL zal 65 zijn:
Als je de kernelinstellingen niet wilt veranderen, kun je de TTL van pakketten aanpassen terwijl ze door het iptables netwerkfilter gaan. Voer hiervoor een commando als dit uit:
$ iptables -t mangle -A POSTROUTING -j TTL --ttl-set 65
Dit zal ook werken. Het wijzigen van de Linux TTL is helemaal niet moeilijk.