🔍 MTR/Traceroute-Diagnose durchführen
Diese Anleitung zeigt Ihnen, wie Sie MTR (My Traceroute) und Traceroute verwenden, um Netzwerkverbindungsprobleme zu diagnostizieren, Latenzpunkte zu identifizieren und die Qualität Ihrer Netzwerkverbindung zu analysieren.
📋 Voraussetzungen
- Ein VPS-Server mit Root- oder sudo-Zugriff
- Eine aktive SSH-Verbindung
- Ubuntu/Debian (Befehle sind für diese Distributionen angepasst)
🔧 Installation
Traceroute installieren (Basis-Tool)
# Auf Ubuntu/Debian sudo apt update sudo apt install traceroute -y
MTR installieren (erweitertes Tool)
MTR kombiniert die Funktionen von ping und traceroute in einem leistungsstarken Tool.
# Auf Ubuntu/Debian sudo apt update sudo apt install mtr-tiny -y # Für die Vollversion mit grafischer Oberfläche (optional) sudo apt install mtr -y
Installation überprüfen
# Überprüfen, dass traceroute installiert ist traceroute --version # Überprüfen, dass MTR installiert ist mtr --version
🛠️ Traceroute verwenden
Grundlegender Befehl
# Traceroute zu einem Ziel traceroute google.com # Traceroute zu einer IP traceroute 8.8.8.8 # Anzahl der Hops begrenzen (Standard 30) traceroute -m 20 google.com # Timeout in Sekunden angeben traceroute -w 5 google.com
Nützliche Optionen
# UDP verwenden (Standard) traceroute -U google.com # TCP verwenden (zuverlässiger) traceroute -T google.com # ICMP verwenden (wie ping) traceroute -I google.com # DNS-Namen nicht auflösen (schneller) traceroute -n google.com
Beispielausgabe
traceroute to google.com (142.250.185.14), 30 hops max, 60 byte packets
1 10.0.0.1 (10.0.0.1) 0.123 ms 0.089 ms 0.067 ms
2 192.168.1.1 (192.168.1.1) 5.234 ms 5.189 ms 5.145 ms
3 * * *
4 8.8.8.8 (8.8.8.8) 12.456 ms 12.389 ms 12.334 ms
...
🚀 MTR verwenden (Empfohlen)
MTR ist leistungsstärker, da es Pakete kontinuierlich sendet und Statistiken in Echtzeit berechnet.
Grundlegender Befehl
# MTR im interaktiven Modus (empfohlen) mtr google.com # MTR mit Bericht (nicht-interaktiv) mtr --report google.com # MTR mit 10 Testpaketen mtr --report --report-cycles 10 google.com # MTR zu einer IP mtr --report 8.8.8.8
Erweiterte Optionen
# Anzahl der zu sendenden Pakete angeben mtr --report --report-cycles 50 google.com # TCP statt ICMP verwenden mtr --tcp --port 80 google.com # UDP verwenden mtr --udp --port 53 8.8.8.8 # DNS-Namen nicht auflösen mtr --no-dns google.com # Intervall zwischen Paketen (in Sekunden) mtr --interval 2 google.com # Paketgröße (in Bytes) mtr --psize 64 google.com
MTR-Interaktiver Modus
Wenn Sie mtr ohne die --report-Option starten, gelangen Sie in den interaktiven Modus:
- d : Detaillierte Statistiken ein-/ausblenden
- n : DNS-Modus aktivieren/deaktivieren (Namensauflösung)
- r : Statistiken zurücksetzen
- s : Paketgröße ändern
- j : Intervall zwischen Paketen ändern
- q : MTR beenden
📊 Ergebnisse interpretieren
Normale Latenz
- < 50 ms : Ausgezeichnet, lokales Netzwerk oder sehr nah
- 50-100 ms : Gut, regionale Verbindung
- 100-200 ms : Akzeptabel, interkontinentale Verbindung
- > 200 ms : Hoch, kann Probleme verursachen
Paketverlust
- 0% : Perfekt
- < 1% : Normal für eine Internetverbindung
- 1-5% : Akzeptabel, kann aber Probleme verursachen
- > 5% : Problematisch, Untersuchung erforderlich
Bedeutung von Sternchen (*)
In traceroute bedeutet ein *:
- Ein einzelnes * statt einer Zeit : Der Router hat nicht auf dieses spezifische Paket geantwortet
- *Drei aufeinanderfolgende 's : Der Router hat überhaupt nicht geantwortet (Timeout oder Firewall-Filter)
🎯 Anwendungsfälle
Hohe Latenz diagnostizieren
# Test zu Google DNS mtr --report --report-cycles 30 8.8.8.8 # Test zu Cloudflare DNS mtr --report --report-cycles 30 1.1.1.1 # Problematischen Hop identifizieren mtr --report --report-cycles 50 ihre-domain.com
Paketverlust diagnostizieren
# Test mit TCP, um ICMP-Filter zu umgehen mtr --tcp --port 443 --report --report-cycles 50 google.com # Test zu einem spezifischen Server mtr --report --report-cycles 100 ihr-server.com
Test von Ihrem VPS zu Ihrem Standort
# Test zu Ihrer öffentlichen IP-Adresse # Holen Sie sich zuerst Ihre öffentliche IP curl ifconfig.me # Dann testen Sie von Ihrem VPS mtr --report --report-cycles 30 IHRE_ÖFFENTLICHE_IP
🔍 Fehlerbehebung häufiger Probleme
Problem: Hohe Latenz auf einem spezifischen Hop
Wenn Sie hohe Latenz auf einem Zwischenhop sehen:
# Test mit verschiedenen Protokollen mtr --tcp --port 443 --report google.com mtr --udp --port 53 --report 8.8.8.8 mtr --report google.com
Important: Hohe Latenz auf einem Zwischenhop kann normal sein, wenn dieser Router nicht schnell auf Diagnoseanfragen antwortet, aber die finale Latenz gut bleibt.
Problem: Erheblicher Paketverlust
Wenn Sie hohen Paketverlust sehen:
# Test mit mehr Paketen zur Bestätigung mtr --report --report-cycles 100 ziel.com # Test mit TCP, wenn ICMP gefiltert wird mtr --tcp --port 80 --report --report-cycles 50 ziel.com
Warning: Wenn Paketverlust auf allen Hops erscheint, liegt das Problem wahrscheinlich auf Ihrem VPS oder Ihrer lokalen Verbindung. Wenn es nur auf einem spezifischen Hop erscheint, liegt das Problem im Netzwerk zwischen Ihrem VPS und dem Ziel.
Problem: Wiederholte Timeouts
# Timeout erhöhen mtr --timeout 10 --report ziel.com # Test mit verschiedenen Protokollen mtr --tcp --port 443 --timeout 10 --report ziel.com
📝 Nützliche Befehle
Vollständiges Diagnoseskript
Erstellen Sie ein Skript, um mehrere Ziele zu testen:
#!/bin/bash echo "=== MTR-Test zu Google DNS ===" mtr --report --report-cycles 30 8.8.8.8 echo -e "\n=== MTR-Test zu Cloudflare DNS ===" mtr --report --report-cycles 30 1.1.1.1 echo -e "\n=== MTR-Test zu Ihrer Domain ===" mtr --report --report-cycles 30 ihre-domain.com
Ergebnisse speichern
# Bericht in eine Datei speichern mtr --report --report-cycles 30 google.com > mtr-report-$(date +%Y%m%d).txt # Mit CSV-Format mtr --report --report-cycles 30 --csv google.com > mtr-report.csv
✅ Best Practices
- MTR statt traceroute verwenden : MTR bietet vollständigere Statistiken
- Mehrere Ziele testen : Ergebnisse zu verschiedenen Servern vergleichen
- Mehrere Tests durchführen : Netzwerke können variieren, führen Sie mehrere Tests zu verschiedenen Zeiten durch
- TCP verwenden, wenn ICMP gefiltert wird : Einige Router filtern ICMP, aber nicht TCP
- Ergebnisse korrekt interpretieren : Hohe Latenz auf einem Zwischenhop ist nicht immer ein Problem, wenn die finale Latenz gut ist
🆘 Fehlerbehebung
MTR wird nicht korrekt angezeigt
# Wenn MTR im interaktiven Modus nicht funktioniert, verwenden Sie den Berichtsmodus mtr --report ziel.com # MTR-Version überprüfen mtr --version
Fehler "mtr: command not found"
# MTR neu installieren sudo apt update sudo apt install mtr-tiny -y # Oder die Vollversion installieren sudo apt install mtr -y
Alle Ergebnisse zeigen Sternchen
Wenn alle Hops * zeigen, kann dies bedeuten:
# Ihre Firewall blockiert ICMP # Test mit TCP statt mtr --tcp --port 443 --report ziel.com # Firewall-Regeln überprüfen sudo ufw status sudo iptables -L
📚 Zusätzliche Ressourcen
❓ Häufig gestellte Fragen
F: Was ist der Unterschied zwischen Traceroute und MTR?
A: Traceroute sendet einige Pakete und zeigt Ergebnisse. MTR sendet Pakete kontinuierlich und berechnet Statistiken in Echtzeit, was für die Diagnose nützlicher ist.
F: Warum zeigen einige Hops Sternchen?
A: Dies bedeutet, dass der Router nicht geantwortet hat. Dies kann auf einen Firewall-Filter, eine Router-Konfiguration oder einfach darauf zurückzuführen sein, dass der Router nicht auf Diagnoseanfragen antwortet.
F: Sollte ich mir Sorgen machen, wenn die Latenz auf einem Zwischenhop hoch ist?
A: Nicht unbedingt. Wenn die finale Latenz zum Ziel gut ist, kann hohe Latenz auf einem Zwischenhop normal sein. Es ist die finale Latenz, die wirklich zählt.
F: Wie interpretiere ich Paketverlust in MTR?
A: Paketverlust < 1% ist normal. Zwischen 1-5% ist akzeptabel, kann aber Probleme verursachen. Über 5% ist problematisch und erfordert Untersuchung.