Learning Center
O sistema Ubuntu

Configuração de um servidor DNS BIND

19 fev. 2026
Hostman Team
Hostman Team

O DNS (Domain Name System) é um sistema no qual todos os nomes de domínio dos servidores são organizados em uma hierarquia específica. Por que precisamos dele? Imagine ter que se conectar a um dispositivo com o endereço IP 91.206.179.207. Você poderia inserir esse endereço na linha de comando para obter as informações necessárias, mas memorizar muitas combinações numéricas desse tipo é muito difícil. Por isso, foram criados servidores especiais para converter nomes de domínio em endereços IP. Assim, quando você digita hostman.com na barra de endereços do navegador, os dados da requisição são enviados a um servidor DNS, que procura correspondências em seu banco de dados. Em seguida, o servidor DNS retorna o endereço IP necessário ao seu dispositivo, e só então o navegador acessa diretamente o recurso.

Configurar o seu próprio DNS permite uma configuração do sistema mais flexível e precisa, além de evitar a dependência de terceiros. Neste artigo, veremos como configurar o DNS usando o servidor de nomes BIND no Ubuntu.

Termos
Copiar link

Zona: Parte da hierarquia DNS hospedada em um servidor DNS. Define os limites dentro dos quais um servidor ou grupo de servidores é responsável.

Servidores raiz: Servidores DNS que contêm informações sobre domínios de nível superior (.ru, .com, etc.).

Domínio: Parte nomeada da hierarquia DNS, um nó específico que pode incluir outros nós. Os endereços DNS são lidos da direita para a esquerda e começam com um ponto, com os domínios também separados por pontos. Por exemplo, o domínio poddomen.domen.ru deve ser lido como .ru.domen.poddomen. Normalmente, o nome de domínio reflete a estrutura da hierarquia DNS, mas o ponto final é omitido.

FQDN (Fully Qualified Domain Name): Nome de domínio totalmente qualificado, que inclui todos os domínios pai.

Registro de recurso (Resource Record): Unidade de armazenamento de informações, basicamente um registro que associa um nome a informações de serviço. Ele consiste em:

  • Nome (NAME): O nome ou endereço IP proprietário da zona

  • Time to Live (TTL): Tempo durante o qual um registro permanece em cache DNS antes de ser removido

  • Classe (CLASS): Tipo de rede, geralmente IN (Internet)

  • Tipo (TYPE): Finalidade do registro

  • Dados (DATA): Informações adicionais

Registros de recursos comuns
Copiar link

Registro A: Mapeia um nome de host para um endereço IPv4. Cada interface de rede pode ter apenas um registro A.

website.com.              520    IN     A      91.206.179.207

Registro AAAA: Igual ao registro A, mas para IPv6.

CNAME: Registro de nome canônico, um alias de um nome real usado para redirecionamento.

MX: Especifica os servidores de e-mail do domínio. O campo NAME contém o domínio de destino, e o campo DATA contém a prioridade e o host que recebe os e-mails.

website.com.             17790   IN      MX      10 mx.website.com.

website.com.             17790   IN      MX      20 mx2.website.com.

NS: Aponta para o servidor DNS responsável pelo domínio.

PTR: Mapeia um endereço IP para um nome de domínio (resolução reversa).

SOA: Descreve as configurações principais da zona.

SRV: Contém os endereços de servidores que fornecem serviços internos do domínio, como Jabber.

Requisitos
Copiar link

Para seguir as instruções deste artigo, você precisa de pelo menos dois servidores Ubuntu no mesmo data center. Qualquer um desses servidores pode ser solicitado na Hostman.

Usaremos dois servidores Ubuntu 20.04, que atuarão como servidores DNS primário e secundário, ns1 e ns2, respectivamente. Além disso, haverá servidores adicionais que utilizarão os servidores DNS configurados.

Você deve ter privilégios de superusuário em cada servidor.

Instalando o BIND nos servidores DNS
Copiar link

Usaremos o bind9 como servidor DNS. Instale o pacote bind9 a partir do repositório Linux:

sudo apt update && sudo apt upgrade -y

sudo apt install bind9

Também é recomendável instalar ferramentas de monitoramento de rede:

sudo apt install dnsutils

Após a instalação, inicie o serviço bind9:

sudo service bind9 start

O principal arquivo de configuração do servidor é /etc/bind/named.conf. Ele descreve as configurações gerais e normalmente é dividido em vários outros arquivos para facilitar a administração.

named.conf.options
Copiar link

Este arquivo contém os parâmetros gerais do servidor:

options {

        dnssec-validation auto;

        auth-nxdomain no;

        directory "/var/cache/bind";

        recursion no; # desativa consultas recursivas ao servidor

        listen-on {

                     172.16.0.0/16; 

                     127.0.0.0/8;    

        };

        forwarders { 

            172.16.0.1;

            8.8.8.8;  

        };

};

Para verificar se tudo foi configurado corretamente, use o utilitário named-checkconf:

sudo named-checkconf

Se não houver erros, o servidor BIND começará a funcionar.

Servidor DNS primário
Copiar link

O servidor DNS primário armazena a cópia principal do arquivo de zona. Todas as zonas serão armazenadas no diretório /etc/bind/master-zones. Crie o diretório:

sudo mkdir /etc/bind/master-zones

Crie um arquivo para descrever a zona:

sudo touch /etc/bind/master-zones/test.example.com.local.zone

E adicione os registros SOA, NS e A:

$ttl 3600 

$ORIGIN test.example.com. 

test.example.com.               IN              SOA  (      

ns.test.example.com.    

abuse.test.example.com.  

                                2022041201 

                                10800 

                                1200 

                                604800 

                                3600   ) 

@                               IN              NS              ns.test.example.com. 

@                               IN              NS              ns2.test.example.com.

@                               IN              A                172.16.101.3 

ns                              IN               A                172.16.0.5 

ns2                             IN              A                172.16.0.6

Em seguida, verifique a zona com o utilitário named-checkzone:

sudo named-checkzone test.example.com. /etc/bind/master-zones/test.example.com.local.zone

named.conf.local
Copiar link

Este é outro arquivo incluído na configuração principal do servidor. Nele, definimos as zonas locais:

zone "test.example.com." {

                type master;

                file "/etc/bind/master-zones/test.example.com.local.zone";

};

Após inserir os dados necessários, verifique a configuração e reinicie o bind9 (a opção -z verifica os arquivos de zona):

sudo named-checkconf

sudo named-checkconf -z

sudo service bind9 restart

sudo service bind9 status

Configurando Views
Copiar link

As views permitem o gerenciamento flexível da resolução de nomes a partir de diferentes sub-redes. No arquivo /etc/bind/named.conf, adicione:

include "/etc/bind/named.conf.options";

acl "local" { 172.16.0.0/16; };

view "local" {

                include "/etc/bind/named.conf.local";

                match-clients { local; };

};

Reinicie o bind9:

sudo service bind9 restart

Após a reinicialização do servidor, você pode solicitar o registro SOA do servidor 172.16.0.5 a partir de outro computador na rede local:

dig @172.16.0.5 -t SOA test.example.com

Neste ponto, a configuração do servidor DNS primário está concluída.

Conclusão
Copiar link

Neste guia, configuramos o DNS em um servidor com Ubuntu usando o pacote bind9. Após seguir todos os passos, os dois servidores DNS configurados podem ser usados para resolução de nomes na rede. Para utilizar esses servidores DNS personalizados, configure seus outros servidores para usar 172.16.0.5 e 172.16.0.6 como servidores DNS.

Essa configuração pode servir como base para futuras melhorias, como a configuração de um servidor de e-mail.