WÀhrend der Zugang zu verschiedenen Ressourcen im Internet immer stÀrker eingeschrÀnkt wird, wird die Frage des Umgehens von Sperren immer relevanter. Das bedeutet auch, dass die Frage "Wie kann man Sperren schneller umgehen?" immer aktueller wird.
Lassen wir das Thema Effizienz in Bezug auf das Umgehen von DPI, Whitelists und Blacklists fĂŒr einen anderen Fall und vergleichen einfach die Leistung beliebter Tools zum Umgehen von Sperren.
Achtung: In diesem Artikel wird es unter den Spoilern viele Bilder geben.
Haftungsausschluss: Dieser Artikel vergleicht die Leistung beliebter VPN-Proxy-Lösungen unter nahezu "idealen" Bedingungen. Die hier beschriebenen und erzielten Ergebnisse stimmen möglicherweise nicht mit deinen Ergebnissen im Feld ĂŒberein. Denn die Zahl im Speedtest hĂ€ngt oft nicht davon ab, wie leistungsfĂ€hig das Umgehungstool ist, sondern davon, wie dein Anbieter es drosselt, QoS und blockiert.
Methodologie
Bei einem Cloud-Anbieter (DO) wurden 3 VPS in verschiedenen LĂ€ndern der Welt gekauft. 2 in den Niederlanden, 1 in Deutschland. Es wurde der leistungsfĂ€higste VPS (basierend auf der Anzahl der Kerne) aus den verfĂŒgbaren Angeboten fĂŒr den Account 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 Server von Umgehungswerkzeugen eingerichtet.
Auf dem deutschen VPS wurde ein Image von Desktop-Linux (Xubuntu) mit VNC und virtuellem Desktop installiert. Dieser VPS dient als bedingter Client, auf den nacheinander verschiedene Proxy- und VPN-Clients installiert und ausgefĂŒhrt werden.
Die Geschwindigkeit wird ĂŒber drei Tests gemessen, wobei wir uns auf den Durchschnitt konzentrieren und 3 Tools verwenden: im Chromium ĂŒber einen Web-Speedtest; im Chromium ĂŒber fast.com; aus der Konsole ĂŒber iperf3 ĂŒber die Proxy-Ketten (dort, wo der iperf3-Verkehr durch einen Proxy geleitet werden muss).
Die direkte Verbindung "Client"-Server iperf3 ergibt eine Geschwindigkeit von 2 Gbit/s in iperf3 und etwas weniger im Fast-Speedtest.
Der neugierige Leser könnte fragen: "Warum hast du nicht speedtest-cli gewÀhlt?" und hÀtte damit recht.
Der Speedtest-Klient erwies sich aus mir unbekannten GrĂŒnden als unzuverlĂ€ssiges und unangemessenes Mittel zur Messung der Bandbreite. Drei aufeinanderfolgende Messungen konnten drei völlig unterschiedliche Ergebnisse liefern oder beispielsweise eine Bandbreite anzeigen, die viel höher war als die Geschwindigkeit der Ports meiner VPS. Vielleicht liegt es an meiner Ungeschicklichkeit, aber es erschien mir unmöglich, mit diesem Werkzeug Untersuchungen durchzufĂŒhren.
Was die Ergebnisse der drei Messmethoden (Speedtest, Fast, iperf) betrifft, halte ich die Werte von iperf fĂŒr die genauesten, zuverlĂ€ssigsten und validesten, wĂ€hrend der Fast-Speedtest als Referenzwert dient. Allerdings erlaubten einige Umgehungswerkzeuge nicht, die drei Messungen ĂŒber iperf3 abzuschlieĂen, und in solchen FĂ€llen kann man sich am Speedtest Fast orientieren.
Speedtest liefert unterschiedliche Ergebnisse
Werkzeug
Insgesamt wurden 24 verschiedene Umgehungswerkzeuge und ihre Kombinationen getestet; zu jedem werde ich kurze ErklĂ€rungen und meine EindrĂŒcke von der Arbeit mit ihnen geben. Letztendlich bestand das Ziel darin, die Geschwindigkeiten von Shadowsocks (und diversen verschiedenen Obfuskatoren dafĂŒr), OpenVPN und WireGuard zu vergleichen.
In diesem Material werde ich nicht detailliert auf die Frage eingehen, "wie man den Verkehr am besten versteckt, um nicht abgeschaltet zu werden", da Umgehungen von Blockaden eine reaktive MaĂnahme sind â wir passen uns an das an, was der Zensor verwendet, und handeln entsprechend.
Ergebnisse
Strongswan IPsec
Nach meinen EindrĂŒcken â sehr einfach einzurichten, funktioniert relativ stabil. Positiv hervorzuheben ist, dass es wirklich plattformĂŒbergreifend ist, ohne die Notwendigkeit, Clients fĂŒr jede Plattform zu suchen.
Download â 993 Mbit/s; Upload â 770 Mbit/s
SSH-Tunnel
Ăber die Nutzung von SSH als Tunnelinstrument hat vermutlich nur derjenige nicht geschrieben, der es nicht wollte. Nachteile â "Pfuschenâ als Lösung, d.h. man kann es nicht von einem bequemen, hĂŒbschen Client auf jeder Plattform aus bereitstellen. Vorteile â gute Leistung, es ist ĂŒberhaupt nicht notwendig, etwas auf dem Server zu installieren.
Download â 1270 Mbit/s; Upload â 1140 Mbit/s
OpenVPN
OpenVPN wurde in 4 Betriebsmodi getestet: TCP, TCP+SSHLH, TCP+Stunnel, UDP.
Die Server von OpenVPN wurden automatisch mit der Streisand-Installation eingerichtet.
Soweit ich beurteilen kann, ist derzeit nur der Betrieb ĂŒber Stunnel gegenĂŒber fortschrittlichem DPI stabil. Der Grund fĂŒr die anomal hohe Bandbreite beim Verpacken von OpenVPN-TCP in Stunnel ist mir unklar; die Tests wurden in mehreren DurchgĂ€ngen, zu verschiedenen Zeiten und an unterschiedlichen Tagen durchgefĂŒhrt, das Ergebnis war dasselbe. Möglicherweise hĂ€ngt es mit den Netzwerkkonfigurationen zusammen, die beim Deployen von Streisand festgelegt werden. Schreiben Sie mir, wenn Sie Ideen haben, warum das so ist.
openvpntcp: download â 760 mbits; upload â 659 mbits
openvpntcp+sslh: download â 794 mbits; upload â 693 mbits
openvpntcp+stunnel: download â 619 mbits; upload â 943 mbits
openvpnudp: download â 756 mbits; upload â 580 mbits
Openconnect
Ein nicht sehr populÀres Tool zur Umgehung von Sperren, das Teil des Streisand-Pakets ist, weshalb beschlossen wurde, es ebenfalls zu testen.
download â 895 mbits; upload 715 mbits
Wireguard
Ein trendiges Tool, das bei westlichen Benutzern beliebt ist. Die Entwickler des Protokolls haben sogar einige Fördergelder zur Weiterentwicklung von Schutzfonds erhalten. Es arbeitet als Kernel-Modul unter Linux ĂŒber UDP. Seit kurzem gibt es auch Clients fĂŒr Windows und iOS.
Es wurde vom Ersteller als einfacher und schneller Weg gedacht, um Netflix auĂerhalb der USA zu sehen.
Hieraus ergeben sich Vor- und Nachteile. Vorteile â ein sehr schnelles Protokoll und relative Einfachheit bei der Installation/Einrichtung. Nachteile â der Entwickler hat es ursprĂŒnglich nicht mit dem Ziel entwickelt, ernsthafte Sperren zu umgehen, und daher wird Wireguard problemlos von den einfachsten Tools, einschlieĂlich Wireshark, erkannt.
Das Wireguard-Protokoll in Wireshark
download â 1681 mbits; upload 1638 mbits
Interessanterweise wird das Wireguard-Protokoll in dem Drittanbieter-Client Tunsafe verwendet, der bei Verwendung mit demselben Wireguard-Server viel schlechtere Ergebnisse liefert. Es ist sehr wahrscheinlich, dass der Windows-Client von Wireguard Àhnliche Ergebnisse zeigen wird:
tunsafeclient: download â 1007 mbits; upload â 1366 mbits
OutlineVPN
Outline ist eine Implementierung eines Shadowsocks-Servers und -Clients mit einer schönen und benutzerfreundlichen GUI von Googles Jigsaw. In Windows besteht der Outline-Client einfach aus einer Sammlung von Wrappern fĂŒr die Binaries shadowsocks-local (Client shadowsocks-libev) und badvpn (tun2socks-Binary, das den gesamten Maschinenverkehr in einen lokalen Socks-Proxy leitet).
FrĂŒher war Shadowsocks resistent gegen die groĂe chinesische Firewall, aber nach den neuesten Berichten ist das nicht mehr der Fall. Im Gegensatz zu Shadowsocks unterstĂŒtzt es von Haus aus keine Obfuskation ĂŒber Plugins, aber das kann man hĂ€ndisch erreichen, wenn man sich mit dem Server und dem Client beschĂ€ftigt.
Download â 939 Mbit; Upload â 930 Mbit
ShadowsocksR
ShadowsocksR ist ein Fork des ursprĂŒnglichen Shadowsocks, der in Python geschrieben wurde. Es ist im Wesentlichen ein Shadowsocks, dem mehrere Methoden zur Obfuskation des Traffics fest angeheftet wurden.
Es gibt Forks von ssR auf libev und noch einigen anderen. Die niedrige Bandbreite ist wahrscheinlich durch die Programmiersprache bedingt. Das ursprĂŒngliche Shadowsocks in Python ist nicht viel schneller.
shadowsocksR: Download 582 Mbit; Upload 541 Mbit.
Shadowsocks
Ein chinesisches Werkzeug zum Umgehen von Blockaden, das den Traffic zufĂ€llig macht und auf andere groĂartige Weise die automatische Analyse stört. Bis vor kurzem wurde es von der GFW nicht blockiert, es wird jedoch gesagt, dass es jetzt blockiert wird, wenn man UDP-Relaisezusatz aktiviert.
PlattformĂŒbergreifend (es gibt Clients fĂŒr jede Plattform), unterstĂŒtzt die Arbeit mit PT wie die Obfuskatoren von Tor, es gibt mehrere eigene oder angepasste Obfuskatoren, schnell.
Es gibt eine Vielzahl von Implementierungen von Shadowsocks-Clients und -Servern in verschiedenen Programmiersprachen. Als Server wurde shadowsocks-libev getestet, die Clients waren unterschiedlich. Der schnellste Linux-Client war shadowsocks2 in Go, der als Standardclient in Streisand angeboten wird. Ăber die LeistungsfĂ€higkeit von shadowsocks-windows kann ich nichts sagen. In den meisten weiteren Tests wurde tatsĂ€chlich shadowsocks2 als Client verwendet. Die Screenshots von den Tests mit dem reinen shadowsocks-libev wurden nicht gemacht, aufgrund des offensichtlichen RĂŒckstands dieser Implementierung.
shadowsocks2: Download â 1876 Mbit; Upload â 1981 Mbit.
shadowsocks-rust: Download â 1605 Mbit; Upload â 1895 Mbit.
Shadowsocks-libev: Download â 1584 Mbit; Upload â 1265 Mbit.
Simple-obfs
Ein Plugin zu Shadowsocks, derzeit im Status "depreciated", funktioniert aber immer noch (obwohl nicht immer gut). Es wurde gröĂtenteils durch das Plugin v2ray-plugin ersetzt. Es obfuskiert den Traffic entweder unter HTTP-WebSocket (und erlaubt das Spoofen der Zielhost-Header, sodass es aussieht, als wĂŒrde man nicht Pornhub besuchen, sondern beispielsweise die Verfassung der RF), oder unter pseudo-TLS (pseudo, weil es keine Zertifikate verwendet; einfach DPI-Typen wie das kostenlose nDPI erkennen es als "tls no cert". Im TLS-Modus ist das Spoofen der Header nicht mehr möglich.)
Ziemlich schnell, lĂ€sst sich mit einem einzigen Befehl aus dem Repository installieren, ist sehr einfach einzurichten und verfĂŒgt ĂŒber eine eingebaute Failover-Funktion (wenn der Port, den Simple-Obfs lauscht, Traffic von einem Nicht-Simple-Obfs-Client erhĂ€lt, wird dieser an die Adresse weitergeleitet, die du in den Einstellungen angibst â so kann man manuelle ĂberprĂŒfungen des Ports 80 beispielsweise vermeiden, indem man einfach eine Weiterleitung auf eine HTTP-Website macht, sowie Blockaden durch VerbindungsausfĂ€lle umgehen).
shadowsockss-obfs-tls: Download â 1618 Mbit; Upload 1971 Mbit.
shadowsockss-obfs-http: Download â 1582 Mbit; Upload â 1965 Mbit.
Simple-Obfs im HTTP-Modus kann ebenfalls ĂŒber einen Reverse-Proxy CDN (z. B. Cloudflare) betrieben werden, sodass der Traffic fĂŒr unseren Anbieter wie HTTP-Plaintext-Traffic bis Cloudflare aussieht. Dadurch kann unser Tunnel etwas besser verborgen werden und gleichzeitig die Eingangs- und Ausgangspunkte des Traffics getrennt werden â der Anbieter sieht, dass dein Traffic in Richtung IP-Adresse CDN geht, wĂ€hrend extremistische Likes in diesem Moment von der VPS-IP-Adresse gesetzt werden. Es ist zu sagen, dass Simple-Obfs ĂŒber CF nicht eindeutig funktioniert, manchmal werden beispielsweise einige HTTP-Ressourcen nicht geöffnet. So konnte die Upload-Geschwindigkeit unter Verwendung von iperf ĂŒber shadowsockss-obfs+CF nicht getestet werden, aber laut den Ergebnissen des Speedtests ist die Bandbreite auf dem Niveau von shadowsocksv2ray-plugin-tls+CF. Screenshots von iperf3 fĂŒge ich nicht bei, da man sich nicht darauf verlassen sollte.
Download (Speedtest) â 887; Upload (Speedtest) â 1154.
Download (iperf3) â 1625; Upload (iperf3) â NA.
v2ray-plugin
Das V2ray-Plugin kam als Ersatz fĂŒr Simple-Obfs als Haupt-
offiziellen
Obfuscator fĂŒr SS-Libs. Im Gegensatz zu Simple-Obfs ist es derzeit nicht in den Repositories verfĂŒgbar und man muss entweder eine vorab gebaute BinĂ€rdatei herunterladen oder sie selbst kompilieren. Es unterstĂŒtzt 3 Betriebsmodi: Standard, HTTP-WebSocket (mit UnterstĂŒtzung zum Spoofing von Host-Headern); TLS-WebSocket (im Gegensatz zu Simple-Obfs handelt es sich um echten TLS-Traffic, der von jedem Webserver/Reverse-Proxy erkannt wird und beispielsweise die TLS-Terminierung auf Cloudflare- oder Nginx-Servern ermöglicht); QUIC â arbeitet ĂŒber UDP, aber leider ist die Leistung von QUIC in V2Ray sehr gering. Zu den Vorteilen im Vergleich zu Simple-Obfs: Das V2Ray-Plugin funktioniert problemlos ĂŒber CF im HTTP-WebSocket-Modus mit jedem Traffic, im TLS-Modus handelt es sich um echten TLS-Traffic, der fĂŒr den Betrieb Zertifikate benötigt (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 entsprechend kann man damit ĂŒber Reverse-Proxy-CDN (zum Beispiel Cloudflare) arbeiten. Einerseits erschwert das die Entdeckung des Tunnels, andererseits kann es das Lag etwas erhöhen (manchmal sogar verringern) â das hĂ€ngt ganz von deinem Standort und dem der Server ab. Momentan testet CF die FunktionalitĂ€t mit quic, aber dieses Protokoll ist derzeit noch nicht verfĂŒgbar (zumindest nicht fĂŒr kostenlose Konten).
shadowsocksv2ray-plugin-http+CF: Download â 1284 Mbit/s; Upload 1785 Mbit/s.
shadowsocksv2ray-plugin-tls+CF: Download â 1261 Mbit/s; Upload 1881 Mbit/s.
Cloak
Cloak ist das Ergebnis der Weiterentwicklung des Obfuscators GoQuiet. Er simuliert TLS-Traffic und arbeitet entsprechend ĂŒber TCP. Derzeit hat der Autor die zweite Version des Plugins, cloak-2, veröffentlicht, die sich erheblich vom Original-Cloak unterscheidet.
Laut Informationen des Entwicklers verwendete die erste Version des Plugins den Mechanismus tls 1.2 Resume Session, um die Zieladresse fĂŒr tls zu spoofen. Nach der Veröffentlichung der neuen Version (cloak-2) wurden alle Wiki-Seiten auf GitHub, die diesen Mechanismus beschrieben, entfernt, und im aktuellen Beschreibungstext zur VerschlĂŒsselung/Obfuskation fehlen entsprechende Hinweise. Laut dem Autor wird die erste Cloak-Version aufgrund von "kritischen SicherheitslĂŒcken im Crypto" nicht mehr verwendet. Zum Zeitpunkt der Tests gab es nur die erste Version von Cloak, die BinĂ€rdateien sind immer noch auf GitHub verfĂŒgbar, und zudem sind kritische SicherheitslĂŒcken nicht von groĂer Bedeutung, da Shadowsocks den Traffic genau so verschlĂŒsselt, wie ohne Cloak, und Cloak keinen Einfluss auf die Cryptografie von Shadowsocks hat.
shadowsockscloak: Download â 1533; Upload â 1970 Mbit/s
Kcptun
kcptun verwendet als Transportlayer und ermöglicht in bestimmten besonderen FĂ€llen, die Bandbreite zu erhöhen. Leider (oder zum GlĂŒck) ist dies vor allem fĂŒr Nutzer aus der VR China relevant, da einige Mobilfunkanbieter dort TCP stark drosseln und UDP unbeeintrĂ€chtigt lassen.
Kcptun ist extrem ressourcenhungrig und kann problemlos 100% von 4 Kernen bei Tests mit 1 Client auslasten. DarĂŒber hinaus ist das Plugin "langsam" und beendet bei der Arbeit mit iperf3 die Tests nicht vollstĂ€ndig. Wir orientieren uns daher an den Speedtests im Browser.
shadowsockskcptun: Download (Speedtest) â 546 Mbit/s; Upload (Speedtest) 854 Mbit/s.
Fazit
Brauchen Sie ein einfaches, schnelles VPN, um den gesamten Datenverkehr Ihres GerĂ€ts zu tunneln? Dann ist Ihre Wahl â Vaergard. Möchten Sie ein Proxy fĂŒr selektives Tunneling oder die Aufteilung von Streams fĂŒr virtuelle Personen, oder ist es Ihnen wichtiger, den Datenverkehr vor strengen Blockaden zu verschleiern? Dann schauen Sie sich Shadowsocks mit TLS-HTTP-VerschlĂŒsselung an. Möchten Sie sicherstellen, dass Ihr Internet funktioniert, solange das Internet ĂŒberhaupt funktioniert? WĂ€hlen Sie das Tunneln des Datenverkehrs ĂŒber wichtige CDNs, deren Blockierung dazu fĂŒhren wĂŒrde, dass in Ihrem Land die HĂ€lfte des Internets nicht mehr funktioniert.
Ăbersichtstabelle, sortiert nach Downloads
Quelle: habr.com
