Da uns zunehmend der Zugriff auf verschiedene Ressourcen im Netzwerk verweigert wird, wird die Frage der Umgehung der Blockierung immer dringlicher, was bedeutet, dass die Frage „Wie kann man die Blockierung schneller umgehen?“ immer relevanter wird.
Lassen wir das Thema Effizienz im Hinblick auf die Umgehung von DPI-Whitelists für einen anderen Fall und vergleichen wir einfach die Leistung gängiger Block-Bypass-Tools.
Achtung: Im Artikel werden viele Bilder unter Spoilern enthalten sein.
Haftungsausschluss: In diesem Artikel wird die Leistung gängiger VPN-Proxy-Lösungen unter nahezu „idealen“ Bedingungen verglichen. Die hier erzielten und beschriebenen Ergebnisse stimmen nicht unbedingt mit Ihren Ergebnissen in den Feldern überein. Denn die Zahl im Geschwindigkeitstest hängt oft nicht davon ab, wie leistungsfähig das Bypass-Tool ist, sondern davon, wie Ihr Provider es drosselt.
Methodik
3 VPS wurden von einem Cloud-Anbieter (DO) in verschiedenen Ländern auf der ganzen Welt gekauft. 2 in den Niederlanden, 1 in Deutschland. Der produktivste VPS (nach Anzahl der Kerne) wurde aus den für das Konto verfügbaren VPS im Rahmen des Angebots für Coupon-Gutschriften ausgewählt.
Auf dem ersten niederländischen Server wird ein privater iperf3-Server bereitgestellt.
Auf dem zweiten niederländischen Server werden nacheinander verschiedene Server mit Block-Bypass-Tools bereitgestellt.
Auf dem deutschen VPS wird ein Desktop-Linux-Image (xubuntu) mit VNC und einem virtuellen Desktop bereitgestellt. Dieses VPN ist ein bedingter Client, auf dem nacheinander verschiedene VPN-Proxy-Clients installiert und gestartet werden.
Geschwindigkeitsmessungen werden dreimal durchgeführt, wir konzentrieren uns auf den Durchschnitt, wir verwenden 3 Tools: in Chromium durch einen Web-Geschwindigkeitstest; in Chrom über fast.com; von der Konsole über iperf3 über Proxychains4 (wo Sie iperf3-Verkehr in den Proxy leiten müssen).
Eine direkte Verbindung „Client“-Server iperf3 ergibt eine Geschwindigkeit von 2 Gbit/s in iperf3 und etwas weniger in fastspeedtest.
Ein neugieriger Leser könnte fragen: „Warum haben Sie sich nicht für speedtest-cli entschieden?“ und er wird Recht haben.
Speedtest-cli erwies sich aus mir unbekannten Gründen als unzuverlässig und als unzureichende Methode zur Messung des Durchsatzes. Drei aufeinanderfolgende Messungen könnten zu drei völlig unterschiedlichen Ergebnissen führen oder beispielsweise einen Durchsatz zeigen, der viel höher ist als die Portgeschwindigkeit meines VPS. Vielleicht liegt das Problem an meiner verkrüppelten Hand, aber es schien unmöglich, mit einem solchen Werkzeug zu recherchieren.
Was die Ergebnisse der drei Messmethoden (Speedtest Fastiperf) betrifft, halte ich die iperf-Indikatoren für die genauesten und zuverlässigsten und den Fastspeedtest als Referenz. Einige Bypass-Tools erlaubten es jedoch nicht, drei Messungen über iperf3 durchzuführen. In solchen Fällen können Sie sich auf speedtestfast verlassen.
Geschwindigkeitstest liefert unterschiedliche Ergebnisse
Werkzeuge
Insgesamt wurden 24 verschiedene Bypass-Tools bzw. deren Kombinationen getestet, zu jedem von ihnen gebe ich kleine Erklärungen und meine Eindrücke von der Arbeit damit. Aber im Wesentlichen bestand das Ziel darin, die Geschwindigkeiten von Shadowsocks (und einer Reihe verschiedener Obfuscators dafür), openVPN und Wireguard zu vergleichen.
In diesem Material werde ich nicht im Detail auf die Frage eingehen, „wie man den Verkehr am besten verbirgt, um nicht unterbrochen zu werden“, da die Umgehung der Blockierung eine reaktive Maßnahme ist – wir passen uns an die Verwendung des Zensors an und handeln auf dieser Grundlage.
Ergebnisse
Strongswanipsec
Meiner Meinung nach ist es sehr einfach einzurichten und funktioniert recht stabil. Einer der Vorteile besteht darin, dass es wirklich plattformübergreifend ist, ohne dass für jede Plattform nach Clients 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 Tunneltool geschrieben. Einer der Nachteile ist die „Krücke“ der Lösung, d.h. Die Bereitstellung über einen praktischen, schönen Client auf jeder Plattform wird nicht funktionieren. Die Vorteile sind eine gute Leistung, es ist überhaupt keine Installation auf dem Server erforderlich.
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 man das beurteilen kann, ist derzeit nur der Stunnel-Modus resistent gegen fortgeschrittene DPIs. Der Grund für den abnormalen Anstieg des Durchsatzes beim Einbinden von openVPN-tcp in Stunnel ist mir nicht klar, die Überprüfungen wurden in mehreren Durchläufen zu unterschiedlichen Zeiten und an verschiedenen Tagen durchgeführt, das Ergebnis war das gleiche. Möglicherweise liegt das an den Netzwerk-Stack-Einstellungen, 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
openvpntcp+sslh: Download – 794 MBit; Upload - 693 Mbit
openvpntcp+stunnel: Download – 619 Mbit/s; Upload - 943 Mbit
openvpnudp: Download – 756 MBit; Upload - 580 Mbit
Openconnect
Da es nicht das beliebteste Tool zur Umgehung von Blockaden ist, ist es im Streisand-Paket enthalten, weshalb wir beschlossen haben, es ebenfalls zu testen.
Download - 895 Mbit; Upload 715 Mbit/s
Wireguard
Als Hype-Tool, das bei westlichen Nutzern beliebt ist, erhielten die Entwickler des Protokolls sogar einige Zuschüsse für die Entwicklung aus Verteidigungsfonds. Funktioniert als Linux-Kernelmodul über UDP. Kürzlich sind Clients für Windowsios erschienen.
Es wurde vom Ersteller als einfache und schnelle Möglichkeit konzipiert, Netflix anzusehen, wenn man nicht in den USA ist.
Daher die Vor- und Nachteile. Vorteile: sehr schnelles Protokoll, relativ einfache Installation und Konfiguration. Nachteile: Der Entwickler hat es ursprünglich nicht mit dem Ziel entwickelt, schwerwiegende Blockaden zu umgehen, und daher kann Wargard mit den einfachsten Tools, einschließlich. wireshark.
Wireguard-Protokoll in Wireshark
Download - 1681 Mbit; Upload 1638 Mbit/s
Interessanterweise wird das Warguard-Protokoll im Tunsafe-Client eines Drittanbieters verwendet, was bei Verwendung mit demselben Warguard-Server zu deutlich schlechteren Ergebnissen führt. Es ist wahrscheinlich, dass der Windows Wargard-Client die gleichen Ergebnisse zeigt:
tunsafeclient: Download – 1007 MBit; Upload - 1366 Mbit/s
GliederungVPN
Outline ist eine Implementierung eines Shadowox-Servers und -Clients mit einer schönen und praktischen Benutzeroberfläche aus dem Google-Puzzle. In Windows ist der Outline-Client einfach eine Reihe von Wrappern für die Binärdateien „shadowsocks-local“ (shadowsocks-libev-Client) und „badvpn“ (tun2socks-Binärdatei, die den gesamten Maschinenverkehr an einen lokalen Socks-Proxy weiterleitet).
Shadowsox war einst resistent gegen die Great Firewall of China, aber aktuellen Bewertungen zufolge ist dies nicht mehr der Fall. Im Gegensatz zu ShadowSox unterstützt es standardmäßig keine Verbindungsverschleierung durch Plugins, dies kann jedoch manuell durch Basteln am Server und Client erfolgen.
Download – 939 Mbit; Upload - 930 Mbit/s
ShadowsocksR
ShadowsocksR ist eine Abzweigung der ursprünglichen Shadowsocks, geschrieben in Python. Im Wesentlichen handelt es sich um eine Shadowbox, an die mehrere Methoden zur Verschleierung des Datenverkehrs gekoppelt sind.
Es gibt Abzweigungen von ssR zu libev und noch etwas anderem. Der geringe Durchsatz ist wahrscheinlich auf die Codesprache zurückzuführen. Der ursprüngliche Shadowsox auf Python ist nicht viel schneller.
ShadowsocksR: Download 582 Mbit; Upload 541 Mbit.
Shadowsocks
Ein chinesisches Block-Bypass-Tool, das den Datenverkehr randomisiert und auf andere wunderbare Weise in die automatische Analyse eingreift. Bis vor kurzem wurde GFW nicht blockiert; jetzt heißt es, dass es nur blockiert wird, wenn das UDP-Relay eingeschaltet ist.
Plattformübergreifend (es gibt Clients für jede Plattform), unterstützt die Arbeit mit PT ähnlich wie Thors Obfuskatoren, es gibt mehrere eigene oder daran angepasste Obfuskatoren, schnell.
Es gibt eine Reihe von Implementierungen von Shadowox-Clients und -Servern in verschiedenen Sprachen. Beim Testen fungierte Shadowsocks-Libev als Server und verschiedene Clients. Der schnellste Linux-Client war Shadowsocks2 On Go, der als Standard-Client in Streisand vertrieben wird. Ich kann nicht sagen, wie viel produktiver Shadowsocks-Windows ist. In den meisten weiteren Tests wurde Shadowsocks2 als Client verwendet. Aufgrund der offensichtlichen Verzögerung dieser Implementierung wurden keine Screenshots zum Testen von reinem Shadowsocks-Libev 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.
Simple-obfs
Das Plugin für Shadowsox befindet sich jetzt im Status „veraltet“, funktioniert aber immer noch (wenn auch nicht immer gut). Weitgehend ersetzt durch das v2ray-Plugin. Verschleiert den Datenverkehr entweder unter einem HTTP-Websocket (und ermöglicht es Ihnen, den Zielheader zu fälschen und so zu tun, als würden Sie sich keinen Pornhub ansehen, sondern beispielsweise die Website der Verfassung der Russischen Föderation) oder unter Pseudo-TLS (Pseudo , da keine Zertifikate verwendet werden, werden die einfachsten DPI wie z. B. kostenlose nDPI als „tls no cert“ erkannt. Im TLS-Modus ist es nicht mehr möglich, Header zu fälschen.
Ziemlich schnell, mit einem Befehl aus dem Repo installiert, sehr einfach konfiguriert, verfügt über eine integrierte Failover-Funktion (wenn Datenverkehr von einem Nicht-Simple-OBFS-Client an den Port kommt, den Simple-OBFS abhört, leitet er ihn an die Adresse weiter wo Sie in den Einstellungen angeben – etwa so. Auf diese Weise können Sie die manuelle Überprüfung von Port 80 vermeiden, indem Sie beispielsweise einfach auf eine Website mit http umleiten, sowie die Blockierung durch Verbindungsprüfungen.
shadowsockss-obfs-tls: Download – 1618 MBit; 1971 MBit hochladen.
shadowsockss-obfs-http: Download – 1582 MBit; Upload - 1965 MBit/s.
Simple-obfs im HTTP-Modus können auch über einen CDN-Reverse-Proxy (z. B. Cloudflare) funktionieren, sodass der Datenverkehr für unseren Anbieter wie HTTP-Klartext-Datenverkehr zu Cloudflare aussieht. Dies ermöglicht es uns, unseren Tunnel etwas besser zu verbergen Gleichzeitig trennen Sie den Eintrittspunkt und den Verkehrsausgang – der Anbieter erkennt, dass Ihr Datenverkehr zur CDN-IP-Adresse geleitet wird, und extremistische Likes auf Bildern werden zu diesem Zeitpunkt von der VPS-IP-Adresse aus platziert. Es muss gesagt werden, dass S-OBFs über CF mehrdeutig funktionieren und beispielsweise regelmäßig einige HTTP-Ressourcen nicht öffnen. Daher war es nicht möglich, den Upload mit iperf über Shadowsockss-obfs+CF zu testen, aber den Ergebnissen des Geschwindigkeitstests nach zu urteilen, liegt der Durchsatz auf dem Niveau von Shadowsocksv2ray-plugin-tls+CF. Ich hänge keine Screenshots von iperf3 an, weil... Sie sollten sich nicht auf sie verlassen.
Download (Geschwindigkeitstest) - 887; Upload (Geschwindigkeitstest) – 1154.
Herunterladen (iperf3) – 1625; Hochladen (iperf3) – NA.
v2ray-plugin
Das V2ray-Plugin hat einfache obfs als wichtigsten „offiziellen“ Verschleierer für SS-Bibliotheken ersetzt. Im Gegensatz zu einfachen obfs befindet es sich noch nicht in den Repositorys und Sie müssen entweder eine vorgefertigte Binärdatei herunterladen oder sie selbst kompilieren.
Unterstützt 3 Betriebsmodi: Standard, HTTP-Websocket (mit Unterstützung für Spoofing-Header des Zielhosts); tls-websocket (im Gegensatz zu s-obfs handelt es sich hierbei um vollwertigen TLS-Verkehr, der von jedem Reverse-Proxy-Webserver erkannt wird und Ihnen beispielsweise die Konfiguration der TLS-Beendigung auf Cloudfler-Servern oder in Nginx ermöglicht); quic – funktioniert über udp, aber leider ist die Leistung von quic in v2rey sehr gering.
Zu den Vorteilen im Vergleich zu einfachen obfs: Das v2ray-Plugin funktioniert problemlos über CF im HTTP-Websocket-Modus mit jedem Datenverkehr, im TLS-Modus handelt es sich um vollwertigen TLS-Datenverkehr, es benötigt für den Betrieb Zertifikate (z. B. von Let's encrypt oder self -unterzeichnet).
shadowsocksv2ray-plugin-http: Download – 1404 MBit; Upload 1938 Mbit.
shadowsocksv2ray-plugin-tls: Download – 1214 MBit; Upload 1898 Mbit.
shadowsocksv2ray-plugin-quic: Download – 183 Mbit/s; Upload 384 Mbit.
Wie ich bereits sagte, kann v2ray Header setzen, sodass Sie damit über ein Reverse-Proxy-CDN (z. B. Cloudfler) arbeiten können. Dies erschwert einerseits die Erkennung des Tunnels, andererseits kann es die Verzögerung leicht erhöhen (und manchmal verringern) – alles hängt von Ihrem Standort und den Servern ab. CF testet derzeit die Arbeit mit quic, dieser Modus ist jedoch noch nicht verfügbar (zumindest für kostenlose Konten).
shadowsocksv2ray-plugin-http+CF: Download – 1284 MBit; Upload 1785 Mbit.
Shadowsocksv2ray-plugin-tls+CF: Download – 1261 MBit; Upload 1881 Mbit.
Mantel
Der Shred ist das Ergebnis einer Weiterentwicklung des GoQuiet Obfuscators. Simuliert TLS-Verkehr und funktioniert über TCP. Derzeit hat der Autor die zweite Version des Plugins cloak-2 veröffentlicht, die sich deutlich vom ursprünglichen Cloak unterscheidet.
Nach Angaben des Entwicklers nutzte die erste Version des Plugins den Resume-Session-Mechanismus von TLS 1.2, 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 beschreiben, gelöscht; in der aktuellen Beschreibung der Verschleierungsverschlüsselung wird davon nichts erwähnt. Laut Beschreibung des Autors wird die erste Version des Shreds nicht verwendet, da „kritische Schwachstellen in der Kryptowährung“ vorliegen. Zum Zeitpunkt der Tests gab es nur die erste Version des Cloaks, seine Binärdateien liegen noch auf Github und außerdem sind kritische Schwachstellen nicht sehr wichtig, denn Shadowsox verschlüsselt den Datenverkehr auf die gleiche Weise wie ohne Cloak, und der Cloac hat keinen Einfluss auf die Krypto von Shadowsox.
Shadowsockscloak: Download - 1533; Upload - 1970 Mbit
Kcptun
verwendet kcptun als Transportmittel
Kcptun ist verdammt stromhungrig und lädt problemlos 100 Zion-Kerne zu 4 %, wenn es von einem Client getestet wird. Darüber hinaus ist das Plugin „langsam“ und führt beim Arbeiten mit iperf1 die Tests nicht bis zum Ende durch. Werfen wir einen Blick auf den Geschwindigkeitstest im Browser.
shadowsockskcptun: Download (Geschwindigkeitstest) – 546 MBit/s; Upload (Geschwindigkeitstest) 854 Mbit/s.
Abschluss
Benötigen Sie ein einfaches, schnelles VPN, um den Datenverkehr von Ihrem gesamten Computer zu stoppen? Dann ist Warguard Ihre Wahl. Möchten Sie Proxys (zum selektiven Tunneln oder zur Trennung virtueller Personenströme) oder ist es für Sie wichtiger, den Datenverkehr vor schwerwiegenden Blockierungen zu schützen? Dann schauen Sie sich Shadowbox mit TLShttp-Verschleierung an. Möchten Sie sicher sein, dass Ihr Internet funktioniert, solange das Internet überhaupt funktioniert? Entscheiden Sie sich für die Weiterleitung des Datenverkehrs über wichtige CDNs. Eine Blockierung würde zum Ausfall der Hälfte des Internets im Land führen.
Pivot-Tabelle, sortiert nach Download
Source: habr.com