CL-2026-03-10-BK-112 · BK-112 Monitor DNS/rede externa para parar o diagnóstico em looping
- Status: (V) conferido e aprovado
- Escopo: plataforma
- Projetos afetados: cerebro, rionoteatro, seuimovel, legalizarj
- BK relacionado: BK-112
- Aprovação humana obrigatória: nao
- Data: 2026-03-10
- Autor: Codex (GeJoRei-VPS)
Resumo
Implantado monitor externo de DNS/rede no Cérebro para separar falha de resolução, falha de saída HTTPS por IPv4 e comportamento de IPv6. O objetivo é interromper o ciclo de correções repetidas baseadas apenas em smoke tests curtos após mudanças em IPv4/IPv6.
Contexto
- Já havia uma intervenção anterior registrada em CHANGELOG_DNS_FIX_20260306.md, com ativação de precedência IPv4 em
/etc/gai.conf. - Em
2026-03-10, a VPS voltou a apresentar falha intermitente emgit pushcomCould not resolve host: github.com, apesar degai.confcontinuar configurado. - Conclusão operacional: a alteração de precedência IPv4 permaneceu válida, mas não foi suficiente para eliminar a intermitência de DNS/rede externa.
Entregas Técnicas
1) Monitor dedicado de DNS/rede externa
- Criado o script monitor_dns_network_external.sh.
- O script verifica:
- resolução do sistema via
getent - resolução por DoH via
dns.googleecloudflare-dns.com, independente do resolver do sistema - saída HTTPS por IPv4
- saída HTTPS por IPv6
- Alvos monitorados:
github.comapi.github.comacme-v02.api.letsencrypt.org
2) Critério de alerta mais preciso
- Falha crítica:
getentdo sistema falha, DoH emAfalha nos dois provedores, ou HTTPS em IPv4 falha. - Telemetria de apoio: status de IPv6 e
AAAAfica em log comoWARN, sem virar alerta sozinho. - O alerta usa o mesmo canal WhatsApp já empregado pelos monitores externos do Cérebro.
3) Frequência e persistência operacional
- Agendado no
crontabdorootpara rodar a cada5minutos. - Log dedicado em
/www/server/cron/cerebro_dns_network_monitor.log. - Rotação diária do log com retenção de
14arquivos. - Estado local com
fail_streakecooldownpara evitar flood.
Evidências Objetivas
- Estado observado em
2026-03-10: /etc/gai.confainda comprecedence ::ffff:0:0/96 100/etc/resolv.confcom1.1.1.1,8.8.8.8,9.9.9.9- Execução validada do monitor:
github.com: sistemaok, DoHok, HTTPS IPv4200, HTTPS IPv6000api.github.com: sistemaok, DoHok, HTTPS IPv4200, HTTPS IPv6000acme-v02.api.letsencrypt.org: sistemaok, DoHok, HTTPS IPv4200, HTTPS IPv6200- Agendamento instalado:
/5 * /root/cerebro/tools/monitor_dns_network_external.sh >> /www/server/cron/cerebro_dns_network_monitor.log 2>&1- Logrotate instalado:
/etc/logrotate.d/cerebro_dns_network_monitor- Interpretação: o problema recorrente não pode mais ser tratado apenas como “IPv6 antes de IPv4”; agora existe separação objetiva por camada.
Riscos Residuais
- A VPS ainda pode sofrer intermitência real de DNS ou de rota externa; o monitor reduz o tempo de diagnóstico, mas não substitui correção de infraestrutura do provedor.
github.comeapi.github.comseguem sem conectividade IPv6 útil na prática (https6=000), o que hoje fica como telemetria e não como incidente.