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.