Como descobrir quais domínios hospedados no seu servidor cPanel ainda apontam para ele e quais já foram para outro IP, com um script simples ou plugin.
Com o tempo, todo servidor acumula contas cujos domínios não apontam mais para ele: o cliente mudou de hospedagem e não avisou, o domínio expirou ou o DNS foi trocado durante uma migração. Saber quem são esses domínios ajuda a limpar contas abandonadas, a planejar migrações e a entender falhas do AutoSSL, que não consegue validar domínio que aponta para outro lugar.
Antes de começar
- Acesso SSH como
rootao servidor cPanel. - O comando
diginstalado. No AlmaLinux e CloudLinux ele vem no pacotebind-utils; no Ubuntu, emdnsutils.
Como verificar o apontamento de todos os domínios com um script
O cPanel mantém a lista de domínios do servidor no arquivo /etc/userdomains (um domínio por linha, seguido do usuário dono). O script abaixo consulta o registro A de cada domínio em um DNS público e compara com os IPs do servidor.
- Crie o script.
Cole o conteúdo:nano /root/checar-apontamento.sh#!/bin/bash # IPs locais + IP público visto de fora (útil em servidores atrás de NAT) IPS="$(hostname -I) $(curl -s http://myip.cpanel.net/v1.0/)" grep -v '^\*' /etc/userdomains | cut -d: -f1 | sort -u | while read -r dom; do ip=$(dig +short A "$dom" @1.1.1.1 | tail -n1) if [ -z "$ip" ]; then echo "SEM-RESPOSTA $dom" elif ! grep -qwF "$ip" <<< "$IPS"; then echo "OUTRO-IP $dom -> $ip" fi done - Dê permissão e rode.
chmod 700 /root/checar-apontamento.sh /root/checar-apontamento.sh | tee /root/apontamento-$(date +%F).txt - Leia o resultado. Só aparecem os domínios com problema.
OUTRO-IPindica que o domínio resolve para um IP que não é deste servidor;SEM-RESPOSTAindica domínio sem registro A, expirado ou com DNS quebrado.
@1.1.1.1) de propósito. Se você consultar o DNS do próprio servidor, ele responde com as zonas locais e todos os domínios parecem corretos.OUTRO-IP mesmo estando hospedado aqui. Confira esses casos antes de suspender ou remover qualquer conta.Outras formas de enxergar domínios que não apontam para o servidor
- Logs do AutoSSL: em WHM » SSL/TLS » Manage AutoSSL, aba Logs, as falhas de validação (DCV) costumam ser justamente de domínios que apontam para outro IP.
- Nameserver Record Report: em WHM » DNS Functions » Nameserver Record Report você vê quantas zonas usam cada nameserver. O relatório se baseia nas zonas locais, não no DNS real da internet, então serve como apoio, não como prova.
- Plugin Account DNS Check: plugin gratuito de terceiros (NDCHost) que gera o mesmo relatório dentro do WHM, em Plugins. A última versão é de 2017; teste antes de confiar, porque o PHP interno do WHM mudou muito desde então. A instalação está na página oficial do plugin.
Problemas comuns
dig: command not found
Instale o pacote: dnf -y install bind-utils (AlmaLinux e CloudLinux) ou apt -y install dnsutils (Ubuntu).
Todos os domínios aparecem como OUTRO-IP
O servidor está atrás de NAT e o IP público não foi detectado. Rode curl -s http://myip.cpanel.net/v1.0/; se não responder, a saída para a internet está bloqueada no firewall.
O script demora muito
Cada domínio faz uma consulta DNS. Em servidores com milhares de domínios, rode dentro de uma sessão tmux para não perder o resultado se a conexão cair.