Wie behebe ich den Paketverlust in meiner VPN-Verbindung?

Lesedauer: 5 Minute
0

Ich habe ständige oder zeitweilige Paketverluste und hohe Latenzprobleme bei meiner VPN-Verbindung. Ich möchte Tests durchführen, um sicherzustellen, dass das Problem nicht innerhalb meiner Amazon Virtual Private Cloud (Amazon VPC) auftritt.

Lösung

Bevor Sie mit den Leistungstests beginnen, starten und konfigurieren Sie Ihre Amazon Elastic Compute Cloud (Amazon EC2)-Linux-Instances:

  1. Folgen Sie den Schritten unterStarten einer Instance, um Linux-Instances in mindestens zwei verschiedenen Availability Zones unter derselben VPC (Virtual Private Cloud) zu starten. Sie können Netzwerkleistungstests von der Instance aus ausführen.
  2. Um die bestmögliche Netzwerkleistung zu erzielen, stellen Sie sicher, dass die InstancesEnhanced Networking für Linuxunterstützen, und starten Sie die Instances in derselben VPC.
  3. Wenn Sie Netzwerktests zwischen Instances durchführen, die sich nicht in derselben Placement-Gruppe befinden oder Jumbo-Frames nicht unterstützen, gehen Sie wie folgt vor, umdie MTU auf Ihrer Linux Instance zu überprüfen und festzulegen.
  4. Führen Sie die Schritte unterMit Ihrer Linux Instance verbindenaus, um zu überprüfen, ob Sie auf die Instances zugreifen können.

Verwenden Sie mtr, um den Verlust von ICMP (Internet Control Message Protocol)- oder TCP-Paketen und die Latenzzeit zu überprüfen

Installieren Sie dasmtr-Netzwerktool auf beiden Instances, um zu überprüfen, ob ICMP- oder TCP-Paketverluste und Latenzen vorliegen.mtrbietet eine kontinuierlich aktualisierte Ausgabe, mit der Sie die Netzwerkleistung im Laufe der Zeit analysieren können. Es kombiniert die Funktionen vonTracerouteund Pingin einem einzigen Netzwerkdiagnosetool.

mtrauf Amazon Linux installieren:

sudo yum install mtr

mtrauf Ubuntu installieren:

sudo apt-get install mtr

Führen Sie die folgenden Tests bidirektional zwischen der privaten und öffentlichen IP-Adresse Ihrer EC2-Instances und Ihrem lokalen Host durch. Der Pfad zwischen Knoten in einem TCP/IP-Netzwerk kann sich ändern, wenn die Richtung umgekehrt wird. Hinweis: Es ist wichtig,mtr-Ergebnisse in beide Richtungen zu erhalten.

Der erstemtr-Test basiert auf ICMP, aber der zweite Test hat eine**-T**-Option, die Ihnen ein TCP-basiertes Ergebnis liefert. Anhand des TCP-basierten Ergebnisses können Sie feststellen, ob es bei der Verbindung anwendungsbedingte Paketverluste oder Latenzzeiten gibt. MTR-Version 0.85 und höher verfügt über die Option TCP.

Private IP-Tests:

mtr -n -c 200 <Private IP EC2 instance/on-premises host> --report
mtr -n -T -c 200 <Private IP EC2 instance/on-premises host> --report

Öffentliche IP-Tests:

mtr -n -c 200 <Public IP EC2 instance/on-premises host> --report
mtr -n -T -c 200 <Public IP EC2 instance/on-premises host> --report

Verwenden des Linux-Dienstprogramms traceroute, um Latenz- oder Routing-Probleme zu ermitteln

Das Linux-DienstprogrammTracerouteidentifiziert den Pfad, der von einem Client-Knoten zu einem bestimmten Zielknoten führt. Es zeigt auch die Zeit in Millisekunden an, die jeder im Pfad identifizierte Router benötigt, um auf eine Anfrage zu antworten. Außerdem berechnet und zeigt dieses Dienstprogramm die Zeit an, die jeder Hop bis zum Erreichen des Ziels benötigt. Wenntraceroutenicht installiert ist, stellen Sie sicher, dass Sie es auf Ihrer Instance installieren.

tracerouteauf Amazon Linux installieren:

sudo yum install traceroute

tracerouteauf Ubuntu installieren:

sudo apt-get install traceroute

Führen Sie die folgenden Tests bidirektional zwischen der privaten und öffentlichen IP-Adresse Ihrer EC2-Instances und Ihrem lokalen Host durch. Der Pfad zwischen Knoten in einem TCP/IP-Netzwerk kann sich ändern, wenn die Richtung umgekehrt wird. Es ist wichtig, die Ergebnisse der Trace-Route in beide Richtungen zu erhalten. Private IP-Tests:

sudo traceroute <private IP of EC2 instance/on-premises host>
sudo traceroute -T -p 80 <private IP of EC2 instance/on-premises host>

Öffentliche IP-Tests:

sudo traceroute <public IP of EC2 instance/on-premises host>
sudo traceroute -T -p 80 <public IP of EC2 instance/on-premises host>

Hinweis:Die Argumente-T -p 80 -nführen eine TCP-basierte Ablaufverfolgung auf Port 80 durch. Stellen Sie sicher, dass Port 80 oder der Port, mit dem Sie testen, in beide Richtungen geöffnet ist.

Die Linux-Traceroute-Option, einen TCP-basierten Trace anstelle von ICMP zu spezifizieren, ist nützlich, da die meisten Internetgeräte ICMP-basierte Trace-Anfragen depriorisieren. Einige wenige Anfragen mit Zeitüberschreitung sind üblich. Achten Sie daher auf Paketverluste am Zielort oder im letzten Hop der Route. Paketverluste, die sich über mehrere Sprünge hinweg häufen, können ebenfalls auf ein Problem hinweisen.

Hinweis:Bei der Fehlersuche in Bezug auf die Netzwerkkonnektivität mitTracerouteist es hilfreich, den Befehl in beide Richtungen auszuführen.

Verwenden von hping3, um Latenz- oder TCP-Paketverlustprobleme zu ermitteln

hpingist ein kommandozeilenorientierter TCP/IP-Paketassembler/Analysator. Neben ICMP-Echoanfragen werden auch TCP-, UDP- und RAW-IP-Protokolle unterstützt. Es verfügt auch über einen Traceroute-Modus, die Möglichkeit, Dateien zwischen einem abgedeckten Kanal zu senden und viele andere Features.

Wennhping3nicht installiert ist, führen Sie den folgenden Befehl auf Amazon Linux aus:

sudo yum --enablerepo=epel install hping3

Führen Sie die folgenden Befehle aus:

hping3 -S -c 50 -V <Public IP of EC2 instance or on-premises host>
hping3 -S -c 50 -V <Private IP of EC2 instance or on-premises host>

Hinweis:Standardmäßig sendethping3TCP-Header an den Port 0 des Zielhosts mit einer Winsize von 64, ohne dass ein TCP-Flag aktiviert ist.

Beispiele für die Paketerfassung mit tcpdump

Sie können Paketerfassungen sowohl auf Ihren EC2-Instances (in mehreren Availability Zones vorhanden) als auch auf Ihrem lokalen Host durchführen, wenn Sie Probleme duplizieren. Anhand dieser Paketaufzeichnungen können Sie feststellen, ob es Probleme auf der Netzwerkebene der VPN-Verbindung gibt. Installieren Sietcpdumpauf Ihrer Instance, um Paketerfassungen durchzuführen.

tcpdumpauf Amazon Linux installieren:

sudo yum install tcpdump

tcpdumpauf Ubuntu installieren:

sudo apt-get install tcpdump

**Hinweis:**Anweisungen zur Überprüfung von Netzwerkgeräten für die Analyse und Fehlerbehebung finden Sie in der Dokumentation Ihres jeweiligen Herstellers.


Weitere Informationen

Wie vergleiche ich den Netzwerkdurchsatz auf einer Amazon-EC2-Linux-Instance in derselben Amazon VPC?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren