Descrever um fluxo reproduzível
Começa pela operação que falha: processo, namespace, endereço de origem, nome e porta de destino, instante e resultado esperado. Um teste no host é útil para comparação, mas pode usar outro resolver ou outra tabela de encaminhamento. Num contentor, confirma a vista efetiva antes de alterar o host. Se a aplicação mantém cache ou usa um resolver próprio, uma consulta getent não reproduz automaticamente esse comportamento. Regista quais condições conseguiste igualar e quais continuam diferentes. Esse registo evita que uma equipa receba apenas “a rede funciona” quando o consumidor real continua sem obter o resultado necessário.
Escolher a rota com os mesmos seletores
Uma consulta de encaminhamento responde à decisão local para os parâmetros fornecidos. ip route get pode incluir origem, marca e outros seletores; não envia um pacote para demonstrar chegada ao destino. Na tabela selecionada, a especificidade do prefixo importa: uma rota /24 pode ser escolhida sobre uma /16 com métrica menor. Antes da tabela, regras de policy routing podem encaminhar tráfego marcado para outro conjunto de rotas. Compara os seletores da aplicação e do teste, incluindo a prioridade numérica das regras. Uma correção deve limitar-se ao fluxo autorizado e ter validação também do caminho de retorno, sem apagar políticas globais por tentativa.
Interpretar sockets sem inventar a causa
Uma porta em LISTEN tem um endereço e um contexto. Escutar apenas em 127.0.0.1 não equivale a disponibilizar a porta na interface usada pelo cliente remoto. Em IPv6, a presença de [::] não resolve sozinha se o socket aceita IPv4; verifica a opção efetiva e o comportamento. SYN-SENT mostra uma tentativa ainda não concluída. Recusa imediata e expiração orientam investigações diferentes, mas não identificam automaticamente firewall, servidor ou equipa responsável. Um denial local correlacionado com EACCES é outra pista concreta. Liga cada observação ao instante e ao fluxo, mantendo a recolha limitada e evitando conteúdo sensível desnecessário.
Separar nome, destino e confiança TLS
Num teste de migração, podes querer contactar um IP candidato mantendo o nome utilizado pelos clientes. Num pedido direto sem proxy nem redirects, curl --resolve permite substituir a resolução de um par nome/porta e conservar o URL nominal. Mantém a confiança autorizada e a validação TLS. Alterar apenas o cabeçalho Host num URL com IP não é a mesma verificação. Em s_client, SNI e verificação de nome também são decisões distintas; o modo de diagnóstico pode continuar após erros, pelo que o estado de validação e a opção de falhar têm de ser explícitos. Regista o certificado, nome e resultado relevantes sem recolher segredos.
Medir fases e aceitar o resultado certo
Os tempos de curl apresentados neste módulo são marcos desde o início. Numa ligação nova direta, subtrair time_connect de time_appconnect ajuda a estimar o intervalo entre TCP e TLS concluídos. Esse intervalo não é uma medição de CPU do servidor. Um limite de ligação de três segundos dentro de um limite global de dez não cria treze segundos de orçamento. Depois de estabelecer a sessão, valida código HTTP e conteúdo segundo o contrato. Receber um corpo 503 pode ser sucesso de transferência e falha funcional. A ficha de diagnóstico deve separar observação, hipótese, próxima verificação e critério de recuperação do consumidor.
ip rule show
ip route get 192.0.2.40
ss -lnt
getent hosts api.example.testExemplo fictício: o teste sem marca usa main e funciona; a aplicação usa fwmark 0x20 e table 200 e expira. Reproduz os seletores na consulta e compara a rota, sem tratar sucesso num fluxo diferente como recuperação da aplicação.
Armadilhas comuns
Testar no contexto errado; comparar marcas diferentes; assumir dual stack; usar -k como aceitação TLS; somar tempos cumulativos; confundir HTTP recebido com resultado funcional.
Tópicos relacionados: Separar DNS, ligação, TLS e aplicação · Shell: argumentos, pipelines e códigos de saída · Isolar recursos e comprovar prontidão em Linux · Recuperar filesystems e publicar dados com segurança
A evidência só demonstra o fluxo e a fase observados. Recuperação exige reproduzir o consumidor e validar o seu resultado.
Referência: ip-route(8) · DR Linux 2026.4; networking and Bash manuals reviewed 2026-10-01; cgroup v2 and upstream systemd manuals reviewed 2026-10-01; RHEL 10 examples; Linux man-pages 6.19; OpenSSL 3.5