Comparaison des performances des outils de contournement des blocages VPN

À mesure que l'accĂšs Ă  divers ressources en ligne est de plus en plus restreint, la question du contournement des blocages devient de plus en plus pertinente, et donc la question « Comment contourner les blocages plus rapidement ? » devient cruciale.

Laissons de cÎté le sujet de l'efficacité, du point de vue du contournement des listes blanches et des listes noires, pour un autre cas, et comparons simplement les performances des outils populaires de contournement des blocages.

Attention : Cet article contient de nombreuses images sous les spoilers.

Avertissement : Cet article compare les performances de solutions VPN et proxy populaires, dans des conditions proches de l'« idéal ». Les résultats obtenus et décrits ici ne coïncident pas nécessairement avec vos résultats sur le terrain. Car le chiffre affiché dans le test de vitesse dépend souvent non pas de l'efficacité de l'outil de contournement, mais de la façon dont votre fournisseur le limite, le bloque ou applique QoS.

Méthodologie

Un fournisseur cloud (DO) a achetĂ© 3 VPS dans diffĂ©rents pays du monde. 2 aux Pays-Bas, 1 en Allemagne. Les VPS les plus performants (en nombre de cƓurs) ont Ă©tĂ© choisis parmi ceux disponibles pour le compte grĂące Ă  des crĂ©dits promotionnels.

Un serveur iperf3 privé est déployé sur le premier serveur néerlandais.

Sur le deuxiÚme serveur néerlandais, divers serveurs d'outils de contournement sont déployés successivement.

Sur le VPS allemand, une image de Linux de bureau (xubuntu) avec VNC et un bureau virtuel est déployée. Ce VPS sert de client conditionnel, et divers clients de proxies et VPS y sont successivement installés et lancés.

Les mesures de vitesse sont effectuĂ©es Ă  trois reprises, et nous nous basons sur la moyenne, en utilisant 3 outils : dans Chromium via un test de vitesse web ; dans Chromium via fast.com ; depuis la console via iperf3 Ă  travers chaines de proxy (lĂ  oĂč il faut insĂ©rer le trafic iperf3 dans le proxy).

Une connexion directe « client »-serveur iperf3 donne une vitesse de 2 Gbps dans iperf3, et légÚrement moins dans le test de vitesse rapide.

Le lecteur curieux peut se demander « Pourquoi n'as-tu pas choisi speedtest-cli ? » et il aura raison.

Le test de vitesse s'est avĂ©rĂ© ĂȘtre un moyen peu fiable et inappropriĂ© pour mesurer la bande passante, pour des raisons qui me sont inconnues. Trois mesures consĂ©cutives pouvaient donner trois rĂ©sultats complĂštement diffĂ©rents, ou par exemple montrer une bande passante bien supĂ©rieure Ă  la vitesse des ports de mes VPS. Peut-ĂȘtre que le problĂšme vient de ma maladresse, mais il m'a semblĂ© impossible de mener des recherches avec cet outil.

En ce qui concerne les résultats des trois méthodes de mesure (speedtest, fast, iperf), je considÚre que les indicateurs d'iperf sont les plus précis, fiables et fiables, tandis que fast speedtest représente simplement des références. Cependant, certains outils de contournement n'ont pas permis de réaliser 3 mesures via iperf3, et dans ces cas, on peut se fier à speedtest ou fast.

Le speedtest donne des résultats différentsComparaison des performances des outils de contournement des blocages VPN

Outils

Au total, 24 outils de contournement différents et/ou leurs combinaisons ont été testés, et je vais donner de courtes explications et mes impressions sur chacun d'eux. Mais en substance, l'objectif était de comparer les vitesses de shadowsocks (et de nombreux obfuscateurs différents pour cela), openVPN et wireguard.

Dans ce matĂ©riel, je ne vais pas aborder en dĂ©tail la question de 'comment mieux cacher le trafic pour ne pas ĂȘtre dĂ©connectĂ©', car le contournement des blocages est une mesure rĂ©active — nous nous adaptons Ă  ce que l'agent de censure utilise et agissons en consĂ©quence.

Résultats

Strongswanipsec

D'aprĂšs mes impressions — trĂšs facile Ă  configurer, fonctionne assez stablement. Parmi les points positifs — vĂ©ritablement multiplateforme, sans avoir besoin de chercher des clients pour chaque plateforme.

tĂ©lĂ©chargement — 993 mbits; upload — 770 mbitsComparaison des performances des outils de contournement des blocages VPN

Tunnel SSH

Peu d'articles n'ont probablement pas mentionnĂ© l'utilisation de SSH comme outil de tunnel. Parmi les inconvĂ©nients — la nature 'bricolage' de la solution, c'est-Ă -dire qu'il n'est pas possible de le dĂ©ployer Ă  partir d'un client confortable et esthĂ©tique sur chaque plateforme. En revanche, la performance est bonne, et il n'est pas nĂ©cessaire d'installer quoi que ce soit sur le serveur.

tĂ©lĂ©chargement — 1270 mbits; upload — 1140 mbitsComparaison des performances des outils de contournement des blocages VPN

OpenVPN

OpenVPN a été testé en 4 modes de fonctionnement : tcp, tcp+sslh, tcp+stunnel, udp.

Les serveurs OpenVPN ont été configurés automatiquement en installant streisand.

Il semble que, pour l'instant, seul le mode de fonctionnement via Stunnel soit rĂ©sistant aux DPI avancĂ©s. La raison de l'augmentation anormale de la bande passante lors de l'encapsulation d'OpenVPN-TCP dans Stunnel n'est pas claire pour moi, des tests ont Ă©tĂ© effectuĂ©s Ă  plusieurs reprises, Ă  diffĂ©rents moments et jours, et le rĂ©sultat Ă©tait le mĂȘme. Cela pourrait ĂȘtre liĂ© aux paramĂštres de la pile rĂ©seau Ă©tablis lors du dĂ©ploiement de Streisand, Ă©crivez-moi s'il y a des idĂ©es sur la raison de ce phĂ©nomĂšne.

openvpntcp : tĂ©lĂ©chargement — 760 mbits ; tĂ©lĂ©versement — 659 mbitsComparaison des performances des outils de contournement des blocages VPN

openvpntcp+sslh : tĂ©lĂ©chargement — 794 mbits ; tĂ©lĂ©versement — 693 mbitsComparaison des performances des outils de contournement des blocages VPN

openvpntcp+stunnel : tĂ©lĂ©chargement — 619 mbits ; tĂ©lĂ©versement — 943 mbitsComparaison des performances des outils de contournement des blocages VPN

openvpnudp : tĂ©lĂ©chargement — 756 mbits ; tĂ©lĂ©versement — 580 mbitsComparaison des performances des outils de contournement des blocages VPN

Openconnect

Ce n'est pas l'outil le plus populaire de contournement des blocages, il fait partie du paquet Streisand, c'est pourquoi il a été décidé de l'essayer aussi.

tĂ©lĂ©chargement — 895 mbits ; tĂ©lĂ©versement 715 mbitsComparaison des performances des outils de contournement des blocages VPN

Wireguard

Un outil tendance, populaire parmi les utilisateurs occidentaux, les dĂ©veloppeurs du protocole ont mĂȘme reçu des subventions pour son dĂ©veloppement de la part de fonds de protection. Il fonctionne comme un module du noyau Linux, via UDP. RĂ©cemment, des clients pour Windows et iOS ont Ă©tĂ© créés.

Conçu par le crĂ©ateur comme un moyen simple et rapide de regarder Netflix en dehors des États-Unis.

VoilĂ  les avantages et les inconvĂ©nients. Avantages — un protocole trĂšs rapide, relativement facile Ă  installer et Ă  configurer. InconvĂ©nients — le dĂ©veloppeur ne l'a pas conçu Ă  l'origine pour contourner des blocages sĂ©rieux, et donc WireGuard est facilement dĂ©tectĂ© par des outils simples, y compris Wireshark.

protocole WireGuard dans WiresharkComparaison des performances des outils de contournement des blocages VPN
tĂ©lĂ©chargement — 1681 mbits ; tĂ©lĂ©versement 1638 mbitsComparaison des performances des outils de contournement des blocages VPN

Ce qui est intĂ©ressant, c'est que le protocole WireGuard est utilisĂ© dans le client tiers Tunsafe, qui, lorsqu'il est utilisĂ© avec le mĂȘme serveur WireGuard, donne des rĂ©sultats beaucoup moins bons. Il est fort probable que le client Windows de WireGuard affichera Ă©galement de tels rĂ©sultats :

tunsafeclient : tĂ©lĂ©chargement — 1007 mbits ; tĂ©lĂ©versement — 1366 mbitsComparaison des performances des outils de contournement des blocages VPN

OutlineVPN

Outline est une implémentation du serveur et du client Shadowsocks avec une belle et pratique interface graphique de Jigsaw de Google. Sur Windows, le client Outline se présente simplement comme un ensemble d'enveloppes pour les binaires Shadowsocks-local (client shadowsocks-libev) et Badvpn (binaire tun2socks, acheminant tout le trafic de la machine vers un proxy SOCKS local).

Autrefois, Shadowsocks Ă©tait rĂ©sistant au grand firewall chinois, mais selon les derniers retours, ce n'est plus le cas. Contrairement Ă  Shadowsocks, « out of the box », il ne supporte pas la connexion d'obfuscation via des plugins, mais cela peut ĂȘtre fait manuellement en bidouillant le serveur et le client.

tĂ©lĂ©chargement — 939 mbits; envoi — 930 mbitsComparaison des performances des outils de contournement des blocages VPN

ShadowsocksR

ShadowsocksR est un fork du Shadowsocks original, écrit en Python. Il s'agit essentiellement de Shadowsocks auquel plusieurs méthodes d'obfuscation du trafic ont été solidement ajoutées.

Il existe des forks de ssR basés sur libev et d'autres technologies. La faible bande passante est probablement due au langage de code. L'original Shadowsocks en Python n'est pas beaucoup plus rapide.

shadowsocksR : téléchargement 582 mbits; envoi 541 mbits.Comparaison des performances des outils de contournement des blocages VPN

Shadowsocks

Un outil chinois de contournement des blocages, randomisant le trafic et utilisant d'autres méthodes remarquables pour contrarier l'analyse automatique. Jusqu'à récemment, il n'était pas bloqué par le GFW, mais il est dit qu'il l'est maintenant, seulement si l'UDP relay est activé.

Multiplateforme (il existe des clients pour n'importe quelle plateforme), supporte le travail avec PT de type obfuscateurs tor, dispose de plusieurs obfuscateurs propres ou adaptés, rapide.

Il existe de nombreuses implĂ©mentations de clients et serveurs Shadowsocks dans diffĂ©rents langages. Dans les tests, le serveur utilisĂ© Ă©tait shadowsocks-libev, avec diffĂ©rents clients. Le client Linux le plus rapide s'est avĂ©rĂ© ĂȘtre shadowsocks2 en Go, distribuĂ© comme client par dĂ©faut dans Streisand, je ne peux pas dire Ă  quel point il est plus performant que shadowsocks-windows. Dans la plupart des tests ultĂ©rieurs, shadowsocks2 a Ă©tĂ© utilisĂ© comme client. Aucun screenshot du test du Shadowsocks-libev pur n'a Ă©tĂ© pris, en raison de l'Ă©vidente infĂ©rioritĂ© de cette implĂ©mentation.

shadowsocks2 : tĂ©lĂ©chargement — 1876 mbits; envoi — 1981 mbits.Comparaison des performances des outils de contournement des blocages VPN

shadowsocks-rust : tĂ©lĂ©chargement — 1605 mbits; envoi — 1895 mbits.Comparaison des performances des outils de contournement des blocages VPN

Shadowsocks-libev : tĂ©lĂ©chargement — 1584 mbits; envoi — 1265 mbits.

Simple-obfs

Plugin pour Shadowsocks, actuellement en statut “dĂ©prĂ©ciĂ©â€ mais fonctionne toujours (bien que pas toujours bien). Il est largement remplacĂ© par le plugin v2ray-plugin. Il obfuscate le trafic soit via le websocket HTTP (permettant de falsifier l'en-tĂȘte de destination, donnant l'impression que vous visitez non pas Pornhub, mais par exemple, le site de la constitution russe) ou via du pseudo-TLS (pseudo, car il n'utilise aucun certificat, les systĂšmes DPI les plus basiques comme le nDPI gratuit le dĂ©tectent comme “tls sans certificat”. En mode tls, la falsification des en-tĂȘtes n'est plus possible).

Assez rapide, s'installe depuis le dépÎt avec une seule commande, se configure trÚs facilement, dispose d'une fonction de basculement intégrée (lorsqu'un trafic provenant d'un client non-simple-obfs arrive sur le port écouté par simple-obfs, il le transfÚre à l'adresse que vous spécifiez dans les paramÚtres - ainsi, vous pouvez éviter la vérification manuelle du port 80 par exemple, en redirigeant simplement vers le site web avec http, et éviter les blocages via les problÚmes de connexion).

shadowsockss-obfs-tls : tĂ©lĂ©chargement — 1618 mbits ; upload 1971 mbits.Comparaison des performances des outils de contournement des blocages VPN

shadowsockss-obfs-http : tĂ©lĂ©chargement — 1582 mbits ; upload — 1965 mbits.Comparaison des performances des outils de contournement des blocages VPN

Simple-obfs en mode http peut Ă©galement fonctionner Ă  travers un CDN reverse proxy (par exemple, Cloudflare), permettant ainsi Ă  notre fournisseur de voir le trafic comme un trafic http en texte clair jusqu'Ă  Cloudflare, ce qui aide Ă  mieux cacher notre tunnel, tout en sĂ©parant le point d'entrĂ©e et de sortie du trafic — le fournisseur voit que votre trafic va vers l'adresse IP du CDN, et des likes extrĂ©mistes sur les images sont marquĂ©s Ă  ce moment-lĂ  avec l'adresse IP du VPS. Il faut dire que le c-obfs via CF fonctionne de maniĂšre ambiguĂ«, ne rendant parfois pas certains ressources http par exemple. Ainsi, il n'a pas Ă©tĂ© possible de tester l'upload en utilisant iperf via shadowsockss-obfs+CF, mais d'aprĂšs les rĂ©sultats du test de vitesse, la bande passante est au niveau de shadowsocksv2ray-plugin-tls+CF. Je ne joins pas de captures d’écran d'iperf3, car il ne faut pas s'y fier. adresse IP et les likes extrĂ©mistes sur les images sont marquĂ©s Ă  ce moment-lĂ  avec l'adresse IP du VPS. Il faut dire que c-obfs via CF fonctionne de maniĂšre ambiguĂ«, ne rendant parfois pas certaines ressources http par exemple. Ainsi, il n'a pas Ă©tĂ© possible de tester l'upload en utilisant iperf via shadowsockss-obfs+CF, mais d'aprĂšs les rĂ©sultats du test de vitesse, la bande passante est au niveau de shadowsocksv2ray-plugin-tls+CF. Je ne joins pas de captures d’écran d'iperf3, car il ne faut pas s'y fier.

tĂ©lĂ©chargement (speedtest) — 887 ; upload (speedtest) — 1154.Comparaison des performances des outils de contournement des blocages VPN

TĂ©lĂ©chargement (iperf3) — 1625 ; upload (iperf3) — NA.

v2ray-plugin

V2ray-plugin a remplacĂ© simple-obfs en tant que principal « obfuscateur officiel » pour ss-libev. Contrairement Ă  simple-obfs, il n'est pas encore disponible dans les dĂ©pĂŽts, et il faut soit tĂ©lĂ©charger un binaire prĂ©compilĂ©, soit le compiler soi-mĂȘme.

Il supporte 3 modes de fonctionnement : par dĂ©faut, http-websocket (avec prise en charge du spoofing des en-tĂȘtes de destination) ; tls-websocket (contrairement Ă  c-obfs, il s'agit d'un vĂ©ritable trafic tls, reconnu par n'importe quel serveur web reverse proxy et permettant par exemple de configurer la terminaison tls sur les serveurs Cloudflare ou dans nginx) ; quic — fonctionne via udp, mais malheureusement, la performance de quic dans v2ray est trĂšs faible.

Par rapport à simple-obfs, les avantages du v2ray-plugin incluent une compatibilité parfaite avec CF en mode http-websocket avec n'importe quel trafic, en mode tls, il représente un véritable trafic tls et nécessite des certificats pour fonctionner (par exemple, de Let's Encrypt ou auto-signés).

shadowsocksv2ray-plugin-http : tĂ©lĂ©chargement — 1404 mbits ; upload 1938 mbits.Comparaison des performances des outils de contournement des blocages VPN

shadowsocksv2ray-plugin-tls : tĂ©lĂ©chargement — 1214 mbits ; upload 1898 mbits.Comparaison des performances des outils de contournement des blocages VPN

shadowsocksv2ray-plugin-quic : tĂ©lĂ©chargement — 183 mbits ; upload 384 mbits.Comparaison des performances des outils de contournement des blocages VPN

Comme je l'ai dĂ©jĂ  mentionnĂ©, v2ray peut ajouter des en-tĂȘtes, et ainsi il peut fonctionner Ă  travers un reverse proxy CDN (par exemple Cloudflare). D'une part, cela complique la dĂ©tection du tunnel, d'autre part, cela peut lĂ©gĂšrement augmenter (ou parfois diminuer) le lag — tout dĂ©pend de votre emplacement et des serveurs. À l'heure actuelle, CF teste le fonctionnement avec quic, mais ce mode n'est pas encore disponible (du moins pour les comptes gratuits).

shadowsocksv2ray-plugin-http+CF : tĂ©lĂ©chargement — 1284 mbits ; upload 1785 mbits.Comparaison des performances des outils de contournement des blocages VPN

shadowsocksv2ray-plugin-tls+CF : tĂ©lĂ©chargement — 1261 mbits ; upload 1881 mbits.Comparaison des performances des outils de contournement des blocages VPN

Cloak

Cloak est le rĂ©sultat d'un dĂ©veloppement supplĂ©mentaire de l'obfuscateur GoQuiet. Il simule le trafic TLS et fonctionne donc via TCP. À l'heure actuelle, l'auteur a publiĂ© la deuxiĂšme version du plugin, cloak-2, qui diffĂšre considĂ©rablement de l'original.

Selon les informations du développeur, la premiÚre version du plugin utilisait le mécanisme tls 1.2 resume session pour usurper l'adresse de destination pour tls. AprÚs la publication de la nouvelle version (cloak-2), toutes les pages wiki sur GitHub décrivant ce mécanisme ont été supprimées, et dans la description actuelle du chiffrement/obfuscation, il n'y a pas de mention de cela. Selon le descriptif de l'auteur, la premiÚre version de cloak n'est plus utilisée en raison de "vulnérabilités critiques dans le cryptage". Au moment des tests, seule la premiÚre version de cloak était disponible, ses binaires sont toujours sur GitHub, et de plus, les vulnérabilités critiques ne sont pas tellement importantes, car Shadowsocks chiffre tout aussi bien le trafic qu'avec ou sans cloak, et cloak n'a pas d'effet sur le cryptage de Shadowsocks.

shadowsockscloak : tĂ©lĂ©chargement — 1533 ; upload — 1970 mbitsComparaison des performances des outils de contournement des blocages VPN

Kcptun

kcptun utilise comme transport le protocole KCP et dans certaines circonstances spécifiques permet d'atteindre une augmentation de la bande passante. Malheureusement (ou heureusement), cela est principalement pertinent pour les utilisateurs de la RPC, certaines compagnies de téléphonie mobile y throttlent agressivement le TCP et ne touchent pas l'UDP.

Kcptun est extrĂȘmement gourmand et peut facilement charger Ă  100 % 4 cƓurs de processeur lors des tests avec un seul client. De plus, le plugin est "lent" et durant les tests avec iperf3, il n'achĂšve pas toujours les tests. Nous nous basons sur le speedtest dans le navigateur.

shadowsockskcptun : tĂ©lĂ©chargement (speedtest) — 546 mbits ; upload (speedtest) 854 mbits.Comparaison des performances des outils de contournement des blocages VPN

Conclusion

Besoin d'un VPN simple et rapide pour chiffrer le trafic de votre machine ? Votre choix est VĂŠrgard. Vous voulez des proxys (pour un tunneling sĂ©lectif ou un partage de flux virtuels) ou prĂ©fĂ©rez-vous camoufler le trafic contre des blocages sĂ©vĂšres ? Dans ce cas, jetez un Ɠil Ă  Shadowsocks avec une obfuscation TLS HTTP. Vous voulez vous assurer que votre internet fonctionne tant que l'internet fonctionne ? Choisissez le proxy des trafics via des CDN importants, dont le blocage entraĂźnera la panne de la moitiĂ© d'internet dans le pays.

tableau récapitulatif, tri par téléchargementComparaison des performances des outils de contournement des blocages VPN

Source : habr.com

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster