Empilhar uma VPN, o Tor e um proxy de aplicação parece multiplicar a privacidade, e na verdade multiplica o número de lugares onde uma conexão pode morrer. O resultado habitual é um navegador girando enquanto as três ferramentas se declaram saudáveis. Mudar as três configurações de uma vez elimina então a única pista sobre qual delas está mentindo.

Desenhe primeiro o caminho pretendido, em ordem, nomeando qual programa abre cada conexão e qual nome é resolvido em cada passo.

As camadas não se somam, interagem

Uma VPN antes do Tor significa que a conexão de entrada do cliente Tor viaja dentro do túnel. Uma VPN transportada através do Tor significa que o próprio ponto final do cliente VPN precisa ser alcançável pelo Tor, o que é um requisito bem diferente. O proxy do navegador acrescenta mais um salto que o sistema operacional desconhece. Três arranjos, três listas de dependências separadas.

Cada arranjo muda o que pode ser resolvido, o que pode ser transportado e quem vê o primeiro pacote. Apenas um deles pode ser a configuração que você queria.

Acrescente também o caminho direto ao diagrama. Uma rota de reserva, uma exceção de túnel dividido ou um desvio de proxy podem fazer uma página carregar enquanto pulam em silêncio a cadeia que você queria testar, e esse sucesso engana mais do que a falha.

A ordem decide o que pode ser transportado

O Tor transporta fluxos TCP pela sua interface SOCKS, e um cliente que pede ao proxy para resolver o nome do host mantém a consulta dentro do circuito. UDP não viaja assim em configurações normais, por isso um túnel WireGuard não pode ser aninhado dentro do Tor sem um relé TCP extra no meio.

OpenVPN pode ser forçado a TCP, então esse arranjo é pelo menos descritível. Também é mais lento e mais frágil, e o modo de falha quando quebra parece idêntico a uma porta bloqueada. Espere gastar mais tempo distinguindo os dois do que consertando qualquer um deles.

A resolução é a outra metade. Com --socks5-hostname o proxy resolve o destino, enquanto o --socks5 simples pergunta primeiro ao resolvedor local e vaza o nome para fora do circuito. É esse único parâmetro que decide se a consulta do nome pertence à cadeia ou ao seu provedor de internet.

OrderWhat must resolve the endpointWhat usually breaks
VPN, then TorThe tunnel's resolverEntry guards blocked by the VPN provider's filters
Tor, then VPNThe SOCKS proxy, remotelyUDP transports, which Tor does not carry
App proxy on topThe application itselfProxy bypass rules and cached connections

Localizar a primeira fronteira quebrada

Teste as etapas na ordem em que os pacotes viajam, com pedidos inofensivos, e pare na primeira que falhar. Anote qual comando rodou primeiro, porque a ordem faz parte da evidência. Dois comandos separam um circuito morto de uma saída morta:

curl -s --socks5-hostname 127.0.0.1:9050 https://check.torproject.org/api/ip
curl -4 -s https://api.ipify.org; echo

O primeiro informa se um pedido chega a ser concluído pelo proxy SOCKS, e o segundo mostra o endereço que a rede apresenta neste momento. Se o primeiro falhar e o segundo funcionar, o problema está no cliente Tor ou antes dele. Se ambos funcionarem e o navegador continuar falhando, a aplicação usa um caminho diferente do shell.

Uma página de IP público também descreve apenas a última saída visível. Ela não pode dizer quantos saltos a precederam, então combine-a com a saída de estado suportada de cada ferramenta em vez de tratar um único número como diagrama.

Quando parar de adicionar camadas

Se você não consegue dizer em uma frase o que uma camada acrescenta, remova-a. Uma cadeia cujo propósito não está claro é uma cadeia que ninguém consegue depurar às três da manhã, e o ganho de privacidade de um salto inexplicado costuma ser menor que a disponibilidade que você perde.

Se uma camada realmente merece o seu lugar, teste-a sozinha primeiro, depois acrescente a seguinte e confirme o caminho de novo com os mesmos dois comandos. Restaure a cadeia completa antes do uso normal e mantenha a validação TLS e a autenticação ligadas; um aviso de certificado aceito para fazer uma página carregar é um contorno de roteamento, não um conserto. Anote a ordem com que você ficou enquanto ela está fresca.

Escreva essa ordem, incluindo o resolvedor que responde em cada etapa. Uma cadeia que funciona e que você consegue descrever sobrevive à próxima atualização, enquanto uma cadeia que funciona e que você montou por tentativa desaparece com ela. Acrescente a data e as versões, para que uma falha posterior possa ser comparada com um estado conhecido como bom em vez de ser discutida de memória. Dez linhas num arquivo de texto economizam uma noite de suposições.

Artigos relacionados