Quando o negative caching TTL do SOA está muito baixo, o autoritativo recebe consultas repetidas para respostas NXDOMAIN, aumentando carga sem ganho real. No HestiaCP, o padrão costuma vir agressivo para cenários de produção com volume. Neste artigo, descrevo como trato esse ajuste de forma controlada.
Contexto técnico do SOA
No registro SOA, o último campo define o tempo de cache para respostas negativas (quando o registro não existe). Esse valor impacta diretamente:
- frequência de requisições repetidas no Bind;
- latência percebida em resoluções inexistentes;
- carga do autoritativo em ambiente com alto volume.
Valor padrão observado no painel
No meu ambiente Hestia, o template gerava valor baixo (180).
Exemplo:
$TTL 14400
@ IN SOA ns1.exemplo.com. admin.exemplo.com. (
2025030101
7200
3600
1209600
180 )
Estratégia de ajuste
Eu não altero direto em produção sem medir. O fluxo que aplico:
- capturar zonas atuais;
- ajustar template para novas zonas;
- validar criação de zona piloto;
- aplicar alteração gradual no parque existente.
Ajuste no script do Hestia (template de novas zonas)
cp /usr/local/hestia/func/domain.sh /usr/local/hestia/func/domain.sh.bak.$(date +%F-%H%M)
sed -i 's/ 180 )/ 1800 )/g' /usr/local/hestia/func/domain.sh
Observação: esse ajuste afeta geração futura. Zonas já existentes não mudam automaticamente.
Aplicação em zonas existentes
Para cada zona, eu reviso com named-checkzone após edição.
named-checkzone exemplo.com.br /home/admin/conf/dns/exemplo.com.br.db
Se ok, recarrego Bind sem restart completo:
rndc reload
Validação operacional
- consultar SOA atualizado:
dig +noall +answer SOA exemplo.com.br
- validar serial incrementado;
- confirmar resposta do autoritativo sem erro de sintaxe.
Risco de update do Hestia sobrescrever ajuste
Atualizações do painel podem regravar domain.sh. Por isso mantenho:
- backup datado;
- diff do arquivo customizado;
- tarefa de pós-update para reaplicar patch se necessário.
Exemplo de verificação rápida pós-update:
grep -n '1800' /usr/local/hestia/func/domain.sh || echo 'ajuste ausente'
Estratégia de rollback e governança
Se o ajuste gerar efeito colateral em algum tenant sensível, aplico rollback imediato no template:
cp /usr/local/hestia/func/domain.sh.bak.YYYY-MM-DD-HHMM /usr/local/hestia/func/domain.sh
Depois, reviso somente as zonas impactadas, mantendo serial consistente e recarregando via rndc reload.
Também deixo regra operacional documentada:
- toda alteração em template DNS precisa de ticket/change;
- validação de zona obrigatória com
named-checkzone; - recarga sem restart total;
- evidência de
dig SOAanexada no fechamento.
Conclusão
Ajustar SOA no HestiaCP é simples tecnicamente, mas precisa de método para não virar despadronização silenciosa. Com backup, validação named-checkzone e controle pós-update, o ajuste reduz carga recorrente no DNS e mantém operação estável.
Este post está licenciado sob CC BY-NC.
Comentários
Participe da discussão abaixo.
Comentários ainda não configurados. Adicione as opções do Cusdis em /assets/json/config/blog-comments-config.json.