TTL-Prüfung mit Linux-Router

Machen Sie Linux zu einem Router und stellen Sie sicher, dass die IP-Paket-TTL funktioniert

IP-Paket TTL (Time to Live) soll eine unendliche Übertragung verhindern. Dekrementieren (Wert wird um 1 dekrementiert) beim Durchlaufen des Subnetzes (Routers). Stellen Sie hier den Router unter Linux ein und überprüfen Sie die Funktion von TTL.

Netzwerkkonfiguration

構成.png

Wie üblich verwenden wir VirtualBox, um eine solche Konfiguration zu erstellen. Ein Beispiel für VirtualBox-Einstellungen finden Sie unter hier.

Linux-Router-Einstellungen

Mit der obigen Konfiguration muss die statische Route nicht festgelegt werden. Aktivieren Sie einfach die Weiterleitung (net.ipv4.ip_forward).

~# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0
~# sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1

Experiment

Teil 1

Pingen Sie von Terminal 2 (192.168.102.2) zu Terminal 1 (192.168.101.2). Stellen Sie zu diesem Zeitpunkt TTL auf 10 (Option -t).

~# ping -t 10 192.168.101.2
PING 192.168.101.2 (192.168.101.2) 56(84) bytes of data.
64 bytes from 192.168.101.2: icmp_seq=1 ttl=63 time=0.691 ms

Es scheint, dass der Standardwert von ttl normalerweise 64 ist. Das TTL-Dekrement kann auch mit dem Antwortpaket "ttl = 63" bestätigt werden, aber hier wird der Zustand von "TTL = 10" zum Zeitpunkt der Übertragung mit den Paketerfassungsdaten bestätigt. Klicken Sie hier für die erfassten Daten auf der Sendeseite (Terminal 2). TTL=10.png Klicken Sie hier für die erfassten Daten auf der Empfangsseite (Terminal 1). TTL=9.png Wie erwartet wird es als "TTL = 9" dekrementiert.

Teil 2

Auf "TTL = 1" setzen.

~# ping -t 1 192.168.101.2
PING 192.168.101.2 (192.168.101.2) 56(84) bytes of data.
From 192.168.102.1 icmp_seq=1 Time to live exceeded

Die TTL wurde vom Router dekrementiert und wurde zu '0', wodurch das Paket nicht mehr erreichbar war.

Am Ende

Ich habe bestätigt, dass es auch unter Linux ein Router sein kann. Ist es natürlich?

Recommended Posts

TTL-Prüfung mit Linux-Router
NAT-Router unter Linux
Statusüberprüfungsbefehl, der (manchmal) unter Linux verwendet wird
[2020Juli] Überprüfen Sie die UDID des iPad unter Linux
jblas unter Arch Linux
Überprüfen Sie die Linux-Kernelversion
Entwickeln Sie .NET unter Linux
Wake on Lan unter Linux
Überwachen Sie den Datenverkehr unter Linux
Aktualisieren Sie vscode unter Linux
Erstellen Sie LiveUSB unter Linux
Linux-Betrieb unter Win10
Überprüfen Sie, ob das LAN-Kabel unter Linux nicht angeschlossen ist
NTP-Konfigurationsnotiz unter Linux
Installieren Sie Linux auf Chromebox
Überwachen Sie die Festplattennutzung unter Linux
Verwenden Sie Github Desktop unter Linux
Elixier = vertraut mit Linux Mint
Lesen Sie die Kernspannung unter Linux
Setzen Sie jenv in Amazon Linux ein
Einfacher Befehl df unter Linux
Linux unter Windows -1-: Einführung in Debian
Installieren Sie tomcat 5.5 unter Amazon Linux.
Einführung in Elixir in Linux Mint
Installieren von Homebrew unter Amazon Linux 2
Fügen Sie den Link unter Linux ein
Aufbau einer Linux-Umgebung (in einer WSL-Umgebung)
Befehl zur Bestätigung der Linux-PC-Spezifikation
Verwenden Sie Linux unter Windows 10 (WSL2)
Einrichten von OpenSSH unter Arch Linux
Verwenden Sie host.docker.internal unter Linux (Docker-Compose erforderlich)
Installieren Sie Python Pillow unter Amazon Linux
Einfaches Kopieren in die Zwischenablage unter Linux
Versuchen Sie, OpenAM unter Amazon Linux zu installieren
Installieren Sie Arch Linux auf DeskMini A300
Führen Sie einen Linux-Server mit GCP aus
So installieren Sie VMware-Tools unter Linux
Anzeigen der Festplattennutzung unter Linux
Rippen Sie Musik-CDs unter Arch Linux
Erstellen Sie eine Linux-Umgebung unter Windows 10
[Linux] Aufbau einer Docker-Umgebung auf Redhat
[Hinweis] Installieren Sie Imagick unter Amzon Linux2
[Hinweis] Führen Sie Django unter Amazon Linux 2 aus
So überprüfen Sie die Linux-Betriebssystemversion
Führen Sie die Python 3.5.2-Umgebung unter Amazon Linux ein
pykintone unter Windows Subsystem für Linux
Finden Sie große Dateien / Verzeichnisse unter Linux
python> os.path.join ('data', 'checkpoint')> 'data / checkpoint' unter Linux