Uma página carrega pelo túnel enquanto uma varredura de portas informa que o host está inativo, e o primeiro instinto é que a VPN está bloqueando algo. Normalmente ela não bloqueia nada novo. Os dois testes pedem ao sistema operacional capacidades diferentes, e apenas um deles precisa de acesso bruto aos pacotes. Descubra qual capacidade falhou antes de tocar no túnel.

Separe a capacidade do túnel

Um aplicativo comum pede ao kernel que abra uma conexão TCP, e o kernel realiza o handshake sem privilégio especial. Uma varredura bruta constrói os pacotes por conta própria, o que exige um socket bruto ou um driver de captura dependendo da plataforma. São questões de permissão e de driver, e existem com ou sem uma VPN conectada.

Essa distinção explica a assimetria comum. curl funciona porque o caminho do socket funciona, enquanto a varredura SYN falha porque o processo não consegue abrir um socket bruto na interface do túnel. Ela também explica o caso inverso, em que uma varredura bruta informa filtrado porque o caminho descarta a sonda enquanto o caminho da aplicação continua bom.

Nenhum dos dois resultados descreve o serviço remoto. Ambos descrevem um caminho sob um método, então mantenha o método preso à conclusão.

Execute a verificação de conexão em um único host aprovado

Escolha o único host que sua tarefa cobre e use o modo que não exige acesso bruto. O alvo do exemplo aqui é 198.51.100.24, espaço de documentação reservado para esse tipo de ilustração.

Uma linha, um host, uma porta, nenhuma fase de descoberta:

nmap -sT -Pn -p 443 --unprivileged 198.51.100.24

-sT seleciona uma conexão TCP completa, então exercita o mesmo caminho do kernel que um aplicativo usa e não precisa de driver de captura. -Pn ignora a descoberta de hosts; o nmap ainda faz resolução de camada de enlace para alvos no segmento local, então a opção não é uma promessa de tráfego preliminar zero. --unprivileged diz ao nmap para assumir que não tem direitos brutos nem de escuta, o que muda o método e não concede nada.

Leia cada opção como uma mudança, não como um reparo

Trate cada opção como uma afirmação sobre o método. Nenhuma de -sT, -Pn ou --unprivileged adiciona uma rota, abre um firewall remoto ou valida um certificado. Uma varredura de conexão também conclui um handshake real que o serviço registra, então uma verificação aprovada e uma varredura não aprovada parecem iguais do servidor, exceto pelo escopo e pelo ritmo. Empilhar opções até a saída mudar é como um problema de método é registrado como uma descoberta de rede.

Quando a saída diz fechado, algo respondeu com um reset, e isso é uma descoberta diferente do silêncio. Quando a saída diz filtrado, um dispositivo descartou a sonda ou a resposta, e a VPN pode ser incidental. Anote a formulação exata, porque um veredito da fase de descoberta e uma falha no nível da sonda apontam para camadas diferentes.

Se um modo privilegiado for realmente necessário, o dono da plataforma decide se o privilégio, o driver e a disposição das interfaces são suportados. Elevar a mesma invocação não muda o método.

Pare no resultado do transporte e depois teste o serviço

Um handshake concluído responde a uma pergunta sobre um endereço, porta, origem e momento. Não prova que o backend está saudável, porque um balanceador de carga ou proxy frontal pode aceitar a conexão enquanto o aplicativo por trás está parado.

Continue com o cliente próprio do serviço para que a identidade TLS e o comportamento do aplicativo sejam observados como fatos separados:

openssl s_client -connect 198.51.100.24:443 -servername staging.example.net </dev/null 2>/dev/null | openssl x509 -noout -subject -dates
curl -sS -o /dev/null -w '%{http_code}\n' https://staging.example.net/health

Mais um hábito mantém o resultado útil. Anote o comando exato, o endereço de origem usado e a hora, porque um resultado de transporte sem esse contexto não pode ser reproduzido nem comparado.

Se o certificado nomeia um host que você não esperava, o transporte funcionou e o roteamento nunca foi o problema; a falha está na hospedagem virtual ou no DNS. Se o handshake falhar, registre a string de erro local em vez de generalizar sobre o túnel. Mantenha a nota de escopo ao lado do resultado, porque a próxima pessoa precisa saber qual método o produziu.

Artigos relacionados