Você abre o diretório, ordena por velocidade, escolhe um nó marcado como online, e o cliente desiste antes de terminar a conexão. A lista não mentia, exatamente. Ela relatava o resultado da sondagem de outra pessoa, de outra rede, num momento anterior, contra um serviço que um voluntário pode desligar a qualquer momento. Entender essa lacuna transforma uma caçada frustrante numa curta sequência de verificações que você pode executar em qualquer candidato.

O que a lista realmente mediu

Um diretório público guarda campos como o horário da última verificação, um valor observado de tempo de ida e volta, uma contagem de sessões e às vezes uma lista de protocolos. Cada um deles descreve a última observação bem-sucedida do ponto de vista do próprio projeto, não o estado do nó quando seu pacote chega.

O frescor importa mais que o número. Um nó verificado quatro minutos atrás e um nó verificado quatro horas atrás podem mostrar o mesmo marcador verde, e só um deles ainda se parece com o estado registrado. Procure o carimbo de tempo, não a cor.

A operação voluntária acrescenta uma segunda fonte de mudança que nenhum monitor consegue corrigir. O operador pode estar reiniciando um notebook, ficando sem largura de banda, trocando de provedor ou simplesmente fechando a tampa. Uma entrada da lista é um candidato, e tratá-la como um acordo de nível de serviço é um erro de categoria.

Observe as fases do cliente, não o indicador giratório

Todo cliente VPN passa pela mesma sequência ampla: resolver o nome, abrir uma conexão de transporte, negociar a segurança, autenticar, depois configurar o túnel e passar dados. Uma falha em cada fase deixa evidências diferentes, e o indicador giratório não mostra nenhuma delas.

Comece pela resolução de nome. Se o nome do host não for resolvido, nada sobre a disponibilidade do nó foi testado, porque a conexão nunca saiu da sua máquina. Depois, o transporte: uma troca TCP ou UDP recusada ou expirada diz que o ponto final não responde nessa porta, o que é um achado real sobre o nó. Em seguida, negociação e autenticação, onde um certificado errado, um perfil expirado ou uma cifra incompatível falham enquanto o nó está perfeitamente saudável. Só depois que o túnel é configurado uma falha de roteamento ou DNS pode explicar o último passo.

Leia o log do cliente com o maior grau de detalhe que ainda cabe na tela, e anote a última linha que teve sucesso. Essa linha é onde o diagnóstico começa, e ela costuma ser mais informativa do que qualquer coisa que o diretório mostre.

Uma variável por tentativa

Compare candidatos com o mesmo cliente, a mesma rede de acesso e o mesmo formato de perfil, mudando apenas o ponto final. Caso contrário, a falha pode ser sua e você a atribuirá ao nó.

Duas tentativas bastam para estabelecer um padrão, e uma terceira o confirma. Se o nó A falha na fase de transporte e o nó B na autenticação, você tem dois problemas não relacionados em vez de uma lista desatualizada.

Quando todos os nós falham do mesmo jeito

Uma falha universal na primeira fase aponta para o seu lado: um resolvedor que não consegue responder, um firewall local que bloqueia o protocolo ou uma rede que permite apenas tráfego web. O diretório não pode relatar isso, porque suas sondagens não partem do seu assento.

Teste deliberadamente o caso da rede moldada. Algumas redes de acesso permitem HTTPS para a web e descartam outros protocolos, o que faz todo candidato parecer morto enquanto a lista está exata. Comparar o carregamento de uma página no navegador com uma tentativa de conexão bruta separa essas duas situações em menos de um minuto.

Leia a falha na fase em que ela ocorreu

Reproduza a tentativa num terminal para que as fases fiquem visíveis. Os três comandos abaixo resolvem o nome, testam se a porta responde e imprimem as linhas de negociação de um perfil OpenVPN:

dig +short node.example.net
curl -s --max-time 5 telnet://node.example.net:443
openvpn --config node.ovpn --verb 4 2>&1 | grep -iE "TLS|AUTH|PUSH"

Se a porta responde e a linha de negociação relata um problema de certificado, o nó está ativo e seu perfil está desatualizado. Se a porta não responde nada, a entrada é um candidato que falhou, e passar para o próximo é a resposta correta em vez de depurar seu cliente. Anote a fase numa linha curta, e a próxima tentativa começa com conhecimento em vez de esperança.

Artigos relacionados