Angesichts der zunehmenden EinschrĂ€nkungen, die uns den Zugang zu verschiedenen Online-Ressourcen verwehren, wird die Frage des Umgehens von Blockaden immer relevanter. Das bedeutet auch, dass die Frage âWie kann ich Blockaden schneller umgehen?â immer drĂ€ngender wird.
Lassen wir das Thema der Effizienz beim Umgehen von DPI-Whitelist- und -Blacklist-Systemen fĂŒr einen anderen Anlass und vergleichen wir einfach die LeistungsfĂ€higkeit populĂ€rer Tools zur Umgehung von Blockaden.
Achtung: In dem Artikel werden unter den Spoilern viele Bilder zu finden sein.
Haftungsausschluss: Dieser Artikel vergleicht die Leistung gĂ€ngiger VPN- und Proxy-Lösungen unter Bedingungen, die 'idealen' Szenarien nahekommen. Die hier dargestellten Ergebnisse mĂŒssen nicht mit deinen Ergebnissen ĂŒbereinstimmen, da die Zahlen auf dem Speedtest oft nicht nur von der LeistungsfĂ€higkeit des Umgehungstools abhĂ€ngen, sondern auch davon, wie dein Provider es drosselt oder blockiert.
Methodologie
Bei dem Cloud-Anbieter (DO) wurden 3 VPS in verschiedenen LĂ€ndern der Welt erworben. 2 in den Niederlanden, 1 in Deutschland. Es wurden die leistungsfĂ€higsten VPS (nach Anzahl der Kerne) aus den fĂŒr das Konto verfĂŒgbaren Angeboten mit Gutschein-Credits ausgewĂ€hlt.
Auf dem ersten niederlÀndischen Server wurde ein privater iperf3-Server eingerichtet.
Auf dem zweiten niederlÀndischen Server werden nacheinander verschiedene Umgehungstools-Server eingerichtet.
Auf dem deutschen VPS wurde ein Desktop-Linux-Image (Xubuntu) mit VNC und virtuellem Desktop installiert. Dieser VPS fungiert als bedingter Client, und darauf werden nacheinander verschiedene Proxy-VPN-Clients installiert und gestartet.
Die Geschwindigkeitstests werden dreimal durchgefĂŒhrt, wobei wir uns an den Durchschnitt orientieren und drei Tools verwenden: im Chromium ĂŒber den Web-Speedtest; im Chromium ĂŒber fast.com; aus der Konsole ĂŒber iperf3 in der Proxy-Chain (wo der iperf3-Traffic in den Proxy geschleust werden muss).
Die direkte Verbindung zwischen dem 'Client'-Server iperf3 bietet eine Geschwindigkeit von 2 Gbit/s in iperf3 und etwas weniger im Fast-Speedtest.
Ein neugieriger Leser könnte fragen: âWarum hast du nicht speedtest-cli gewĂ€hlt?â und hĂ€tte damit recht.
Der Speedtest hat sich als unzuverlĂ€ssiges und unangemessenes Mittel zur Messung der Bandbreite erwiesen, aus mir unbekannten GrĂŒnden. Drei aufeinanderfolgende Messungen konnten drei völlig unterschiedliche Ergebnisse liefern oder zeigten beispielsweise eine Bandbreite, die viel höher war als die Geschwindigkeit der Ports meiner VPS. Vielleicht liegt das an meiner Ungeschicklichkeit, aber mit einem solchen Werkzeug zu arbeiten, erschien mir unmöglich.
Was die Ergebnisse der drei Messmethoden (Speedtest, Fast, iperf) betrifft, halte ich die iperf-Werte fĂŒr die genauesten und zuverlĂ€ssigsten, wĂ€hrend der Fast-Speedtest eher als Referenz dient. Allerdings erlaubten einige Umgehungswerkzeuge nicht, die drei Messungen ĂŒber iperf3 abzuschlieĂen; in solchen FĂ€llen kann man sich am Fast-Speedtest orientieren.
Der Speedtest liefert unterschiedliche Ergebnisse.
Werkzeugset
Insgesamt wurden 24 verschiedene Umgehungswerkzeuge und/oder deren Kombinationen getestet. Zu jedem werde ich kurze ErlĂ€uterungen und meine EindrĂŒcke von der Arbeit mit ihnen geben. GrundsĂ€tzlich war das Ziel, die Geschwindigkeiten von Shadowsocks (und einer Vielzahl verschiedener Obfuskatoren dafĂŒr), OpenVPN und WireGuard zu vergleichen.
In diesem Material werde ich nicht detailliert auf die Frage eingehen, wie man den Traffic am besten verstecken kann, um nicht abgeschaltet zu werden, da das Umgehen von Blockaden eine reaktive MaĂnahme ist â wir passen uns dem an, was die Zensur verwendet, und handeln entsprechend.
Ergebnisse
Strongswanipsec
Meiner Erfahrung nach ist die Einrichtung sehr einfach und es funktioniert ziemlich stabil. Zu den Vorteilen gehört, dass es tatsĂ€chlich plattformĂŒbergreifend ist, ohne dass man Clients fĂŒr jede Plattform suchen muss.
download â 993 Mbit/s; upload â 770 Mbit/s
SSH-Tunnel
Ăber die Nutzung von SSH als Tunnelwerkzeug hat wahrscheinlich nur der Faulste nicht geschrieben. Ein Nachteil ist die âUmstĂ€ndlichkeitâ der Lösung, d.h. man kann es nicht aus einem bequemen, schönen Client auf jeder Plattform einrichten. Zum Vorteil zĂ€hlt die gute Leistung, es ist ĂŒberhaupt nicht erforderlich, etwas auf dem Server zu installieren.
download â 1270 Mbit/s; upload â 1140 Mbit/s
OpenVPN
OpenVPN wurde in 4 Betriebsmodi getestet: tcp, tcp+sslh, tcp+stunnel, udp.
Die OpenVPN-Server wurden automatisch mit der Installation von Streisand eingerichtet.
Wie man beurteilen kann, ist derzeit nur der Betrieb ĂŒber Stunnel resistent gegen fortgeschrittene DPI. Der Grund fĂŒr den anomal hohen Durchsatz bei der Kapselung von OpenVPN-TCP in Stunnel ist mir unklar. Die Tests wurden in mehreren DurchgĂ€ngen, zu verschiedenen Zeiten und an verschiedenen Tagen durchgefĂŒhrt, das Ergebnis war dasselbe. Möglicherweise hĂ€ngt es mit den Netzwerkeinstellungen zusammen, die beim Deployen von Streisand festgelegt werden. Schreiben Sie, wenn Sie Ideen haben, warum das so ist.
openvpntcp: Download â 760 Mbit/s; Upload â 659 Mbit/s
openvpntcp+sslh: Download â 794 Mbit/s; Upload â 693 Mbit/s
openvpntcp+stunnel: Download â 619 Mbit/s; Upload â 943 Mbit/s
openvpnudp: Download â 756 Mbit/s; Upload â 580 Mbit/s
Openconnect
Nicht das beliebteste Tool zum Umgehen von Blockierungen, es ist Teil des Streisand-Pakets, deshalb wurde beschlossen, es auch zu testen.
Download â 895 Mbit/s; Upload â 715 Mbit/s
Wireguard
Ein gehyptes Tool, das bei westlichen Nutzern beliebt ist, die Protokollentwickler haben sogar einige Fördermittel von Schutzfonds fĂŒr die Entwicklung erhalten. Es funktioniert als Kernel-Modul unter Linux, ĂŒber UDP. Seit kurzem gibt es auch Clients fĂŒr Windows und iOS.
Vom Entwickler als einfache, schnelle Möglichkeit gedacht, Netflix auĂerhalb der USA zu schauen.
Hier sind die Vor- und Nachteile. Vorteile â ein sehr schnelles Protokoll und die relative Einfachheit der Installation und Konfiguration. Nachteile â der Entwickler hat es ursprĂŒnglich nicht mit dem Ziel entwickelt, ernsthafte Blockaden zu umgehen, weshalb WireGuard leicht mit den einfachsten Werkzeugen, einschlieĂlich Wireshark, erkannt werden kann.
WireGuard-Protokoll in Wireshark
Download â 1681 Mbit/s; Upload 1638 Mbit/s
Interessanterweise wird das WireGuard-Protokoll in dem Drittanbieter-Client Tunsafe verwendet, der bei Verwendung mit demselben WireGuard-Server deutlich schlechtere Ergebnisse liefert. Es ist gut möglich, dass auch der Windows-Client von WireGuard Àhnliche Ergebnisse liefert:
Tunsafe-Client: Download â 1007 Mbit/s; Upload â 1366 Mbit/s
OutlineVPN
Outline ist eine Implementierung eines Shadowsocks-Servers und -Clients mit einer schönen und benutzerfreundlichen GUI von Googles Jigsaw. Unter Windows besteht der Outline-Client einfach aus einer Sammlung von Wrappern fĂŒr die Binaries von Shadowsocks-local (Shadowsocks-libev-Client) und BadVPN (tun2socks-Binary, das gesamten Verkehr des Computers in einen lokalen SOCKS-Proxy leitet).
Einst war Shadowsocks resistent gegen die Great Firewall von China, aber laut den neuesten Berichten ist das nicht mehr der Fall. Im Gegensatz zu Shadowsocks unterstĂŒtzt es 'out-of-the-box' keine ObfuskationsanschlĂŒsse ĂŒber Plugins, aber das kann man manuell erledigen, indem man sich mit Server und Client beschĂ€ftigt.
Download â 939 Mbit/s; Upload â 930 Mbit/s
ShadowsocksR
ShadowsocksR ist ein Fork des originalen Shadowsocks, der in Python geschrieben wurde. Es handelt sich im Grunde um Shadowsocks, dem einige Verkehrsobfuskationsmethoden fest hinzugefĂŒgt wurden.
Es gibt Forks von SSR auf libev und anderen Technologien. Die niedrige Bandbreite könnte wahrscheinlich durch die Programmiersprache verursacht werden. Das originale Shadowsocks in Python ist nicht viel schneller.
ShadowsocksR: Download 582 Mbit/s; Upload 541 Mbit/s.
Shadowsocks
Ein chinesisches Tool zur Umgehung von Zensuren, das den Verkehr randomisiert und auf andere groĂartige Weise die automatische Analyse stört. Bis vor kurzem wurde es von der GFW nicht blockiert, es wird gesagt, dass es jetzt blockiert wird, wenn man UDP-Relay aktiviert.
PlattformĂŒbergreifend (es gibt Clients fĂŒr jede Plattform), unterstĂŒtzt die Arbeit mit PT, Ă€hnlich wie Tor-Obfuskatoren, es gibt einige eigene oder angepasste Obfuskatoren, und es ist schnell.
Es gibt viele Implementierungen von Shadowsocks-Clients und -Servern in verschiedenen Programmiersprachen. Bei den Tests kam als Server shadowsocks-libev zum Einsatz, die Clients waren unterschiedlich. Der schnellste Linux-Client war shadowsocks2 in Go, der als Standard-Client in Streisand verfĂŒgbar ist; wie viel leistungsfĂ€higer shadowsocks-windows ist, kann ich nicht sagen. In den meisten weiteren Tests wurde tatsĂ€chlich shadowsocks2 als Client verwendet. Screenshots der Tests mit der reinen Implementierung von shadowsocks-libev wurden nicht angefertigt, da diese Version offensichtlich hinterherhinkt.
shadowsocks2: Download â 1876 Mbit/s; Upload â 1981 Mbit/s.
shadowsocks-rust: Download â 1605 Mbit/s; Upload â 1895 Mbit/s.
Shadowsocks-libev: Download â 1584 Mbit/s; Upload â 1265 Mbit/s.
Simple-obfs
Ein Plugin fĂŒr Shadowsocks, das derzeit als âdepreciatedâ gilt, aber immer noch funktioniert (wenn auch nicht immer gut). Es wurde gröĂtenteils durch das Plugin v2ray-plugin ersetzt. Es obfuskiert den Traffic entweder unter HTTP-Websockets (und ermöglicht das Spoofen des Ziel-Host-Headers, sodass es aussieht, als ob man beispielsweise die Verfassung der Russischen Föderation und nicht Pornhub besucht) oder unter pseudo-TLS (pseudo, weil keine Zertifikate verwendet werden; einfache DPI, wie das kostenlose nDPI, erkennen es als âTLS ohne Zertifikatâ. Im TLS-Modus ist das Spoofen der Header nicht mehr möglich).
Ziemlich schnell, wird mit einem Befehl aus dem Repository installiert, lĂ€sst sich sehr einfach konfigurieren und verfĂŒgt ĂŒber eine integrierte Failover-Funktion (wenn ein Port, der Simple-Obfs nutzt, Traffic von einem Nicht-Simple-Obfs-Client erhĂ€lt, leitet er ihn an die in den Einstellungen angegebene Adresse weiter â so kann beispielsweise die manuelle ĂberprĂŒfung des Port 80 vermieden werden, indem einfach eine Weiterleitung auf eine Webseite mit HTTP erfolgt, wodurch auch Blockierungen durch Connection-Probleme umgangen werden).
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 kann ebenfalls ĂŒber ein Reverse-Proxy CDN (zum Beispiel Cloudflare) betrieben werden, wodurch der Traffic fĂŒr unseren Anbieter wie reiner HTTP-Texttraffic aussieht, bis er bei Cloudflare ankommt. Das hilft, unseren Tunnel etwas besser zu verstecken und gleichzeitig den Eingang und Ausgang des Traffics zu trennen â der Anbieter sieht, dass dein Traffic in Richtung geht. IP-Adressen CDN, und die extremistischen Likes auf Bildern werden zu diesem Zeitpunkt von der IP-Adresse des VPS gesetzt. Es sei gesagt, dass s-obfs ĂŒber CF nicht einwandfrei funktioniert, da es gelegentlich bestimmte HTTP-Ressourcen nicht öffnet. So konnte beispielsweise der Upload-Test mit iperf ĂŒber shadowsockss-obfs+CF nicht durchgefĂŒhrt werden, aber basierend auf den Speedtest-Ergebnissen liegt die Bandbreite auf dem Niveau von shadowsocksv2ray-plugin-tls+CF. Screenshots mit iperf3 lege ich nicht bei, da man sich nicht darauf verlassen sollte.
Download (Speedtest) â 887; Upload (Speedtest) â 1154.
Download (iperf3) â 1625; Upload (iperf3) â NA.
v2ray-plugin
Der V2ray-Plugin ersetzt simple-obfs als Haupt-âoffiziellenâ Obfuskator fĂŒr ss-libev. Im Gegensatz zu simple-obfs ist er derzeit nicht in den Repositories verfĂŒgbar, und man muss entweder eine vorab gebaute BinĂ€rdatei herunterladen oder selbst kompilieren.
UnterstĂŒtzt 3 Betriebsmodi: Standard, HTTP-WebSocket (mit UnterstĂŒtzung fĂŒr das Spoofing von Host-Headern); TLS-WebSocket (im Gegensatz zu s-obfs handelt es sich hierbei um echten TLS-Verkehr, der von jedem Webserver/Reverse-Proxy erkannt wird und beispielsweise die TLS-Terminierung auf Cloudflare-Servern oder in Nginx ermöglicht); QUIC â arbeitet ĂŒber UDP, aber leider ist die Leistung von QUIC in V2Ray sehr niedrig.
Zu den Vorteilen im Vergleich zu Simple-Obfs gehört, dass das V2Ray-Plugin problemlos ĂŒber CF im HTTP-WebSocket-Modus mit jedem Traffic funktioniert. Im TLS-Modus stellt es echten TLS-Traffic dar und benötigt Zertifikate (zum Beispiel von Letâs Encrypt oder selbstsignierte).
Shadowsocks V2Ray-Plugin-HTTP: Download â 1404 Mbit/s; Upload 1938 Mbit/s.
Shadowsocks V2Ray-Plugin-TLS: Download â 1214 Mbit/s; Upload 1898 Mbit/s.
Shadowsocks V2Ray-Plugin-QUIC: Download â 183 Mbit/s; Upload 384 Mbit/s.
Wie bereits erwĂ€hnt, kann V2Ray Header setzen, wodurch es ĂŒber Reverse-Proxy-CDNs (zum Beispiel Cloudflare) betrieben werden kann. Dies erschwert einerseits die Erkennung des Tunnels, kann andererseits jedoch die Latenz etwas erhöhen (in manchen FĂ€llen sogar reduzieren) â dies hĂ€ngt ganz von Ihrer und der Serverstandorte ab. Derzeit testet CF die Funktion mit QUIC, aber dieser Modus ist momentan nicht verfĂŒgbar (zumindest nicht fĂŒr kostenlose Konten).
Shadowsocks V2Ray-Plugin-HTTP+CF: Download â 1284 Mbit/s; Upload 1785 Mbit/s.
Shadowsocks V2Ray-Plugin-TLS+CF: Download â 1261 Mbit/s; Upload 1881 Mbit/s.
Cloak
Cloak ist das Ergebnis einer weiteren Entwicklung des Obfuskators GoQuiet. Es simuliert TLS-Traffic und funktioniert entsprechend ĂŒber TCP. Derzeit hat der Autor die zweite Version des Plugins, Cloak-2, veröffentlicht, die sich erheblich vom ursprĂŒnglichen Cloak unterscheidet.
Laut dem Entwickler verwendete die erste Version des Plugins den Mechanismus TLS 1.2 Resume Session, um die Zieladresse fĂŒr TLS zu fĂ€lschen. Nach der Veröffentlichung der neuen Version (Cloak-2) wurden alle Wiki-Seiten auf GitHub, die diesen Mechanismus beschrieben, entfernt; in der aktuellen Beschreibung der VerschlĂŒsselungsverschleierung fehlt jede ErwĂ€hnung davon. Laut dem Autor wird die erste Version von Cloak aufgrund âkritischer SicherheitsanfĂ€lligkeiten in der Kryptographieâ nicht mehr verwendet. Zum Zeitpunkt der Tests war nur die erste Version von Cloak verfĂŒgbar, ihre BinĂ€rdateien sind immer noch auf GitHub zu finden. DarĂŒber hinaus sind kritische SicherheitsanfĂ€lligkeiten nicht besonders wichtig, da Shadowsocks den Datenverkehr genauso verschlĂŒsselt, wie es ohne Cloak der Fall ist, und Cloak hat keinen Einfluss auf die Kryptographie von Shadowsocks.
shadowsockscloak: download â 1533; upload â 1970 mbits
Kcptun
kcptun verwendet als Transport und ermöglicht in bestimmten besonderen FĂ€llen eine höhere Bandbreite. Leider (oder zum GlĂŒck) ist dies insbesondere fĂŒr Nutzer aus der VR China relevant, da einige Mobilfunkanbieter dort TCP stark drosseln, wĂ€hrend UDP nicht betroffen ist.
Kcptun ist unglaublich ressourcenintensiv und kann bei einem Test mit einem Client problemlos 100 % von 4 Zion-Kernen auslasten. Zudem ist das Plugin "langsam" und beendet die Tests ĂŒber iperf3 nicht vollstĂ€ndig. Wir orientieren uns am Speedtest im Browser.
shadowsockskcptun: Download (Speedtest) â 546 Mbit/s; Upload (Speedtest) 854 Mbit/s.
Fazit
Benötigen Sie ein einfaches, schnelles VPN, um den gesamten Traffic Ihres GerĂ€ts zu tunneln? Dann ist Ihr Wahl Vaergard. Möchten Sie Proxys (fĂŒr selektives Tunneln oder das Teilen von virtuellen Personenströmen) oder ist es fĂŒr Sie wichtiger, den Traffic vor ernsthaften Blockaden zu tarnen? Dann schauen Sie sich Shadowsocks mit TLS-HTTP-Verschleierung an. Möchten Sie sicherstellen, dass Ihr Internet funktioniert, solange das Internet im Allgemeinen funktioniert? WĂ€hlen Sie das Proxysystem ĂŒber wichtige CDNs, deren Blockierung dazu fĂŒhren könnte, dass die HĂ€lfte des Internets im Land ausfĂ€llt.
Pivot-Tabelle, sortiert nach Download
Quelle: habr.com
