Como instalar o cPanel DNSOnly gratuito em um servidor separado e ligá-lo ao WHM em um cluster de DNS, com ns1 e ns2 próprios e redundantes.
O cPanel DNSOnly é a versão do cPanel que só faz DNS. Ele não hospeda sites nem e-mails: recebe as zonas DNS dos seus servidores cPanel e responde por elas. Com ele você tira o DNS do servidor de hospedagem e monta nameservers próprios e redundantes, por exemplo ns1.seudominio.com.br e ns2.seudominio.com.br em máquinas diferentes. O DNSOnly é gratuito.
Antes de começar
- Um servidor (ou VPS) só para o DNSOnly, com instalação limpa de um sistema suportado pelo cPanel atual (AlmaLinux 8, 9 ou 10, CloudLinux ou Ubuntu 24.04) e IP público fixo.
- Hostname completo que aponte para o IP do servidor, por exemplo
ns1.seudominio.com.br. - Portas liberadas no firewall:
53(TCP e UDP) para o DNS,2087para o WHM e953apenas para uso local. A porta25de saída só é necessária se você quiser receber os alertas por e-mail. - Pelo menos um servidor cPanel e WHM que vai enviar as zonas para o DNSOnly.
Como instalar o cPanel DNSOnly
- Atualize o sistema e defina o hostname.
dnf -y update hostnamectl set-hostname ns1.seudominio.com.br - Baixe e rode o instalador oficial do DNSOnly, de preferência dentro de uma sessão
tmux:cd /home curl -o latest-dnsonly -L https://securedownloads.cpanel.net/latest-dnsonly sh latest-dnsonly - Acesse o WHM do DNSOnly. Abra
https://203.0.113.20:2087e entre comoroot. - Escolha o software de DNS. Em WHM » Service Configuration » Nameserver Selection, use PowerDNS ou BIND. Se algum domínio do cluster usar DNSSEC, todos os servidores do cluster precisam rodar PowerDNS. No Ubuntu, só o PowerDNS é suportado.
- Crie um token de API. No DNSOnly, vá em WHM » Development » Manage API Tokens, gere um token para o root e guarde o valor em local seguro: ele só aparece uma vez.
Como ligar o servidor cPanel ao DNSOnly (DNS Cluster)
A configuração é feita no servidor cPanel que hospeda os sites.
- Ative o cluster. Em WHM » Clusters » DNS Cluster, clique em Enable DNS clustering.
- Adicione o DNSOnly. Em Backend Type, escolha cPanel e clique em Configure.
- Preencha a conexão. Em Remote cPanel & WHM DNS host coloque o IP ou o hostname do DNSOnly; em Remote server username,
root; em Remote server API token, o token criado acima. - Escolha o papel (DNS Role). Para o servidor de hospedagem enviar as zonas ao DNSOnly, use Synchronize Changes. O papel Write-only também envia, mas não confere se a zona já existe antes de criar uma conta.
- Clique em Submit. Repita para o segundo DNSOnly (o
ns2), se houver. - Envie as zonas que já existem. Em WHM » DNS Functions » Synchronize DNS Records, escolha Synchronize all zones to all servers. Depois crie uma conta de teste e confira se a zona dela aparece no DNSOnly.
Registre os nameservers no domínio
Para a internet saber que ns1 e ns2 existem, eles precisam ser cadastrados com IP no registro do domínio (o chamado glue record). No Registro.br, ao informar como DNS um servidor que fica dentro do próprio domínio, o painel pede o IP de cada um. Em outros registradores a opção costuma se chamar Child nameservers ou Register nameserver. Em seguida, defina esses nomes como nameservers padrão no WHM, como explicado em como configurar o DNS padrão no WHM.
Como testar o cluster de DNS
dig @203.0.113.20 seudominio.com.br SOA +short
dig @203.0.113.21 seudominio.com.br A +short
Os dois DNSOnly devem responder com os mesmos dados. Se um deles não responder, confira a porta 53 (TCP e UDP) no firewall e o status do cluster em WHM » Clusters » DNS Cluster.
Problemas comuns
A zona criada no cPanel não aparece no DNSOnly
O token de API foi digitado errado, expirou ou foi apagado, ou a porta 2087 do DNSOnly está bloqueada para o IP do servidor cPanel. Refaça o token e teste a conexão na tela do DNS Cluster.
Domínio com DNSSEC parou de resolver
Algum servidor do cluster está com BIND. Com DNSSEC, todos precisam usar PowerDNS.
DNS desconhecido no registro mesmo com a zona criada
Veja o artigo sobre DNS desconhecido mesmo com a zona criada no servidor.