Ich habe ein sehr seltsames Problem mit OpenVPN.
Die meisten VPNs funktionieren einwandfrei, außer diesem. Hier bekomme ich eine sehr geringe Leistung von TCP-Verbindungen, aber die CPU-Auslastung ist gering (also kein CPU-Problem).
OpenVPN ist mit UDP, AES-256-CBC-Verschlüsselung, SHA256-Authentifizierung und ohne Komprimierung konfiguriert.
Hier sind einige Messungen, die ich mit iperf durchgeführt habe:
Netzwerkverbindung ohne VPN:
iperf -c external.ip result:300 - 500mbps (good)
iperf -c vpn.int.ip result: 20-30mbps (not good)
Die CPU-Auslastung an beiden Enden ist gering. OK, vielleicht formt oder filtert ein ISP die UDP-Pakete.
iperf -c external.ip -b 500M result: no packet loss
Hmm ... was ist, wenn ich den UDP-Stream über VPN erzwinge?
iperf -c vpn.int.ip -b 100M result: no packet loss
iperf -c vpn.int.ip -b 180M result: packet loss ~0.1%
Daher sollte meine VPN-Verbindung basierend auf den Ergebnissen mit UDP bis zu 180 MBit / s erreichen, dies ist jedoch nicht der Fall. Ich bekomme auch sehr seltsame Grafik mit tcptrace.
So läuft der gute Test ab (ohne VPN, mit externen IPs):
Wie Sie sehen, bleiben die gesendeten Pakete in der Nähe der gelben Linie, was bedeutet, dass das Empfangsfenster fast voll bleibt. Dieser Teil des Diagramms befindet sich kurz vor dem Beginn der Verbindung. Später befinden sich die gesendeten Pakete praktisch über der gelben Linie.
Und diese Grafik bekomme ich von VPN:
Aus irgendeinem Grund verhält sich der Absender hier so, als wäre das Fenster sehr klein, obwohl es groß ist (es spielt keine Rolle, auf was ich das Fenster eingestellt habe, habe versucht, die Standardeinstellung und 4 MB beizubehalten) und sendet die Pakete nur in kleinen Bursts.
Dies ist das erste Mal, dass ich eine solche Grafik sehe? Was könnte es verursachen? Einige UDP-Filter vom ISP, OpenVPN selbst, noch etwas?
BEARBEITEN: Das Ausführen des VPN mit TCP anstelle von UDP führt zu einem Durchsatz von 10 MBit / s.
quelle
Antworten:
Ich habe es gelöst. Oder besser gesagt, ich weiß, wie ich es schneller machen kann, aber ich weiß nicht, warum es langsam ist. Es scheint, dass die AES-Verschlüsselung TCP auf diesem bestimmten Server irgendwie stört und zu einer geringen Leistung führt. Wenn ich die Verschlüsselung beispielsweise auf 3des ändere (was langsamer ist, wie durch "openssl speed" angegeben), erhalte ich 150 MBit / s. Nach einigen Versuchen benutze ich jetzt Folgendes:
Jetzt bekomme ich 300 MBit / s für einen einzelnen Stream und 450 MBit / s für mehrere Streams.
quelle
Möglicherweise treten bei der Verbindung Probleme mit der MTU auf. Schauen Sie sich die folgenden zwei Links an, sie können einige nützliche Informationen enthalten.
Konfigurieren Sie die MTU mit Fragment und MSS
Optimierung der Leistung in Gigabit-Netzwerken
quelle