Comparaison des outils de contournement \ VPN

Comme nous bloquons de plus en plus activement l'accès aux différentes ressources du réseau, la question du contournement des verrous devient de plus en plus pertinente, ce qui signifie que la question "Comment est-il plus rapide de contourner les verrous?"

Nous allons laisser le sujet de l'efficacité, en termes de contournement DPI \ liste blanche \ liste noire pour un autre cas, et comparer simplement les performances des outils de contournement de verrouillage populaires.

Remarque: Dans l'article sous les spoilers, il y aura de nombreuses photos.

Avertissement: cet article compare les performances des solutions VPN / 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 dans les domaines. Parce que le nombre dans le test de vitesse dépendra souvent non pas de la productivité de l'outil de contournement, mais de la façon dont votre fournisseur étrangle \ QoSit \ le bloque.

Méthodologie


Un fournisseur de cloud (DO) a acheté 3 VPS dans différents pays du monde. 2 aux Pays-Bas, 1 en Allemagne. Les IPN les plus productifs (par le nombre de cœurs) ont été sélectionnés parmi ceux disponibles pour le compte proposé pour les prêts à coupons.

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

Sur le deuxième serveur néerlandais, différents serveurs de verrouillage des outils de contournement sont déployés tour à tour.

À l'UPU allemande a déployé l'image du bureau Linux (xubuntu) avec VNC et un bureau virtuel. Ce VPS est un client conditionnel, et divers clients proxy \ VPN sont lancés / lancés sur celui-ci un par un.

Les mesures de vitesse sont effectuées à partir de trois fois, nous nous concentrons sur la moyenne, nous utilisons 3 outils: en chrome via le test de vitesse web; en chrome via fast.com; depuis la console via iperf3 via le proxy 4 (où vous devez placer le trafic iperf3 dans le proxy).

Une connexion client-serveur directe iperf3 donne une vitesse de 2 Gbps, en iperf3, et un peu moins en test rapide / vitesse.

Un lecteur curieux peut se demander «pourquoi n’avez-vous pas choisi speedtest-cli?» Et il aura raison.

Le test de vitesse-test s'est avéré être un moyen peu fiable / inadéquat de mesurer le débit, pour des raisons que je ne connais pas. Trois mesures consécutives pourraient donner trois résultats complètement différents, ou montrer par exemple un débit beaucoup plus élevé que la vitesse de port de mon IPS. Le problème est peut-être mon strabisme, mais il semblait impossible de mener des recherches avec un tel instrument.

En ce qui concerne les résultats des trois méthodes de mesure (test de vitesse \ rapide \ iperf), je considère que les indicateurs iperf sont les plus précis \ fiables \ fiables, et le test rapide \ vitesse - référence. Mais certains outils de contournement n'ont pas permis d'effectuer 3 mesures via iperf3 et dans de tels cas, vous pouvez vous concentrer sur speedtest / fast.

le test de vitesse donne des résultats différents
image

Boîte à outils


Au total, 24 outils de contournement différents et / ou leurs combinaisons ont été testés, pour chacun d'eux, je donnerai de petites explications et mes impressions de travailler avec eux. Mais essentiellement, l'objectif était de comparer les vitesses des ombres (et des tas d'obscurcisseurs différents) openVPN et wireguard.

Dans cet article, je ne discuterai pas en détail de la question «comment mieux cacher le trafic pour qu'il ne soit pas désactivé», car le contournement des verrous est une mesure réactive - nous nous adaptons à ce que la censure utilise et agissons sur cette base.

Résultats


Strongswan \ ipsec


Selon mes impressions - il est très facile à configurer, il fonctionne de manière assez stable. Des avantages - c'est vraiment multi-plateforme, sans avoir besoin de chercher des clients pour chaque plate-forme.

téléchargement - 993 mbit \ s; téléchargement - 770 mbit \ s


Tunnel Ssh


Seuls les paresseux n'ont probablement pas écrit sur l'utilisation de SSH comme outil de tunnel. Des inconvénients - les «béquilles» de la solution, c'est-à-dire le déployer à partir d'un beau client pratique sur chaque plate-forme échouera. Parmi les avantages est la bonne performance, il n'est pas nécessaire d'installer quoi que ce soit sur le serveur.

téléchargement - 1270 mbit \ s; téléchargement - 1140 mbit \ s

Openvpn


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

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

Autant que l'on puisse en juger, à l'heure actuelle, seul le mode de fonctionnement à travers le tunnel est résistant aux DPI avancés. La raison de l'augmentation anormale du débit lors de l'ouverture du VPN-tcp dans la stannel n'est pas claire pour moi, les vérifications ont été effectuées en plusieurs visites, à des moments et des jours différents, le résultat était le même. Cela est peut-être dû aux paramètres de pile réseau définis lors du déploiement du streysand, écrivez si vous avez des idées pourquoi.

openvpn \ tcp: téléchargement - 760 mbit \ s; téléchargement - 659 mbit \ s


openvpn \ tcp + sslh: téléchargement - 794 mbit \ s; téléchargement - 693 mbit \ s


openvpn \ tcp + stunnel: téléchargement - 619 mbit \ s; téléchargement - 943 mbit \ s


openvpn \ udp: téléchargement - 756 mbit \ s; téléchargement - 580 mbit \ s


Openconnect


Ce n'est pas l'outil le plus populaire pour contourner les verrous, il est inclus dans le package Streisand, il a donc été décidé de le tester.

téléchargement - 895 mbit \ s; télécharger 715 mbit \ s


Wireguard


Outil de haute technologie populaire auprès des utilisateurs occidentaux, les développeurs de protocoles ont même reçu des subventions de développement de fonds de protection. Fonctionne comme un module du noyau Linux, via UDP. Récemment, des clients sont apparus pour windows \ ios.

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

D'où les avantages et les inconvénients. Avantages - un protocole très rapide, relative facilité d'installation / configuration. Inconvénients - le développeur ne l'a pas créé initialement afin de contourner les verrous sérieux, et donc la garde est facilement détectée par les outils les plus simples, y compris Wirehark.

protocole Wordshard dans Wireshark

télécharger - 1681 mbit \ s; télécharger 1638 mbit \ s


Fait intéressant, le protocole wargard est utilisé dans le client tunsafe tiers, qui, lorsqu'il est utilisé avec le même serveur, donne des résultats bien pires. Il est probable que le client Windows du wargard affiche les mêmes résultats:

tunsafe \ client: téléchargement - 1007 mbit \ s; téléchargement - 1366 mbit \ s


Outlinevpn


Outline est la mise en œuvre du serveur et du client fantôme avec un gua magnifique et pratique de Google Jigsaw. Dans Windows, le client hors ligne n'est qu'un ensemble d'enveloppes pour les binaires shadowsocks-local (client shadowsocks-libev) et badvpn (binaire tun2socks qui dirige tout le trafic de la machine vers le proxy de chaussettes local).

Shadoxox était autrefois résistant au grand pare-feu chinois, mais à en juger par les dernières critiques, ce n'est plus le cas. Contrairement à shadowbox, «prêt à l'emploi» ne prend pas en charge la connexion de l'obfuscation via des plug-ins, mais cela peut être fait avec des stylets en bricolant avec le serveur et le client.

téléchargement - 939 mbit \ s; téléchargement - 930 mbit \ s


Shadowsocks


ShadowsocksR est un fork du shadowbox original écrit en python. En fait, il s'agit d'un shadowbox auquel plusieurs méthodes d'obscurcissement du trafic ont été fermement fixées.

Il y a des fourches ssR sur libev et autre chose. La faible bande passante est probablement due au code / langage. Le shadowox original sur python n'est pas beaucoup plus rapide.

shadowsocksR: télécharger 582 mbit \ s; télécharger 541 mbit \ s.


Shadowsocks


Un outil de contournement de blocage chinois qui randomise le trafic et interfère avec l'analyse automatique d'autres manières merveilleuses. Jusqu'à récemment, GFW ne bloquait pas, ils disent qu'il est désormais bloqué uniquement si vous activez le relais UDP.

Multiplateforme (il existe des clients pour n'importe quelle plate-forme), prend en charge le travail avec PT en tant qu'obfuscateurs torus, il y a plusieurs de leurs propres ou adaptateurs adaptés, rapidement.

Il existe de nombreuses implémentations client et serveur dans différentes langues. Lors des tests, shadowsocks-libev a agi comme un serveur, les clients sont différents. Le client Linux le plus rapide s'est avéré être shadowsocks2 on go, distribué comme client par défaut dans streisand, je ne peux pas dire à quel point shadowsocks-windows est plus efficace. Dans la plupart des tests supplémentaires, shadowsocks2 a été utilisé comme client. Les écrans avec des tests de shadowsocks-libev purs n'ont pas été créés, en raison du décalage évident de cette implémentation.

shadowsocks2: téléchargement - 1876 mbit \ s; téléchargement - 1981 mbit \ s.


shadowsocks-rust: téléchargement - 1605 mbit \ s; téléchargement - 1895 mbit \ s.


Shadowsocks-libev: téléchargement - 1584 mbit \ s; téléchargement - 1265 mbit \ s.

Simple-obfs


Le plugin pour shadowbox, maintenant au statut de "déprécié" mais fonctionne toujours (bien que pas toujours bien). Il est largement remplacé par le plugin v2ray-plugin. Il obscurcit le trafic soit sous une socket Web HTTP (et vous permet d'usurper les en-têtes / l'hôte de destination, en faisant semblant que vous ne regardez pas un pornhub, mais, par exemple, le site Web de la constitution russe) ou sous des pseudo-tls (pseudo car il n'utilise aucun certificat, les types DPI les plus simples Détectez le nDPI libre comme «tls no cert». En mode tls, les en-têtes ne peuvent plus être usurpés).

Il est assez rapide, il est installé à partir du référentiel avec une seule commande, il est configuré très simplement, il a une fonction intégrée de feylover (lorsque le trafic d'un client non-simple-obfs arrive sur le port qui écoute les obfs simples, il le transmettra à l'adresse que vous spécifiez dans les paramètres - comme De cette façon, vous pouvez éviter de vérifier manuellement le 80e port, par exemple, simplement en le redirigeant vers le site Web avec https, ainsi qu'en bloquant via les connexions de connexion).

shadowsocks \ s-obfs-tls: téléchargement - 1618 mbit \ s; télécharger 1971 mbit \ s.


shadowsocks \ s-obfs-http: téléchargement - 1582 mbit \ s; téléchargement - 1965 mbit \ s.


Les obfs simples en mode http peuvent également fonctionner via un proxy inverse CDN (par exemple, cloudflare), donc pour notre fournisseur, le trafic ressemblera à du trafic texttext http vers cloudflare, cela nous permet de masquer un peu mieux notre tunnel, et en même temps de diviser le point d'entrée et sortie de trafic - le fournisseur voit que votre trafic va vers l'adresse IP CDN, et les goûts extrémistes dans les images sont placés à ce moment à partir de l'adresse IP VPS. Je dois dire que ce sont les c-obfs via CF qui fonctionnent de manière ambiguë, n'ouvrant pas périodiquement certaines ressources https par exemple. Ainsi, il n'a pas été possible de tester le téléchargement à l'aide d'iperf via shadowsocks \ s-obfs + CF, mais à en juger par les résultats du test de vitesse, la bande passante est au niveau de shadowsocks \ v2ray-plugin-tls + CF. Je n'applique pas d'écrans avec iperf3, car ils ne doivent pas être guidés.

téléchargement (speedtest) - 887; téléchargement (speedtest) - 1154.


Télécharger (iperf3) - 1625; upload (iperf3) - N \ A.

plugin v2ray


Le plugin V2ray a remplacé les obfs simples comme obfuscateur «officiel» principal pour ss lib. Contrairement aux obfs simples, il n'est pas encore dans les référentiels, et vous devez soit télécharger un binaire pré-construit, soit le compiler vous-même.

Il prend en charge 3 modes de fonctionnement: par défaut, socket http-web (avec prise en charge de l'usurpation des en-têtes de l'hôte de destination); socket tls-web (contrairement à c-obfs, il s'agit d'un trafic tls à part entière, qui est reconnu par n'importe quel serveur Web \ proxy inverse et, par exemple, vous permet de configurer la terminaison tls sur les serveurs cloudfleur ou dans nginx); quic - fonctionne via udp, mais malheureusement les performances du quick en v2 sont très faibles.

Parmi les avantages par rapport aux obfs simples: le plug-in v2ray fonctionne sans problème via CF en mode socket web https avec n'importe quel trafic, en mode tls, il représente le trafic tls complet, nécessite des certificats (par exemple, de cryptons ou auto-signé).

shadowsocks \ v2ray-plugin-http: téléchargement - 1404 mbit \ s; télécharger 1938 mbit \ s.


shadowsocks \ v2ray-plugin-tls: téléchargement - 1214 mbit \ s; télécharger 1898 mbit \ s.


shadowsocks \ v2ray-plugin-quic: téléchargement - 183 mbit \ s; télécharger 384 mbit \ s.


Comme je l'ai dit, v2rei peut définir des en-têtes, et il est donc possible de travailler avec lui via le proxy inverse \ CDN (cloudfleur par exemple). D'une part, cela complique la détection du tunnel, d'autre part - cela peut augmenter légèrement (et parfois réduire) le retard - tout dépend de l'emplacement de vous et des serveurs. Pour le moment, CF teste le travail avec Quic, mais jusqu'à présent, ce mode n'est pas disponible (au moins pour les comptes gratuits).

shadowsocks \ v2ray-plugin-http + CF: téléchargement - 1284 mbit \ s; télécharger 1785 mbit \ s.


shadowsocks \ v2ray-plugin-tls + CF: téléchargement - 1261 mbit \ s; télécharger 1881 mbit \ s.


Cape


Shred est le résultat du développement de l'obfuscateur GoQuiet. Simule le trafic TLS, fonctionne en conséquence via TCP. À l'heure actuelle, l'auteur a publié une deuxième version du plugin, cloak-2, qui est considérablement différente de la déchirure d'origine.

Selon le développeur, la première version du plugin utilisait le mécanisme de reprise de session tls 1.2 pour usurper l'adresse de destination pour tls. Après la sortie de la nouvelle version (clok-2), toutes les pages wiki sur le github décrivant ce mécanisme ont été supprimées; il n'y a aucune mention de cela dans la description actuelle du cryptage / obscurcissement. Selon la description de l'auteur, la première version de shred n'est pas utilisée en raison de la présence de "vulnérabilités critiques en crypto". Au moment des tests, il n'y avait que la première version du cloaque, ses binaires sont toujours sur le github, et, entre autres, les vulnérabilités critiques ne sont pas très importantes, car shadousoks crypte le trafic de la même manière que sans lambeau, et le crypto shadowsoks n'influence pas le crypto shadowsoksa.

shadowsocks \ cloak: téléchargement - 1533; téléchargement - 1970 mbit \ s


Kcptun


kcptun utilise le protocole KCP comme moyen de transport et, dans certains cas spéciaux, peut augmenter le débit. Malheureusement (ou heureusement), cela est largement pertinent pour les utilisateurs chinois, dont certains opérateurs mobiles trottent fortement TCP et ne touchent pas à UDP.

Kcptun est incroyablement gourmand et charge facilement 100 noyaux zion à 100% lorsqu'il est testé par 1 client. De plus, le plugin est "lent", et également lorsque vous travaillez sur iperf3, il ne termine pas les tests jusqu'à la fin. Nous sommes guidés par le test de vitesse dans le navigateur.

shadowsocks \ kcptun: téléchargement (speedtest) - 546 mbit \ s; télécharger (speedtest) 854 mbit \ s.


Conclusion


Besoin d'un VPN simple et rapide pour envelopper le trafic de la machine entière? Ensuite, votre choix est un gardien. Voulez-vous des procurations (pour la tunnellisation sélective ou la séparation des flux \ personnes virtuelles) ou est-il plus important pour vous d'obscurcir le trafic des blocages graves? Regardez ensuite shadowbox avec tls \ http obfuscation. Vous voulez être sûr que votre Internet fonctionnera pendant qu'Internet fonctionne? Choisissez le trafic proxy via d'importants CDN, dont le blocage entraînera le vidage de la moitié de l'Internet dans le pays.

tableau croisé dynamique tri par téléchargement

Source: https://habr.com/ru/post/fr479146/


All Articles