Da unser Zugriff auf verschiedene Ressourcen im Internet zunehmend gesperrt wird, wird das Thema der Umgehung von Sperren immer relevanter. Das bedeutet, dass die Frage „Wie können wir Sperren schneller umgehen?“ immer relevanter wird.
Lassen wir das Thema Effizienz im Hinblick auf die Umgehung von DPI/Whitelists/Blacklists für einen anderen Fall übrig und vergleichen wir einfach die Leistung gängiger Tools zur Umgehung von Sperren.
Achtung: Unter den Spoilern im Artikel befinden sich viele Bilder.
Haftungsausschluss: Dieser Artikel vergleicht die Leistung gängiger VPN-Proxy-Lösungen unter nahezu idealen Bedingungen. Die hier erzielten und beschriebenen Ergebnisse stimmen nicht unbedingt mit Ihren Ergebnissen vor Ort überein. Denn die Zahl im Geschwindigkeitstest hängt oft nicht von der Leistung des Bypass-Tools ab, sondern davon, wie Ihr Anbieter die QoS-Blockaden drosselt.
Methodik
Drei VPS wurden von einem Cloud-Anbieter (DO) in verschiedenen Ländern weltweit erworben. Zwei in den Niederlanden, einer in Deutschland. Der produktivste VPS (nach Anzahl der Kerne) wurde aus den für das Konto verfügbaren VPS ausgewählt, die gegen Couponguthaben angeboten wurden.
Auf dem ersten niederländischen Server wurde ein privater iperf3-Server bereitgestellt.
Auf dem zweiten niederländischen Server werden nacheinander verschiedene Server mit Bypass-Tools bereitgestellt.
Auf einem deutschen VPS wird ein Linux-Desktop-Image (xubuntu) mit VNC und virtuellem Desktop bereitgestellt. Dieser VPS ist ein bedingter Client, auf dem nacheinander verschiedene Proxy-VPN-Clients installiert bzw. gestartet werden.
Geschwindigkeitsmessungen werden dreimal durchgeführt, wir konzentrieren uns auf den Durchschnitt, wir verwenden 3 Tools: in Chromium über Web-Speedtest; in Chromium über fast.com; von der Konsole über iperf3 über Proxychains4 (wo Sie iperf3-Verkehr in den Proxy einspeisen müssen).
Die direkte Verbindung „Client“-Server iperf3 ergibt in iperf2 eine Geschwindigkeit von 3 Gbit/s und im Fastespeedtest etwas weniger.
Ein neugieriger Leser könnte fragen: „Warum haben Sie sich nicht für speedtest-cli entschieden?“ und er hätte Recht.
Speedtest-cli erwies sich aus mir unbekannten Gründen als unzuverlässige Methode zur Durchsatzmessung. Drei aufeinanderfolgende Messungen konnten drei völlig unterschiedliche Ergebnisse liefern oder beispielsweise einen Durchsatz anzeigen, der deutlich über der Portgeschwindigkeit meines VPS lag. Vielleicht liegt das Problem in meiner Ungeschicklichkeit, aber es schien unmöglich, mit einem solchen Tool zu forschen.
Was die Ergebnisse der drei Messmethoden (speedtestfastiperf) betrifft, halte ich die iperf-Indikatoren für die genauesten, zuverlässigsten und zuverlässigsten, während fastspeedtest als Referenz dient. Einige Bypass-Tools erlaubten jedoch keine drei Messungen über iperf3. In solchen Fällen können Sie sich auf speedtestfast konzentrieren.
Speedtest liefert unterschiedliche Ergebnisse
Werkzeuge
Insgesamt wurden 24 verschiedene Bypass-Tools und/oder deren Kombinationen getestet. Zu jedem Tool gebe ich eine kurze Erklärung und schildere meine Eindrücke von der Arbeit damit. Im Wesentlichen ging es jedoch darum, die Geschwindigkeiten von Shadowsocks (und einer Reihe verschiedener Obfuscatoren dafür), OpenVPN und Wireguard zu vergleichen.
In diesem Artikel werde ich nicht näher auf die Frage eingehen, „wie man den Datenverkehr am besten verbirgt, damit er nicht unterbrochen wird“, da die Umgehung der Sperrung eine reaktive Maßnahme ist: Wir passen uns an die Vorgehensweise der Zensur an und handeln entsprechend.
Ergebnisse
Strongswanipsec
Meiner Meinung nach ist es sehr einfach einzurichten und funktioniert recht stabil. Die Vorteile liegen darin, dass es wirklich plattformübergreifend ist, ohne dass für jede Plattform ein eigener Client gesucht werden muss.
Download – 993 Mbit; Upload - 770 Mbit/s
SSH-Tunnel
Wahrscheinlich haben nur die Faulen noch nicht über die Verwendung von SSH als Tunnel-Tool geschrieben. Der Nachteil ist der „Krücken“-Charakter der Lösung, d. h. es ist unmöglich, sie von einem praktischen, ansprechenden Client auf jeder Plattform aus einzusetzen. Der Vorteil ist die gute Performance, da keinerlei Installation auf dem Server erforderlich ist.
Download – 1270 Mbit; Upload - 1140 Mbit/s
OpenVPN
OpenVPN wurde in 4 Betriebsmodi getestet: TCP, TCP+SSLH, TCP+Stunnel, UDP.
OpenVPN-Server wurden durch die Installation von Streisand automatisch konfiguriert.
Soweit ich das beurteilen kann, ist derzeit nur der Stunnel-Modus gegen erweiterte DPI resistent. Der Grund für den ungewöhnlichen Durchsatzanstieg beim Einbinden von OpenVPN-TCP in Stunnel ist mir unklar. Die Tests wurden in mehreren Schritten, zu unterschiedlichen Zeiten und an unterschiedlichen Tagen durchgeführt, das Ergebnis war dasselbe. Möglicherweise liegt dies an den Netzwerkstapeleinstellungen, die bei der Bereitstellung von Streisand installiert wurden. Schreiben Sie uns, wenn Sie eine Idee haben, warum das so ist.
openvpntcp: Download – 760 MBit; Upload – 659 Mbit/s
openvpntcp+sslh: Download – 794 MBit; Upload - 693 Mbit
openvpntcp+stunnel: Download – 619 Mbit/s; Upload – 943 Mbit/s
openvpnudp: Download – 756 MBit; Upload - 580 Mbit/s
Openconnect
Es ist zwar nicht das beliebteste Tool zum Umgehen von Blockierungen, aber im Streisand-Paket enthalten, daher wurde beschlossen, es ebenfalls zu testen.
Download - 895 Mbit; Upload 715 Mbit/s
Wireguard
Ein Hype-Tool, das bei westlichen Anwendern beliebt ist. Die Entwickler des Protokolls erhielten für die Entwicklung sogar Zuschüsse aus Verteidigungsfonds. Es funktioniert als Linux-Kernelmodul über UDP. Kürzlich sind Clients für Windows und iOS erschienen.
Der Entwickler hat es als einfache und schnelle Möglichkeit konzipiert, Netflix auch außerhalb der USA anzusehen.
Daher die Vor- und Nachteile. Vorteile: Sehr schnelles Protokoll, relativ einfache Installation/Einrichtung. Nachteile: Der Entwickler hat es ursprünglich nicht mit dem Ziel entwickelt, schwerwiegende Blockierungen zu umgehen. Daher kann Wareguard von den einfachsten Tools, einschließlich Wireshark, leicht erkannt werden.
Wireguard-Protokoll in Wireshark
Download - 1681 Mbit; Upload 1638 Mbit/s
Interessanterweise wird das WARGARD-Protokoll im Tunsafe-Client eines Drittanbieters verwendet, der in Verbindung mit demselben WARGARD-Server deutlich schlechtere Ergebnisse liefert. Es ist durchaus möglich, dass der WARGARD-Windows-Client dieselben Ergebnisse liefert:
tunsafeclient: Download – 1007 MBit; Upload - 1366 Mbit
OutlineVPN
Outline ist eine Implementierung des Shadowsocks-Servers und -Clients mit einer benutzerfreundlichen GUI von Google Jigsaw. Unter Windows besteht der Outline-Client lediglich aus Wrappern für die Binärdateien shadowsocks-local (shadowsocks-libev-Client) und badvpn (tun2socks-Binärdatei, die den gesamten Computerverkehr an einen lokalen Socks-Proxy weiterleitet).
ShadowSox war einst resistent gegen die Great Chinese Firewall, doch den neuesten Tests zufolge ist dies nicht mehr der Fall. Im Gegensatz zu ShadowSox unterstützt es keine standardmäßige Verschleierung über Plugins. Dies kann jedoch manuell durch Manipulation von Server und Client erfolgen.
Download – 939 Mbit; Upload - 930 Mbit/s
ShadowsocksR
ShadowsocksR ist ein Fork des ursprünglichen Shadowsocks, geschrieben in Python. Es handelt sich im Wesentlichen um Shadowsocks mit mehreren fest integrierten Methoden zur Verkehrsverschleierung.
Es gibt Forks von ssR auf libev und anderen Plattformen. Der geringe Durchsatz liegt wahrscheinlich an der Programmiersprache. Das ursprüngliche Shadowsox auf Python ist nicht viel schneller.
ShadowsocksR: Download 582 Mbit; Upload 541 Mbit.
Shadowsocks
Chinesisches Tool zum Umgehen von Blockaden, zur Randomisierung des Datenverkehrs und anderen wunderbaren Möglichkeiten, automatische Analysen zu verhindern. Bis vor kurzem wurde GFW nicht blockiert. Es heißt, dass es jetzt nur blockiert wird, wenn Sie UDP-Relay aktivieren.
Plattformübergreifend (es gibt Clients für jede Plattform), unterstützt die Arbeit mit PT wie Tor-Obfuscatoren, verfügt über mehrere eigene oder angepasste Obfuscatoren, schnell.
Es gibt zahlreiche Implementierungen von Shadowsocks-Clients und -Servern in verschiedenen Sprachen. Im Test fungierte Shadowsocks-libev als Server, die Clients waren unterschiedlich. Der schnellste Linux-Client war Shadowsocks2 unter Go, der als Standardclient in Streisand verteilt wurde. Wie viel produktiver Shadowsocks-Windows ist, kann ich nicht beurteilen. In den meisten nachfolgenden Tests wurde Shadowsocks2 als Client verwendet. Screenshots von Tests mit reinem Shadowsocks-libev wurden aufgrund der offensichtlichen Verzögerung dieser Implementierung nicht erstellt.
Shadowsocks2: Download – 1876 MBit; Upload – 1981 Mbit/s.
shadowsocks-rust: Download – 1605 Mbit/s; Upload – 1895 Mbit/s.
Shadowsocks-libev: Download – 1584 Mbit/s; Upload – 1265 Mbit/s.
Einfache obfs
Ein Plugin für ShadowSocks, das derzeit „veraltet“ ist, aber immer noch funktioniert (wenn auch nicht immer einwandfrei). Weitgehend ersetzt durch das v2ray-Plugin. Verschleiert den Datenverkehr entweder als HTTP-Websocket (und ermöglicht das Fälschen des Zielheaders, indem man vorgibt, nicht PornHub, sondern beispielsweise die Website der Verfassung der Russischen Föderation anzusehen) oder als Pseudo-TLS (Pseudo, da es keine Zertifikate verwendet; einfachste DPI wie das kostenlose nDPI erkennt es als „tls no cert“. Im TLS-Modus ist das Fälschen von Headern nicht mehr möglich).
Es ist schnell genug, kann mit einem Befehl aus dem Repo installiert werden, ist sehr einfach zu konfigurieren und verfügt über eine integrierte Failover-Funktion (wenn Datenverkehr von einem Nicht-Simple-OBFs-Client auf dem Port eingeht, auf dem Simple-OBFs lauscht, leitet es ihn an die Adresse weiter, die Sie in den Einstellungen angeben – auf diese Weise können Sie beispielsweise die manuelle Überprüfung von Port 80 vermeiden, indem Sie einfach eine Umleitung auf eine Website mit HTTP vornehmen, sowie das Blockieren über Verbindungstests).
shadowsockss-obfs-tls: Download – 1618 Mbit/s; Upload 1971 Mbit/s.
shadowsockss-obfs-http: Download – 1582 Mbit/s; Upload – 1965 Mbit/s.
Simple-OBFs im HTTP-Modus funktioniert auch über einen CDN-Reverse-Proxy (z. B. Cloudflare). Für unseren Provider sieht der Datenverkehr dann wie unverschlüsselter HTTP-Traffic aus. Dadurch können wir unseren Tunnel besser verbergen und gleichzeitig die Ein- und Austrittspunkte des Datenverkehrs trennen – der Provider sieht, dass Ihr Datenverkehr in die entgegengesetzte Richtung fließt. IP-Adressen Das CDN und die extremen Likes für die Bilder werden aktuell von der VPS-IP-Adresse platziert. Es ist zu beachten, dass C-OBFS über CF inkonsistent ist und beispielsweise gelegentlich bestimmte HTTP-Ressourcen nicht öffnen kann. So war beispielsweise der Upload-Test mit iperf über shadowsockss-obfs+CF erfolglos, aber den Speedtest-Ergebnissen zufolge ist der Durchsatz vergleichbar mit shadowsocksv2ray-plugin-tls+CF. Ich verzichte auf Screenshots von iperf3, da diese nicht empfohlen werden.
Download (Geschwindigkeitstest) – 887; Upload (Geschwindigkeitstest) – 1154.
Herunterladen (iperf3) – 1625; Hochladen (iperf3) – NA.
v2ray-Plugin
Das V2ray-Plugin hat simple-obfs als offiziellen Obfuscator für SS-Libs abgelöst. Im Gegensatz zu simple-obfs ist es noch nicht in den Repositories verfügbar. Sie müssen entweder eine vorgefertigte Binärdatei herunterladen oder selbst kompilieren.
Unterstützt 3 Betriebsmodi: Standard, http-websocket (mit Unterstützung für das Spoofing von Zielhost-Headern); tls-websocket (im Gegensatz zu c-obfs ist dies vollwertiger TLS-Verkehr, der von jedem Reverse-Proxy-Webserver erkannt wird und Ihnen beispielsweise ermöglicht, die TLS-Terminierung auf Cloudflyer-Servern oder in Nginx zu konfigurieren); quic – funktioniert über UDP, aber leider ist die Leistung von quic in v2ray sehr gering.
Vorteile gegenüber Simple-OBFs: Das v2ray-Plugin funktioniert problemlos über CF im HTTP-Websocket-Modus mit beliebigem Datenverkehr, im TLS-Modus handelt es sich um vollwertigen TLS-Datenverkehr und erfordert Zertifikate für die Arbeit (z. B. von Let's Encrypt oder selbstsigniert).
shadowsocksv2ray-plugin-http: Download – 1404 Mbit/s; Upload 1938 Mbit/s.
shadowsocksv2ray-plugin-tls: Download – 1214 Mbit/s; Upload 1898 Mbit/s.
shadowsocksv2ray-plugin-quic: Download – 183 Mbit/s; Upload 384 Mbit/s.
Wie bereits erwähnt, kann v2ray Header setzen und somit über ein Reverse-Proxy-CDN (z. B. Cloudflyer) genutzt werden. Dies erschwert einerseits die Tunnelerkennung, kann andererseits die Verzögerung leicht erhöhen (und manchmal auch verringern) – alles hängt von Ihrem Standort und den Servern ab. CF testet derzeit die Arbeit mit quic, aber dieser Modus ist noch nicht verfügbar (zumindest nicht für kostenlose Konten).
shadowsocksv2ray-plugin-http+CF: Download – 1284 Mbit; Upload 1785 Mbit.
shadowsocksv2ray-plugin-tls+CF: Download – 1261 Mbit/s; Upload 1881 Mbit/s.
Mantel
Die Uhr ist das Ergebnis einer Weiterentwicklung des GoQuiet-Obfuscators. Sie simuliert TLS-Verkehr und funktioniert entsprechend über TCP. Aktuell hat der Autor die zweite Version des Plugins, Cloak-2, veröffentlicht, die sich deutlich von der ursprünglichen Uhr unterscheidet.
Laut dem Entwickler nutzte die erste Version des Plugins den TLS 1.2-Resume-Session-Mechanismus, um die Zieladresse für TLS zu fälschen. Nach der Veröffentlichung der neuen Version (clock-2) wurden alle Wiki-Seiten auf GitHub, die diesen Mechanismus beschrieben, entfernt; in der aktuellen Beschreibung der Verschlüsselung/Verschleierung findet sich kein Hinweis darauf. Laut der Beschreibung des Autors wird die erste Version von clock aufgrund kritischer Schwachstellen in der Verschlüsselung nicht verwendet. Zum Testzeitpunkt gab es nur die erste Version von Cloak, deren Binärdateien sich noch auf GitHub befinden. Kritische Schwachstellen sind zudem nicht von großer Bedeutung, da Shadowsox den Datenverkehr auf die gleiche Weise wie ohne clock verschlüsselt und Cloak die Verschlüsselung von Shadowsox nicht beeinflusst.
shadowsockscloak: Download – 1533; Upload – 1970 Mbit
Kcptun
kcptun verwendet als Transport und ermöglicht in einigen Sonderfällen einen höheren Durchsatz. Leider (oder glücklicherweise) ist dies vor allem für Benutzer aus China relevant, wo einige Mobilfunkbetreiber TCP drosseln und UDP in Ruhe lassen.
Kcptun ist extrem ressourcenintensiv und lädt beim Test mit einem Client problemlos vier Zion-Kerne zu 100 %. Außerdem ist das Plugin „langsam“ und beendet die Tests bei der Arbeit mit iperf4 nicht vollständig. Wir orientieren uns am Geschwindigkeitstest im Browser.
shadowsockskcptun: Download (Geschwindigkeitstest) – 546 Mbit/s; Upload (Geschwindigkeitstest) 854 MBit/s.
Fazit
Benötigen Sie ein einfaches, schnelles VPN, um den Datenverkehr Ihrer gesamten Maschine abzusichern? Dann ist Wareguard die richtige Wahl. Wünschen Sie einen Proxy (für selektives Tunneling oder die Trennung virtueller Personenströme) oder ist Ihnen die Verschleierung des Datenverkehrs vor schwerwiegenden Blockaden wichtiger? Dann sehen Sie sich ShadowSox mit TLSHTTP-Verschleierung an. Möchten Sie sicher sein, dass Ihr Internet so lange funktioniert, wie es überhaupt funktioniert? Entscheiden Sie sich für die Proxy-Leitung des Datenverkehrs über wichtige CDNs, deren Blockierung zum Ausfall der Hälfte des Internets im Land führen würde.
Pivot-Tabelle, Sortieren nach Download
Source: habr.com
