Ezeket a hálózatokat csomagok továbbítják. A csomagok több más hálózati csomóponton is áthaladnak, mielőtt elérnék a célállomásukat, hogy végül a célállomás helyi hálózatának elején, majd közvetlenül a célállomáshoz jussanak. Nem ritka, hogy az ilyen csomagok eltévednek. Annak érdekében, hogy a hálózatban a helyes útra irányítsák őket, minden csomagnak bizonyos élettartamot adnak.
Az élettartamért a TTL paraméter felel. Ez az a csomópontok száma, amelyeken egy csomag áthaladhat, mielőtt megsemmisülne. Az egyes csomópontokon való áthaladás során a TTL-érték addig csökken, amíg el nem éri a nulla értéket Minél magasabb a TTL, annál bonyolultabb hálózatokon haladhat át a csomag.
A Linuxban az alacsony szintű TTL hálózati paramétereket a kernel vezérli. Ez a kernel konfigurációs felületével konfigurálható. Milyen TTL-t használ a rendszer?
Használjuk a ping parancsot:
$ ping 127.0.0.1
A csomagküldő adatban láthatjuk, hogy milyen TTL-lel küldték a csomagot. Láthatjuk, hogy a használt érték 64. A Windows esetében 128-as TTL értéket használnak. Ez általában elegendő, mivel a hálózati csomópontok között legalább 20-30 router van. Nem mindig érdemes megváltoztatni a TTL-t, hogy a csomagok elérjék a célállomásukat.
A TTL megváltoztatása a net.ipv4.ip_default_ttl paraméter beállításával lehetséges.
Kipróbálunk egy ilyen parancsot:
$ sudo sysctl -w net.ipv4.ip_default_ttl=65
Ahhoz, hogy a módosítások újraindítás után is megmaradjanak, ezt a beállítási sort beírhatjuk az /etc/sysctl.conf fájlba:
$ sudo vi /etc/sysctl.conf
net.ipv4.ip_default_ttl=65
A TTL után 65 lesz:
Ha nem akarjuk megváltoztatni a kernel beállításait, akkor az iptables hálózati szűrőn áthaladó csomagok TTL-jét is módosíthatjuk. Ehhez futtasson egy ilyen parancsot:
$ iptables -t mangle -A POSTROUTING -j TTL --ttl-set 65
Ez is működik. A Linux TTL-jének módosítása egyáltalán nem bonyolult.