Servidor de Nomes de Domínio (DNS) é um componente crítico da infraestrutura da internet, e construir seu próprio servidor DNS pode ser desafiador. Bem, não com o BIND, onde você pode criar seu servidor DNS BIND em pouco tempo. O BIND tem uma excelente reputação entre os administradores por sua flexibilidade e suporte de alta disponibilidade.
Neste artigo, você aprenderá como instalar e configurar um servidor DNS BIND seguro e verificar que os subdomínios são resolvidos para o endereço IP correto.
Continue lendo e crie seu servidor DNS sem esforço!
Pré-requisitos
Este tutorial será uma demonstração prática. Para acompanhar, certifique-se de ter o seguinte.
- A Linux server – This example uses the Ubuntu 20.04 server.
- A non-root user with root privileges or root/administrator user.
- A domain name pointed to the server IP address – This demo uses the atadomain.io domain and server IP address 172.16.1.10.
Instalando Pacotes BIND
O repositório padrão do Ubuntu fornece pacotes BIND, mas não vem instalado no seu sistema. Você pode instalar o BIND como o principal servidor DNS ou apenas autoritário. O BIND oferece recursos poderosos, como suporte à instalação mestre-escravo, suporte DNSSEC e Listas de Controle de Acesso (ACL) integradas.
Para começar com o BIND DNS, você primeiro precisará instalar os pacotes BIND em sua máquina com o gerenciador de pacotes apt.
1. Abra seu terminal e faça login no seu servidor.
2. Em seguida, execute o comando apt update
abaixo para atualizar e atualizar o índice de pacotes do repositório. Este comando garante que você esteja instalando a versão mais recente dos pacotes.

3. Depois de atualizado, execute o comando apt install
abaixo para instalar os pacotes BIND para o servidor Ubuntu.
Os pacotes bind9-utils e bind9-dnsutils fornecem ferramentas adicionais de linha de comando para BIND. Esses pacotes são úteis para testar e gerenciar o servidor DNS BIND.

4. Por último, execute o comando systemctl
abaixo para verificar o serviço BIND.
O pacote BIND vem com o serviço named e é iniciado e habilitado automaticamente durante a instalação do pacote BIND.
Agora você deve ver que o serviço BIND named está habilitado com o status ativo (em execução). Neste ponto, o serviço BIND será executado automaticamente na inicialização do sistema.

Configurando o Servidor DNS BIND
Você instalou os pacotes BIND no servidor Ubuntu, então é hora de configurar a instalação do BIND em seu servidor Ubuntu. Como? Editando as configurações do BIND e do serviço named
.
Toda a configuração para o BIND está disponível no diretório /etc/bind/, e as configurações para o serviço named
em /etc/default/named.
1. Edite a configuração /etc/default/named usando seu editor preferido e adicione a opção -4
na linha OPTIONS
, como mostrado abaixo. Esta opção fará com que o serviço named
execute apenas no IPv4.
Salve as alterações feitas e feche o arquivo.

2. Em seguida, edite o arquivo /etc/bind/named.conf.options e adicione a seguinte configuração abaixo da linha directory "/var/cache/bind";
.
Esta configuração define o serviço BIND para executar na porta UDP padrão 53 no localhost do servidor e no endereço IP público (172.16.1.10). Ao mesmo tempo, permite consultas de qualquer host para o servidor DNS BIND usando o DNS do Cloudflare 1.1.1.1 como encaminhador.
No final, comente a linha listen-on-v6 { any; }; como mostrado abaixo, para desativar o serviço named de executar no IPv6.

3. Por último, execute o seguinte comando para verificar a configuração do BIND.
Se não houver saída, as configurações do BIND estão corretas, sem nenhum erro.

Configurando Zonas DNS
Neste ponto, você configurou a configuração básica do servidor DNS BIND. Você está pronto para criar um servidor DNS com seu domínio e adicionar outros subdomínios para suas aplicações. Você precisará definir e criar uma nova configuração de zonas DNS para fazer isso.
Neste tutorial, você criará um novo Servidor de Nomes (ns1.atadomain.io) e subdomínios (www.atadomain.io, mail.atadomain.io, vault.atadomain.io).
1. Edite o arquivo /etc/bind/named.conf.local usando seu editor preferido e adicione a seguinte configuração.
Esta configuração define a zona de encaminhamento (/etc/bind/zones/forward.atadomain.io) e a zona reversa (/etc/bind/zones/reverse.atadomain.io) para o nome de domínio atadomain.io.
Salve as alterações e feche o arquivo.

2. Em seguida, execute o comando abaixo para criar um novo diretório (/etc/bind/zones
) para configurações de zonas DNS.
3. Execute cada comando abaixo para copiar as configurações padrão de zonas de encaminhamento e reversa para o diretório /etc/bind/zones
.

4. Agora, edite a configuração da zona de encaminhamento (/etc/bind/zones/forward.atadomain.io) usando seu editor preferido e preencha a configuração abaixo.
A configuração da zona de encaminhamento é onde você define o nome de domínio e o endereço IP do servidor. Esta configuração irá traduzir o nome de domínio para o endereço IP correto do servidor.
A configuração abaixo cria o seguinte servidor de nomes e subdomínios:
ns1.atadomain.io
– O servidor de nomes principal para seu domínio com o endereço IP172.16.1.10
.
- Registro MX para o domínio
atadomain.io
que é gerenciado pelomail.atadomain.io
. O registro MX é usado para o servidor de email.
- Subdomínios para aplicações:
www.atadomain.io
,mail.atadomain.io
evault.atadomain.io
.
Salve as alterações e feche o arquivo.

5. Assim como a zona de encaminhamento, edite o arquivo de configuração da zona reversa (/etc/bind/zones/reverse.atadomain.io) e preencha a seguinte configuração.
A zona reversa traduz o endereço IP do servidor para o nome de domínio. A zona reversa ou registro PTR é essencial para serviços como o servidor de email, que afeta a reputação do servidor de email.
O registro PTR usa o último bloco do endereço IP, como o registro PTR com o número 10 para o endereço IP do servidor 172.16.1.10.
Esta configuração cria a zona reversa ou registro PTR para os seguintes domínios:
- Servidor de nomes
ns1.atadomain.io
com a zona reversa ou registro PTR172.16.1.10
.
- Registro PTR para o domínio
mail.atadomain.io
para o endereço IP do servidor172.16.1.20
.
Salve as alterações e feche o arquivo.

6. Agora, execute os seguintes comandos para verificar e confirmar as configurações do BIND.
Quando sua configuração estiver correta, você verá uma saída semelhante à abaixo.

7. Por último, execute o comando systemctl
abaixo para reiniciar e verificar o serviço named
. Fazendo isso, aplica novas alterações ao serviço named
.
Abaixo, você pode ver que o status do serviço named está ativo (em execução).

Abrindo a Porta DNS com o Firewall UFW
Neste ponto, você concluiu a instalação do Servidor DNS BIND. Mas ainda precisa proteger seu Servidor DNS. Você configurará o firewall UFW e abrirá a porta DNS para quaisquer consultas ao servidor. Fazendo isso permite que os clientes façam uma consulta ao servidor DNS BIND.
Por motivos de segurança, é recomendado executar e habilitar o firewall UFW em seu servidor Ubuntu.
1. Execute o comando ufw
abaixo para verificar as aplicações disponíveis no firewall UFW.
Você deve ver o Bind9 na lista de aplicativos do UFW abaixo.

2. Agora execute o comando abaixo para permitir
o Bind9 no firewall UFW.

3. Por último, execute o seguinte comando para verificar as regras habilitadas no firewall UFW.
Você deve ver o aplicativo Bind9 na lista, como na captura de tela abaixo.

Verificando a Instalação do Servidor DNS BIND
Agora você concluiu a instalação do BIND DNS e configurou o firewall UFW. Mas como você verifica a instalação do seu servidor DNS? O comando dig
resolverá o problema.
Dig é uma utilidade de linha de comando para solução de problemas de instalação de servidor DNS. O dig
realiza uma consulta DNS para o nome de domínio fornecido e exibe respostas detalhadas para o alvo do nome de domínio. No sistema Ubuntu, o dig
faz parte do pacote bind9-dnsutil
.
Para verificar a instalação do seu servidor DNS BIND:
1. Execute cada comando dig
abaixo para verificar os subdomínios www.atadomain.io
, mail.atadomain.io
e vault.atadomain.io
.
Se a instalação do seu servidor DNS for bem-sucedida, cada subdomínio será resolvido para o endereço IP correto com base na configuração forward.atadomain.io.
Abaixo está a saída do subdomínio www.atadomain.io resolvido para o endereço IP do servidor 172.16.1.10.

Abaixo está o subdomínio mail.atadomain.io resolvido para o endereço IP do servidor 172.16.1.20.

E abaixo está o subdomínio vault.atadomain.io resolvido para o endereço IP do servidor 172.16.1.50.

2. Em seguida, execute o comando dig
abaixo para verificar o registro MX para o domínio atadomain.io
.
Você deverá ver que o domínio atadomain.io tem o registro MX mail.atadomain.io.

3. Por fim, execute os seguintes comandos para verificar o registro PTR ou a zona reversa para os endereços IP do servidor 172.16.1.10
e 172.16.1.20
.
Se a instalação do BIND for bem-sucedida, cada endereço IP será resolvido para o nome de domínio definido na configuração reverse.atadomain.io.
Você pode ver abaixo que o endereço IP do servidor 172.16.1.10 é resolvido para o nome de domínio ns1.atadomain.io.

Como você pode ver abaixo, o endereço IP do servidor 172.16.1.20 é resolvido para o nome de domínio mail.atadomain.io.

Conclusão
Ao longo deste tutorial, você aprendeu como criar e configurar um servidor DNS BIND seguro em seu servidor Ubuntu. Você também criou a zona forward e reverse para adicionar seu domínio e verificou os servidores DNS executando comandos dig
.
Agora, como você pode implementar um servidor DNS BIND em seu ambiente? Talvez implementar o BIND como um servidor autoritativo? Ou configurar alta disponibilidade com uma instalação BIND master-slave?