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 próprio servidor BIND DNS 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 BIND DNS seguro e verificar que os subdomínios são resolvidos para o endereço IP correto.
Continue lendo e crie seu servidor DNS sem problemas!
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 servidor DNS principal ou apenas autoritativo. 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 em seu servidor.
2. Em seguida, execute o comando apt update
abaixo para atualizar e atualizar o índice do pacote do repositório. Este comando garante que você esteja instalando a versão mais recente dos pacotes.

3. Uma vez 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 ativado automaticamente durante a instalação do pacote BIND.
Agora você deve ver que o serviço BIND named está ativado com o status como ativo (em execução). Neste ponto, o serviço BIND será executado automaticamente na inicialização do sistema.

Configurando o Servidor DNS BIND
Você agora instalou os pacotes do BIND no servidor Ubuntu, então é hora de configurar a instalação do BIND no 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 em /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
seja executado apenas no IPv4.
Salve as alterações feitas e feche o arquivo.

2. Em seguida, edite o arquivo /etc/bind/named.conf.options e preencha a seguinte configuração abaixo da linha directory "/var/cache/bind";
.
Esta configuração define o serviço BIND para ser executado na porta UDP padrão 53 no localhost e endereço IP público do servidor (172.16.1.10). Ao mesmo tempo, permite consultas de qualquer host para o servidor DNS BIND usando o Cloudflare DNS 1.1.1.1 como encaminhador.
No final, comente a linha listen-on-v6 { any; }; como mostrado abaixo, para desabilitar o serviço named de ser executado 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 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 de string.
3. Execute cada comando abaixo para copiar a configuração 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. Essa configuração 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 principal Servidor de Nomes para o 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 na 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.
Essa 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
.
Guardar as alterações e fechar o ficheiro.

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

7. Por fim, execute o comando systemctl
abaixo para reiniciar e verificar o serviço named
. Fazê-lo aplicará as novas alterações ao serviço named
.
Abaixo, você pode ver que o estado 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. No entanto, ainda é necessário proteger o seu Servidor DNS. Você configurará o firewall UFW e abrirá a porta DNS para qualquer consulta ao servidor. Fazê-lo permite que os clientes façam uma consulta ao servidor DNS BIND.
Por razões de segurança, é recomendável executar e habilitar o firewall UFW no seu servidor Ubuntu.
1. Execute o comando ufw
abaixo para verificar as aplicações disponíveis no firewall UFW.
Deve ver o Bind9 na lista de aplicações do aplicativo UFW abaixo.

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

3. Por fim, execute o seguinte comando para verificar as regras ativadas no firewall UFW.
Você deve ver a aplicação Bind9 na lista como na captura de tela abaixo.

Verificando a Instalação do Servidor DNS BIND
Agora você concluiu a instalação do DNS BIND e configurou o firewall UFW. Mas como verificar a instalação do seu servidor DNS? O comando dig
irá resolver.
O Dig é um utilitário de linha de comando para solução de problemas na instalação do servidor DNS. dig
realiza uma busca DNS para o nome de domínio fornecido e exibe respostas detalhadas para o destino do nome de domínio. No sistema Ubuntu, 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.

Aqui 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ê deve ver que o domínio atadomain.io tem o registro MX mail.atadomain.io.

3. Por fim, execute os comandos a seguir 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.
Como você pode ver abaixo, o endereço IP do servidor 172.16.1.10 é resolvido para o nome de domínio ns1.atadomain.io.

Conforme você vê 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 no seu servidor Ubuntu. Você também criou a zona de encaminhamento e reverso 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 mestre-escravo?