
Troubleshooting de rede ponta a ponta: método em 5 camadas
Objetivos desta aula
- Aplicar um roteiro sistemático para “o site não abre”
- Isolar se o problema é DNS, rede, porta, TLS ou aplicação
- Usar a ferramenta certa para cada camada
- Documentar a investigação de forma clara
“O site não abre” é a frase mais ouvida em plantão. Em vez de chutar, use um método em camadas: comece de baixo e só suba quando a camada atual estiver comprovadamente ok.
Camada 1 — DNS: o nome resolve para o IP correto? dig +short app.exemplo.com. Se não resolve ou aponta errado, o problema é DNS — pare aqui.
Camada 2 — Alcance: o IP responde? ping testa (mas muitos servidores bloqueiam ICMP). traceroute ou mtr mostram em que salto os pacotes se perdem.
Camada 3 — Porta: o serviço aceita conexão? nc -zv ip 443. Refused = nada escutando; timeout = firewall/Security Group.
Camada 4 — TLS: o certificado é válido? curl -vI https://app mostra o handshake; openssl s_client -connect app:443 revela expiração e cadeia.
Camada 5 — Aplicação: a resposta HTTP faz sentido? Status 200, 4xx ou 5xx? Logs do Nginx e da aplicação dizem o resto. Um 502 aponta para o backend.
Teste de dentro e de fora: se funciona de dentro do servidor (curl localhost:3000) mas não de fora, o problema está entre os dois (proxy, firewall, balanceador).
Anote cada teste e resultado com horário. Além de ajudar o time, vira o rascunho do postmortem e evita repetir verificações.
Na prática
Roteiro rápido de diagnóstico
bash
HOST=app.exemplo.com
dig +short $HOST # 1. DNS
mtr -rwc 10 $HOST # 2. caminho de rede
nc -zv $HOST 443 # 3. porta
curl -svI https://$HOST 2>&1 | grep -E "expire|HTTP/" # 4. TLS + status
ssh servidor 'curl -s -o /dev/null -w "%{http_code}\n" localhost:3000/health' # 5. app por dentroPor que isso importa
Um método sistemático reduz drasticamente o tempo de resolução (MTTR) e evita mudanças às cegas em produção.
Erro comum
Reiniciar servidores antes de investigar, apagando evidências e sem descobrir a causa.
Dica de produção
Transforme esse roteiro em um runbook do time e em verificações sintéticas automáticas.
Pergunta de entrevista
Um usuário diz que o site não abre. Quais passos você segue, em ordem?
Glossário
- mtr
- Combina ping e traceroute em tempo real.
- Handshake TLS
- Negociação inicial que estabelece a conexão segura.
- MTTR
- Tempo médio para restaurar o serviço.
- Runbook
- Roteiro documentado para resolver um tipo de problema.
Conexão com o CloudShop
O Dragão 502 do reino das Redes é derrotado exatamente com este roteiro em camadas.
Quiz da aula
1. Qual a primeira camada a verificar?
2. Funciona via `curl localhost` mas não de fora. Onde está o problema provável?
3. Que ferramenta mostra a expiração do certificado?
Minhas anotações
Salvo automaticamente neste navegador.
