Diese Netze werden durch Pakete übertragen. Die Pakete durchlaufen mehrere andere Netzknoten, bevor sie ihr Ziel erreichen, um am Anfang des lokalen Netzes des Ziels zu landen und dann direkt zum Ziel zu gelangen. Es ist nicht ungewöhnlich, dass solche Pakete in die Irre gehen. Um sie auf den richtigen Pfad im Netz zu leiten, wird jedem Paket eine bestimmte Lebensdauer zugewiesen.
Der TTL-Parameter ist für seine Lebensdauer verantwortlich. Das ist die Anzahl der Knoten, die ein Paket passieren kann, bevor es zerstört wird. Während der Passage jedes Knotens sinkt der TTL-Wert, bis die Zeit einen Wert von Null erreicht. Je höher die TTL, desto verworrenere Netzwerke kann das Paket durchlaufen.
Die Low-Level-TTL-Netzwerkparameter in Linux werden vom Kernel gesteuert. Sie können über die Kernel-Konfigurationsschnittstelle konfiguriert werden. Welche TTL wird vom System verwendet?
Verwenden wir den Befehl ping:
$ ping 127.0.0.1
In den Sendedaten des Pakets können wir die TTL sehen, mit der das Paket gesendet wurde. Wir können sehen, dass der verwendete Wert 64 ist. Für Windows wird ein TTL-Wert von 128 verwendet. Dies ist in der Regel ausreichend, da sich zwischen den Netzknoten mindestens 20-30 Router befinden. Es lohnt sich nicht immer, die TTL zu ändern, damit die Pakete ihr Ziel erreichen können.
Eine Änderung der TTL ist möglich, indem man den Parameter net.ipv4.ip_default_ttl anpasst.
Wir probieren einen solchen Befehl aus:
$ sudo sysctl -w net.ipv4.ip_default_ttl=65
Damit die Änderungen auch nach einem Neustart erhalten bleiben, können Sie diese Zeile in die Datei /etc/sysctl.conf schreiben:
$ sudo vi /etc/sysctl.conf
net.ipv4.ip_default_ttl=65
Nach TTL wird 65 sein:
Wenn Sie die Kernel-Einstellungen nicht ändern wollen, können Sie die TTL für Pakete ändern, wenn sie den iptables-Netzwerkfilter passieren. Führen Sie dazu einen Befehl wie diesen aus:
$ iptables -t mangle -A POSTROUTING -j TTL --ttl-set 65
Dies wird auch funktionieren. Das Ändern der Linux-TTL ist gar nicht so schwierig.