Uma lista pública de nós mostra um servidor com tempo de atividade medido em semanas, então você o escolhe, e a conexão falha na primeira tentativa. Isso não é publicidade enganosa; é a pergunta errada feita a um número que mede outra coisa. O tempo de atividade costuma indicar quanto tempo um processo, contêiner ou máquina está em execução desde a última inicialização, e isso é uma propriedade da infraestrutura do publicador, não do seu caminho até ele. Tratá-lo como confiabilidade é o mesmo erro de categoria que tratar o odômetro de um carro como um relatório da estrada.

O que o número mede

Em um host com um gerenciador de serviços moderno, o contador está ancorado a um evento que você realmente pode ler: o carimbo de data e hora em que a unidade entrou no estado ativo, ou o horário de inicialização da máquina. Todo o resto é aritmética sobre essa âncora, e a definição da âncora varia entre publicadores. Uma lista pode zerar na reinicialização do daemon, outra na reinicialização da máquina e uma terceira em um reset manual feito por um operador que queria um gráfico limpo.

systemctl show -p ActiveEnterTimestamp --value openvpn-server@server
uptime -s
systemctl is-active openvpn-server@server

Esses três comandos respondem a três perguntas diferentes, e um diretório que mostra um único número não pode dizer qual deles foi usado. Portanto, comparar um contador bruto de duas listas não é comparação alguma até você saber em que cada um zera.

Um processo pode estar no ar enquanto o caminho está fora

O daemon escuta. O certificado é válido. O processo está vivo há vinte e três dias. Nada disso garante que os pacotes da sua rede o alcancem, porque a acessibilidade é uma propriedade de todo o caminho: o uplink do provedor, o peering entre a rede dele e a sua, o congestionamento em um link de trânsito compartilhado e o firewall diante da sua própria conexão.

Um servidor também pode estar no ar e ser inútil por outro motivo. Um nó que aceitou muito mais clientes do que a sua largura de banda suporta mostrará um longo tempo de atividade e uma experiência terrível, porque o contador não mede capacidade nem contenção. Esta é a forma mais comum de um nó com muito tempo de atividade decepcionar: nada está quebrado, tudo está ocupado.

Também vale lembrar o caso inverso. Um nó reiniciado há uma hora pode estar perfeitamente saudável agora, e a ordenação pelo maior número o exclui silenciosamente. Tempo de atividade não é uma nota de qualidade, e tratá-lo como tal seleciona por idade em vez de adequação.

Atualidade: o relatório é mais antigo que a sua tentativa

Diretórios públicos são páginas geradas a partir de verificações periódicas, não telemetria ao vivo. O tempo de atividade que você lê foi calculado na última atualização, e a conexão que você tenta acontece depois. Nesse meio-tempo, um provedor pode derrubar um link, trocar um certificado, mover um endereço ou tirar um nó de serviço, e a página continuará mostrando o último estado bom conhecido até o próximo rastreamento.

Essa lacuna também funciona no sentido oposto. Um nó relatado como fora do ar pode ter se recuperado minutos após a geração do relatório, então tentar novamente de imediato em outro nó nem sempre é a melhor escolha.

A regra prática é que cada campo relatado é uma afirmação sobre o passado. Use-o para montar uma lista curta e depois verifique com uma medição que você mesmo faça no momento que lhe importa.

O que testar em vez disso

Decida o que você precisa do nó e teste isso. Se precisa de acessibilidade, uma tentativa de conexão TCP à porta de escuta lhe diz em um segundo mais do que qualquer contador. Se precisa de um túnel funcionando, negocie um. Se precisa de vazão utilizável, transfira algo real e meça, porque tempo de conexão e vazão são propriedades diferentes e um aperto de mão rápido não diz nada sobre a segunda.

nc -vz -w 5 vpn.example.net 1194
curl -sS -o /dev/null -w '%{time_connect} %{time_appconnect} %{time_total}\n' https://vpn.example.net/
mtr -rwc 20 vpn.example.net

Repita o teste em vez de confiar em uma única tentativa. Confiabilidade é uma distribuição ao longo do tempo e das condições, e uma conexão bem-sucedida é uma amostra de tamanho um. Algumas tentativas nas horas em que você realmente usa a conexão superarão qualquer tempo de atividade publicado com ampla margem.

Ler listas públicas de nós sem ser induzido a erro

O tempo de atividade também não traz informação sobre o que as pessoas costumam querer de uma VPN: a validade do certificado, quem opera a saída, qual política de DNS se aplica e se o operador guarda registros de conexão. São afirmações separadas que exigem evidências separadas, e um contador longo não é evidência de nenhuma delas. Um nó pode ser estável por meses e ainda assim ser uma má escolha para um requisito de privacidade.

Onde uma lista realmente ajuda é a montar a lista curta. Ordene pelo que você sabe que precisa, filtre os nós de regiões irrelevantes para a tarefa e teste os três ou quatro que restarem. Guarde o estágio de falha de cada tentativa em vez de um simples sim ou não, porque «o aperto de mão TLS falhou» e «conectado mas sem vazão» levam a conclusões completamente diferentes.

O quadro para medir o desempenho do caminho faz o mesmo ponto de forma mais rigorosa: defina a métrica, as condições e o método antes de coletar números. Aplicado a uma lista de nós, isso significa que o campo de tempo de atividade é contexto. A medição que você faz é a decisão.

Artigos relacionados