A medida que bloqueamos más y más activamente el acceso a varios recursos en la red, el tema de evitar bloqueos se vuelve cada vez más relevante, lo que significa que la pregunta "¿Cómo es más rápido evitar bloqueos?"
Dejaremos el tema de la eficiencia, en términos de omitir DPI \ whitelist \ blacklist para otro caso, y solo compararemos el rendimiento de las populares herramientas de omisión de bloqueo.
Nota: En el artículo debajo de los spoilers habrá muchas fotos.
Descargo de responsabilidad: este artículo compara el rendimiento de las soluciones populares de VPN / proxy, en condiciones cercanas al "ideal". Los resultados obtenidos y descritos aquí no necesariamente coinciden con sus resultados en los campos. Porque el número en la prueba de velocidad a menudo dependerá no de cuán productiva sea la herramienta de derivación, sino de cómo su proveedor estrangula \ QoSit \ la bloquea.
Metodología
Un proveedor de nube (DO) compró 3 VPS en diferentes países del mundo. 2 en los Países Bajos, 1 en Alemania. Los IPN más productivos (por el número de núcleos) se seleccionaron de los disponibles para la cuenta en oferta para préstamos con cupón.
Se implementa un servidor iperf3 privado en el primer servidor holandés.
En el segundo servidor holandés, se implementan a su vez varios servidores para bloquear herramientas de derivación.
En la UPU alemana se implementó la imagen del escritorio Linux (xubuntu) con VNC y un escritorio virtual. Este VPS es un cliente condicional, y se lanzan / inician varios clientes proxy \ VPN uno por uno.
Las mediciones de velocidad se llevan a cabo tres veces, nos centramos en el promedio, utilizamos 3 herramientas: en cromo a través de la prueba de velocidad web; en cromo a través de fast.com; desde la consola a través de iperf3 a través del proxy 4 (donde debe poner el tráfico de iperf3 en el proxy).
Una conexión directa cliente-servidor iperf3 proporciona una velocidad de 2 Gbps, en iperf3, y un poco menos en la prueba de velocidad rápida.
Un lector curioso puede preguntar, "¿por qué no elegiste speedtest-cli?" Y él tendrá razón.
La prueba de velocidad resultó ser una forma poco confiable / inadecuada de medir el rendimiento, por razones desconocidas para mí. Tres mediciones consecutivas podrían dar tres resultados completamente diferentes o, por ejemplo, mostrar un rendimiento mucho mayor que la velocidad del puerto de mi IPS. Tal vez el problema es mi estrabismo, pero parecía imposible realizar una investigación con tal instrumento.
En cuanto a los resultados de los tres métodos de medición (prueba de velocidad \ rápido \ iperf), considero que los indicadores iperf son los más precisos / confiables \ confiables, y la prueba de velocidad rápida - referencia. Pero algunas herramientas de derivación no permitieron completar 3 mediciones a través de iperf3 y, en tales casos, puede enfocarse en speedtest / fast.
prueba de velocidad da resultados diferentes Kit de herramientas
En total, se probaron 24 herramientas alternativas diferentes y / o sus combinaciones, para cada una de ellas daré pequeñas explicaciones y mis impresiones de trabajar con ellas. Pero esencialmente, el objetivo era comparar las velocidades de los shadowsocks (y los montones de diferentes ofuscadores) openVPN y wireguard.
En este artículo no discutiré en detalle la pregunta "la mejor manera de ocultar el tráfico para que no esté deshabilitado", ya que evitar los bloqueos es una medida reactiva: nos adaptamos a lo que usa el censor y actuamos sobre esta base.
Resultados
Strongswan \ ipsec
Según mis impresiones, es muy fácil de configurar, funciona de manera bastante estable. De los beneficios, es realmente multiplataforma, sin la necesidad de buscar clientes para cada plataforma.
descarga - 993 mbit \ s; carga - 770 mbit \ s Túnel ssh
Probablemente solo perezoso no escribió sobre el uso de SSH como herramienta de túnel. De las desventajas: las "muletas" de la solución, es decir la implementación desde un cliente conveniente y hermoso en cada plataforma fallará. Una de las ventajas es el buen rendimiento, no hay necesidad de instalar nada en el servidor.
descarga - 1270 mbit \ s; carga - 1140 mbit \ s Openvpn
OpenVPN se probó en 4 modos operativos: tcp, tcp + sslh, tcp + stunnel, udp.
Los servidores OpenVPN se configuraron automáticamente mediante la instalación de streisand.
Hasta donde se puede juzgar, por el momento solo el modo de operación a través del aturdimiento es resistente a DPI avanzado. La razón del aumento anormal en el rendimiento al abrir la VPN-tcp en el canal no me resulta clara, las verificaciones se realizaron en varias visitas, en diferentes momentos y diferentes días, el resultado fue el mismo. Quizás esto se deba a la configuración de la pila de red establecida al implementar el streysand, escriba si tiene alguna idea de por qué.
openvpn \ tcp: descarga - 760 mbit \ s; carga - 659 mbit \ s openvpn \ tcp + sslh: descarga - 794 mbit \ s; cargar - 693 mbit \ s openvpn \ tcp + stunnel: descarga - 619 mbit \ s; cargar - 943 mbit \ s openvpn \ udp: descarga - 756 mbit \ s; cargar - 580 mbit \ s Openconnect
No es la herramienta más popular para evitar bloqueos, se incluye en el paquete Streisand, por lo que se decidió probarlo.
descarga - 895 mbit \ s; cargar 715 mbit \ s Guardia de alambre
Una herramienta de alta tecnología que es popular entre los usuarios occidentales, los desarrolladores de protocolos incluso recibieron algunas subvenciones de desarrollo de fondos de protección. Funciona como un módulo de kernel de Linux, a través de UDP. Recientemente, han aparecido clientes para windows \ ios.
Concebido por el creador como una forma simple y rápida de ver netflix mientras no está en los Estados Unidos.
De ahí las ventajas y desventajas. Pros: un protocolo muy rápido, relativa facilidad de instalación / configuración. Contras: el desarrollador no lo creó inicialmente para evitar bloqueos graves y, por lo tanto, las herramientas más simples incluyen la protección fácilmente, incluidas Wirehark.
protocolo wirehard en wireshark descarga - 1681 mbit \ s; cargar 1638 mbit \ s Curiosamente, el protocolo wargard se usa en el cliente tunsafe de terceros, que cuando se usa con el mismo servidor, wargard da resultados mucho peores. Es probable que el cliente de Windows del wargard muestre los mismos resultados:
tunsafe \ client: descarga - 1007 mbit \ s; subir - 1366 mbit \ s Esquemavpn
El esquema es la implementación del servidor y el cliente en la sombra con una gua guapa y conveniente de Google jigsaw. En Windows, el cliente fuera de línea es solo un conjunto de envoltorios para los binarios locales shadowsocks (cliente shadowsocks-libev) y badvpn (binario tun2socks que dirige todo el tráfico de la máquina al proxy local de socks).
Shadoxox alguna vez fue resistente al gran firewall chino, pero a juzgar por las últimas críticas, ahora ya no es el caso. A diferencia de shadowbox, "listo para usar" no admite la ofuscación de conexión a través de complementos, pero esto se puede hacer con bolígrafos jugando con el servidor y el cliente.
descarga - 939 mbit \ s; cargar - 930 mbit \ s Calcetines sombríos
ShadowsocksR es una bifurcación de la caja de sombras original escrita en python. De hecho, es una caja de sombra a la que se han anclado firmemente varios métodos de ofuscación de tráfico.
Hay tenedores SSR en Libev y algo más. El ancho de banda bajo probablemente se deba al código / idioma. El shadowox original en python no es mucho más rápido.
shadowsocksR: descargar 582 mbit \ s; cargar 541 mbit \ s. Calcetines sombríos
Una herramienta de derivación de bloqueo china que aleatoriza el tráfico e interfiere con el análisis automático de otras maneras maravillosas. Hasta hace poco, GFW no bloqueaba, dicen que ahora está bloqueado solo si habilita el relé UDP.
Multiplataforma (hay clientes para cualquier plataforma), admite trabajar con PT como ofuscadores de toro, hay varios ofuscadores propios o adaptados a él, rápidamente.
Hay un montón de implementaciones de cliente y servidor en diferentes idiomas. En las pruebas, shadowsocks-libev actuó como un servidor, los clientes son diferentes. El cliente Linux más rápido resultó ser shadowsocks2 en marcha, distribuido como un cliente predeterminado en streisand, no puedo decir cuánto más eficiente es shadowsocks-windows. En la mayoría de las pruebas posteriores, shadowsocks2 se usó como cliente. No se hicieron pantallas con pruebas de shadowsocks-libev puro, debido al retraso obvio de esta implementación.
shadowsocks2: descarga - 1876 mbit \ s; cargar - 1981 mbit \ s. shadowsocks-rust: descarga - 1605 mbit \ s; subir - 1895 mbit \ s. Shadowsocks-libev: descarga - 1584 mbit \ s; cargar - 1265 mbit \ s.Simple-obfs
El complemento para shadowbox, ahora en el estado de "depreciado" pero aún funciona (aunque no siempre es así). Es reemplazado en gran medida por el complemento v2ray-plugin. Oculta el tráfico ya sea bajo un socket web HTTP (y le permite falsificar los encabezados / host de destino, pretendiendo que no está mirando un pornhub, sino, por ejemplo, el sitio web de la constitución rusa) o bajo pseudo-tls (pseudo porque no usa ningún certificado, los tipos DPI más simples Detecta nDPI libre como "tls no cert". En el modo tls, los encabezados ya no pueden ser falsificados).
Es lo suficientemente rápido, se instala desde el repositorio con un comando, se configura de manera muy simple, tiene una función incorporada de un feylover (cuando el tráfico de un cliente no simple-obfs llega al puerto que escucha obfs simples, lo reenviará a la dirección donde especifique en la configuración, por ejemplo De esta forma, puede evitar comprobar manualmente el puerto 80, por ejemplo, simplemente redirigiéndolo al sitio web con https, así como bloqueando a través de conexiones foreys).
shadowsocks \ s-obfs-tls: descarga - 1618 mbit \ s; cargar 1971 mbit \ s. shadowsocks \ s-obfs-http: descarga - 1582 mbit \ s; cargar - 1965 mbit \ s. Los obfs simples en modo http también pueden funcionar a través del proxy inverso CDN (por ejemplo, cloudflare), por lo que para nuestro proveedor el tráfico se verá como tráfico http-texttext a cloudflare, esto nos permite ocultar nuestro túnel un poco mejor, y al mismo tiempo dividir el punto de entrada y salida de tráfico: el proveedor ve que su tráfico va hacia la dirección IP de CDN, y los me gusta extremistas en las imágenes se colocan en este momento desde la dirección IP de VPS. Debo decir que es c-obfs a través de CF que funciona de manera ambigua, por ejemplo, no abre periódicamente algunos recursos https. Entonces, no fue posible probar la carga usando iperf a través de shadowsocks \ s-obfs + CF, pero a juzgar por los resultados de la prueba de velocidad, el ancho de banda está en el nivel de shadowsocks \ v2ray-plugin-tls + CF. No aplico pantallas con iperf3, porque No deben ser guiados.
descarga (speedtest) - 887; cargar (prueba de velocidad) - 1154. Descargar (iperf3) - 1625; upload (iperf3) - N \ A.v2ray-plugin
V2ray-plugin reemplazó obfs simples como el ofuscador "oficial" principal para ss lib. A diferencia de los obfs simples, todavía no está en los repositorios, y debe descargar un binario precompilado o compilarlo usted mismo.
Admite 3 modos de funcionamiento: predeterminado, socket web http (con soporte para falsificar los encabezados del host de destino); tls-web socket (a diferencia de c-obfs, este es el tráfico tls completo, que es reconocido por cualquier servidor web \ proxy inverso y, por ejemplo, le permite configurar la terminación tls en servidores cloudfleur o nginx); quic: funciona a través de udp, pero desafortunadamente el rendimiento de quick en v2 es muy bajo.
De las ventajas en comparación con obfs simples: el complemento v2ray funciona sin problemas a través de CF en el modo de socket web https con cualquier tráfico, en modo tls representa el tráfico completo de tls, requiere certificados (por ejemplo, de cifrar o autofirmado).
shadowsocks \ v2ray-plugin-http: descarga - 1404 mbit \ s; cargar 1938 mbit \ s. shadowsocks \ v2ray-plugin-tls: descarga - 1214 mbit \ s; cargar 1898 mbit \ s. shadowsocks \ v2ray-plugin-quic: descarga - 183 mbit \ s; cargar 384 mbit \ s. Como dije, v2rei puede configurar encabezados y, por lo tanto, es posible trabajar con él a través de proxy inverso \ CDN (cloudfleur, por ejemplo). Por un lado, esto complica la detección del túnel, por otro lado, puede aumentar ligeramente (y a veces reducir) el retraso, todo depende de la ubicación de usted y los servidores. Por el momento, CF está probando el trabajo con quic, pero hasta ahora este modo no está disponible (al menos para cuentas gratuitas).
shadowsocks \ v2ray-plugin-http + CF: descarga - 1284 mbit \ s; cargar 1785 mbit \ s. shadowsocks \ v2ray-plugin-tls + CF: descarga - 1261 mbit \ s; cargar 1881 mbit \ s. Capa
Shred es el resultado de un mayor desarrollo del ofuscador GoQuiet. Simula el tráfico TLS, funciona en consecuencia a través de TCP. Por el momento, el autor ha lanzado una segunda versión del complemento, cloak-2, que es significativamente diferente del fragmento original.
Según el desarrollador, la primera versión del complemento utilizó el mecanismo de sesión de reanudación de tls 1.2 para suplantar la dirección de destino de tls. Después del lanzamiento de la nueva versión (clok-2), se eliminaron todas las páginas wiki en el github que describen este mecanismo; no hay ninguna mención de esto en la descripción actual de cifrado / ofuscación. Según la descripción del autor, la primera versión de la trituración no se usa debido a la presencia de "vulnerabilidades críticas en el cifrado". En el momento de las pruebas, solo había la primera versión del pozo negro, sus binarios todavía están en el github y, entre otras cosas, las vulnerabilidades críticas no son muy importantes, porque shadousoks cifra el tráfico exactamente de la misma manera que sin un fragmento, y crypto shadowsoks no influye en crypto shadowsoksa.
shadowsocks \ cloak: descarga - 1533; cargar - 1970 mbit \ s Kcptun
kcptun utiliza
el protocolo KCP como transporte y, en algunos casos especiales, puede lograr un mayor rendimiento. Desafortunadamente (o afortunadamente) esto es en gran medida relevante para los usuarios de China, algunos de cuyos operadores móviles trotan fuertemente TCP y no tocan UDP.
Kcptun es infernalmente glotón y carga fácilmente 100 núcleos de zion al 100% cuando 1 cliente lo prueba. Además, el complemento es "lento", y también cuando se trabaja a través de iperf3 no termina las pruebas hasta el final. Nos guiamos por la prueba de velocidad en el navegador.
shadowsocks \ kcptun: descarga (prueba de velocidad) - 546 mbit \ s; cargar (prueba de velocidad) 854 mbit \ s. Conclusión
¿Necesita una VPN rápida y simple para envolver el tráfico de toda la máquina? Entonces tu elección es un guardia. ¿Desea proxies (para tunelización selectiva o separación de flujos \ personas virtuales) o es más importante para usted ofuscar el tráfico de bloqueos graves? Luego mire shadowbox con tls \ http ofuscación. ¿Quiere estar seguro de que su Internet funcionará mientras Internet esté funcionando? Elija el tráfico proxy a través de CDN importantes, cuyo bloqueo conducirá al vertido de la mitad de Internet en el país.
clasificación de tabla dinámica por descarga