Comparação de ferramentas de desvio \ VPN

À medida que bloqueamos cada vez mais ativamente o acesso a vários recursos na rede, a questão de ignorar bloqueios se torna cada vez mais relevante, o que significa que a pergunta "Como é mais rápido ignorar bloqueios?"

Vamos deixar o tópico da eficiência, em termos de ignorar a lista negra de DPI \ whitelist \, para outro caso, e apenas comparar o desempenho das ferramentas populares de desvio de bloqueio.

Nota: No artigo sob os spoilers, haverá muitas fotos.

Isenção de responsabilidade: este artigo compara o desempenho de soluções populares de VPN / proxy, em condições próximas ao "ideal". Os resultados obtidos e descritos aqui não coincidem necessariamente com os resultados nos campos. Como o número no teste de velocidade geralmente não depende de quão produtiva é a ferramenta de desvio, mas de como o provedor o acelera \ QoSit \ a bloqueia.

Metodologia


Um provedor de nuvem (DO) comprou 3 VPS em diferentes países do mundo. 2 na Holanda, 1 na Alemanha. Os IPNs mais produtivos (pelo número de núcleos) foram selecionados dentre os disponíveis para a conta oferecida para empréstimos com cupom.

Um servidor iperf3 privado é implantado no primeiro servidor holandês.

No segundo servidor holandês, vários servidores para bloquear ferramentas de desvio são implantados por sua vez.

Na UPU alemã, implantou a imagem do desktop Linux (xubuntu) com VNC e um desktop virtual. Esse VPS é um cliente condicional e vários clientes proxy \ VPN são iniciados / iniciados um por um.

As medições de velocidade são realizadas três vezes, focamos na média, usamos três ferramentas: no cromo, através do teste de velocidade da banda; em cromo via fast.com; do console via iperf3 ao proxy 4 (onde você precisa colocar o tráfego do iperf3 no proxy).

Uma conexão direta cliente-servidor iperf3 fornece uma velocidade de 2 Gbps, no iperf3, e um pouco menos no teste de velocidade / velocidade.

Um leitor curioso pode perguntar: "por que você não escolheu o speedtest-cli?" E ele estará certo.

O teste de velocidade acabou sendo uma maneira não confiável / inadequada de medir a taxa de transferência, por razões desconhecidas para mim. Três medições consecutivas podem fornecer três resultados completamente diferentes ou, por exemplo, mostrar uma taxa de transferência muito superior à velocidade da porta do meu IPS. Talvez o problema seja o meu estrabismo, mas parecia impossível realizar pesquisas com esse instrumento.

Em relação aos resultados dos três métodos de medição (teste de velocidade \ rápido \ iperf), considero os indicadores iperf os mais precisos \ confiáveis ​​\ confiáveis ​​e a referência de teste rápido \ velocidade. Porém, algumas ferramentas de desvio não permitiram concluir três medições através do iperf3 e, nesses casos, você pode se concentrar em speedtest / fast.

teste de velocidade fornece resultados diferentes
imagem

Toolkit


No total, foram testadas 24 ferramentas alternativas e / ou suas combinações, para cada uma delas darei pequenas explicações e minhas impressões sobre como trabalhar com elas. Mas, essencialmente, o objetivo era comparar as velocidades dos bloqueios das sombras (e montes de diferentes ofuscadores) openVPN e wireguard.

Neste artigo, não discutirei detalhadamente a questão "qual a melhor maneira de ocultar o tráfego para que não seja desativado", porque ignorar bloqueios é uma medida reativa - nos adaptamos ao que o censor usa e age com base nisso.

Resultados


Strongswan \ ipsec


De acordo com minhas impressões - é muito fácil de configurar, funciona de maneira bastante estável. Dos benefícios - é realmente multiplataforma, sem a necessidade de procurar clientes para cada plataforma.

download - 993 mbit \ s; carregamento - 770 mbit \ s


Túnel ssh


Provavelmente, apenas preguiçoso não escreveu sobre o uso do SSH como uma ferramenta de túnel. Das desvantagens - as "muletas" da solução, ou seja, implantá-lo a partir de um cliente conveniente e bonito em cada plataforma falhará. Uma das vantagens é o bom desempenho, não é necessário instalar nada no servidor.

download - 1270 mbit \ s; carregamento - 1140 mbit \ s

Openvpn


O OpenVPN foi testado em 4 modos de operação: tcp, tcp + sslh, tcp + stunnel, udp.

Os servidores OpenVPN foram configurados automaticamente instalando o streisand.

Tanto quanto se pode julgar, no momento apenas o modo de operação através do stunnel é resistente ao DPI avançado. A razão para o aumento anormal da taxa de transferência ao abrir a VPN-tcp no stannel não está clara para mim, as verificações foram feitas em várias visitas, em momentos e dias diferentes, o resultado foi o mesmo. Talvez isso se deva às configurações da pilha de rede definidas ao implantar o streysand, escreva se você tiver alguma idéia do motivo.

openvpn \ tcp: download - 760 mbit \ s; carregamento - 659 mbit \ s


openvpn \ tcp + sslh: download - 794 mbit \ s; carregamento - 693 mbit \ s


openvpn \ tcp + stunnel: download - 619 mbit \ s; carregamento - 943 mbit \ s


openvpn \ udp: download - 756 mbit \ s; carregamento - 580 mbit \ s


Openconnect


Não é a ferramenta mais popular para ignorar bloqueios, pois está incluída no pacote Streisand, por isso foi decidido testá-lo.

download - 895 mbit \ s; carregar 715 mbit \ s


Wireguard


Uma ferramenta de alta tecnologia que é popular entre os usuários ocidentais, os desenvolvedores de protocolos até receberam alguns subsídios de desenvolvimento de fundos de proteção. Funciona como um módulo do kernel Linux, via UDP. Recentemente, os clientes apareceram para windows \ ios.

Concebido pelo criador como uma maneira rápida e simples de assistir netflix enquanto não estiver nos estados.

Daí os prós e contras. Prós - um protocolo muito rápido, relativa facilidade de instalação / configuração. Contras - o desenvolvedor não o criou inicialmente para ignorar bloqueios graves e, portanto, a proteção é facilmente detectada pelas ferramentas mais simples, incluindo wireshark.

protocolo wireshard no wireshark

download - 1681 mbit \ s; carregar 1638 mbit \ s


Curiosamente, o protocolo wargard é usado no cliente tunsafe de terceiros, que quando usado com o mesmo servidor, o wargard fornece resultados muito piores. É provável que o cliente windows do wargard mostre os mesmos resultados:

tunsafe \ client: download - 1007 mbit \ s; carregamento - 1366 mbit \ s


Outlinevpn


O esboço é a implementação do servidor e cliente shadow com uma gua bonita e conveniente do quebra-cabeças do Google. No Windows, o cliente offline é apenas um conjunto de wrappers para os binários shadowocks-local (cliente shadowsocks-libev) e badvpn (binário tun2socks que direciona todo o tráfego da máquina para o proxy de meias local).

O Shadoxox já foi resistente ao grande firewall chinês, mas, a julgar pelas avaliações mais recentes, agora esse não é mais o caso. Ao contrário do shadowbox, o "out of the box" não suporta a ofuscação da conexão por meio de plug-ins, mas isso pode ser feito com canetas, mexendo no servidor e no cliente.

download - 939 mbit \ s; carregamento - 930 mbit \ s


Shadowsocks


ShadowsocksR é um fork do shadowbox original escrito em python. De fato, é uma caixa de sombra na qual vários métodos de ofuscação do tráfego foram firmemente fixados.

Existem garfos ssR na libev e outra coisa. A baixa largura de banda provavelmente se deve ao código / idioma. O shadowox original em python não é muito mais rápido.

shadowsocksR: faça o download de 582 mbit \ s; carregar 541 mbit \ s.


Shadowsocks


Uma ferramenta chinesa de desvio de bloqueio que randomiza o tráfego e interfere na análise automática de outras maneiras maravilhosas. Até recentemente, o GFW não bloqueava, eles dizem que agora está bloqueado apenas se você ativar o relé UDP.

Entre plataformas (existem clientes para qualquer plataforma), suporta trabalhar com PT como ofuscadores de toro, existem vários ofuscadores próprios ou adaptados a ele, rapidamente.

Existem várias implementações de clientes e servidores em diferentes idiomas. Nos testes, o shadowsocks-libev atuou como servidor, os clientes são diferentes. O cliente Linux mais rápido acabou por ser o shadowsocks2 em movimento, distribuído como um cliente padrão no streisand, não sei dizer o quanto mais eficiente o shadowsocks-windows é. Na maioria dos testes adicionais, o shadowsocks2 foi usado como cliente. Telas com teste puro shadowsocks-libev não foram criadas, devido ao atraso óbvio dessa implementação.

shadowsocks2: download - 1876 mbit \ s; 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


O plug-in para shadowbox, agora no status de "depreciado", mas ainda funciona (embora nem sempre esteja bem). É amplamente substituído pelo plug-in v2ray-plugin. Oculta o tráfego para um soquete da Web HTTP (e permite falsificar os cabeçalhos / host de destino, fingindo que você não está olhando para um pornhub, mas, por exemplo, o site de constituição russo) ou sob pseudo-tls (pseudo porque ele não usa nenhum certificado, os tipos mais simples de DPI Detecte o nDPI livre como "tls no cert". No modo tls, os cabeçalhos não podem mais ser falsificados.

É rápido o suficiente, é instalado a partir do repositório com um comando, é configurado de maneira muito simples, possui uma função interna de um amante de feylover (quando o tráfego de um cliente não-obfs simples chega à porta que escuta obfs simples, ele o encaminha para o endereço especificado nas configurações - como Dessa forma, você pode evitar verificar manualmente a 80ª porta, por exemplo, simplesmente redirecionando-a para o site com https, bem como bloqueando os foreys de conexão).

shadowsocks \ s-obfs-tls: download - 1618 mbit \ s; carregar 1971 mbit \ s.


shadowsocks \ s-obfs-http: download - 1582 mbit \ s; upload - 1965 mbit \ s.


Os obfs simples no modo http também podem funcionar através do CDN do proxy reverso (por exemplo, cloudflare); portanto, para o nosso provedor, o tráfego parecerá o tráfego de texto de texto http para cloudflare, isso nos permite esconder um pouco melhor o túnel e, ao mesmo tempo, dividir o ponto de entrada e saída de tráfego - o provedor vê que o seu tráfego está indo para o endereço IP da CDN e, neste momento, os gostos extremistas das imagens são colocados no endereço IP do VPS. Devo dizer que é o c-obfs através do CF que funciona ambiguamente, periodicamente não abrindo alguns recursos https, por exemplo. Portanto, não foi possível testar o upload usando o iperf via shadowsocks \ s-obfs + CF, mas, a julgar pelos resultados do teste de velocidade, a largura de banda está no nível de shadowsocks \ v2ray-plugin-tls + CF. Não aplico telas no iperf3, porque eles não devem ser guiados.

download (speedtest) - 887; upload (speedtest) - 1154.


Download (iperf3) - 1625; upload (iperf3) - N \ A.

v2ray-plugin


O V2ray-plugin substituiu obfs simples como o principal ofuscador "oficial" da ss lib. Diferente do obfs simples, ele ainda não está nos repositórios e você precisa baixar um binário pré-compilado ou compilá-lo.

Ele suporta 3 modos de operação: padrão, soquete http-web (com suporte para falsificar os cabeçalhos do host de destino); soquete tls-web (diferentemente do c-obfs, esse é o tráfego tls completo, que é reconhecido por qualquer servidor web \ proxy reverso e, por exemplo, permite configurar a terminação tls em servidores cloudfleur ou no nginx); quic - funciona através do udp, mas infelizmente o desempenho do quick na v2 é muito baixo.

Das vantagens comparadas aos obfs simples: o plug-in v2ray funciona sem problemas através do CF no modo de soquete da web https com qualquer tráfego, no modo tls representa o tráfego tls completo, requer certificados (por exemplo, vamos criptografar ou autoassinar).

shadowsocks \ v2ray-plugin-http: download - 1404 mbit \ s; carregar 1938 mbit \ s.


shadowsocks \ v2ray-plugin-tls: download - 1214 mbit \ s; carregar 1898 mbit \ s.


shadowsocks \ v2ray-plugin-quic: download - 183 mbit \ s; carregar 384 mbit \ s.


Como eu disse, o v2rei pode definir cabeçalhos e, portanto, é possível trabalhar com ele através do proxy reverso \ CDN (cloudfleur, por exemplo). Por um lado, isso complica a detecção do túnel, por outro - pode aumentar um pouco (e às vezes reduzir) o atraso - tudo depende da localização de você e dos servidores. No momento, o CF está testando o trabalho com quic, mas até agora esse modo não está disponível (pelo menos para contas gratuitas).

shadowsocks \ v2ray-plugin-http + CF: download - 1284 mbit \ s; carregar 1785 mbit \ s.


shadowsocks \ v2ray-plugin-tls + CF: download - 1261 mbit \ s; carregar 1881 mbit \ s.


Manto


Shred é o resultado de um maior desenvolvimento do ofuscador GoQuiet. Simula o tráfego TLS, funciona de acordo com o TCP. No momento, o autor lançou uma segunda versão do plugin, cloak-2, que é significativamente diferente do fragmento original.

Segundo o desenvolvedor, a primeira versão do plug-in usou o mecanismo de sessão tls 1.2 resume para falsificar o endereço de destino para tls. Após o lançamento da nova versão (clok-2), todas as páginas wiki no github que descrevem esse mecanismo foram excluídas; não há menção a isso na descrição atual de criptografia / ofuscação. De acordo com a descrição do autor, a primeira versão do fragmento não é usada devido à presença de "vulnerabilidades críticas em criptografia". No momento dos testes, havia apenas a primeira versão da fossa, seus binários ainda estão no github e, entre outras coisas, vulnerabilidades críticas não são muito importantes, porque O shadousoks criptografa o tráfego da mesma maneira que sem um pingo, e as crypto shadowsoks não influenciam o crypto shadowsoksa.

sombras / capa: download - 1533; carregamento - 1970 mbit \ s


Kcptun


O kcptun usa o protocolo KCP como transporte e, em alguns casos especiais, pode obter maior taxa de transferência. Infelizmente (ou felizmente) isso é amplamente relevante para os usuários da China, alguns dos quais operadoras de telefonia móvel estão muito trotando pelo TCP e não tocam no UDP.

O Kcptun é extremamente glutão e carrega facilmente 100 kernel de zion 100% quando testado por 1 cliente. Além disso, o plug-in é "lento" e, ao trabalhar com o iperf3, ele não conclui os testes até o fim. Somos guiados pelo teste de velocidade no navegador.

shadowsocks \ kcptun: download (speedtest) - 546 mbit \ s; upload (speedtest) 854 mbit \ s.


Conclusão


Precisa de uma VPN rápida e simples para envolver o tráfego de toda a máquina? Então sua escolha é um guarda. Deseja proxies (para tunelamento seletivo ou separação de fluxos \ pessoas virtuais) ou é mais importante ocultar o tráfego de bloqueios graves? Então olhe para o shadowbox com ofuscação tls \ http. Deseja ter certeza de que sua Internet funcionará enquanto a Internet estiver funcionando? Escolha o proxy de tráfego através de CDNs importantes, cujo bloqueio levará ao dumping de metade da Internet no país.

classificação de tabela dinâmica por download

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


All Articles