Aula 5 — Configure o BIND9 no Ubuntu para resolver nomes de domínio: crie zonas, defina registros A e CNAME e teste com nslookup
O DNS (Domain Name System) é o sistema que traduz nomes de domínio em endereços IP. Sem DNS, para acessar qualquer site você precisaria memorizar o endereço IP diretamente.
💡 Analogia da agenda telefônica: a agenda é o DNS, o nome do contato é o domínio e o número é o endereço IP. Você lembra do nome (www.google.com), não do número (142.250.185.46)!
Você digita www.google.com no navegador
Sistema consulta o servidor DNS configurado
DNS busca o registro e retorna 142.250.185.46
Navegador conecta ao endereço IP encontrado
Página carrega normalmente!
O BIND (Berkeley Internet Name Domain) é o servidor DNS mais usado do mundo. Mantido pelo ISC (Internet Systems Consortium), é o padrão em servidores Unix e Linux.
| Arquivo | Função |
|---|---|
/etc/bind/named.conf | Configuração principal (inclui outros arquivos) |
/etc/bind/named.conf.options | Opções gerais (portas, recursividade, ACLs) |
/etc/bind/named.conf.my-zones | Declaração das nossas zonas personalizadas |
/var/cache/bind/*.zone | Arquivos com os registros DNS de cada zona |
🎯 Objetivo desta aula: criar o domínio informatica.joaocamara com registros www (A → 192.168.0.1), outrohost (A → 192.168.0.2) e curso (CNAME → www).
O DNS usa diferentes tipos de registros para mapear nomes a recursos de rede. Conhecer os principais é fundamental para configurar e diagnosticar qualquer zona.
A instalação é feita com o apt. O BIND9 inicia automaticamente após a instalação, mas precisamos configurar nossas zonas personalizadas antes de usar.
named)dig e nslookup/etc/bind/Edite o arquivo principal para comentar as zonas padrão e apontar para o nosso próprio arquivo de zonas personalizadas.
💡 Comentar a linha default-zones com // e adicionar my-zones faz o BIND carregar apenas nossas zonas personalizadas, sem as zonas padrão desnecessárias.
Edite o named.conf.options para definir quais redes podem consultar nosso servidor DNS e em quais interfaces ele deve escutar.
| Diretiva | Função |
|---|---|
listen-on port 53 | Interfaces e porta em que o servidor escuta |
allow-query | Redes autorizadas a fazer consultas DNS |
recursion no | Não faz consultas recursivas — mais seguro |
192.168.0.0/24 | Toda a rede local classe C |
Crie o arquivo named.conf.my-zones para declarar o domínio que será gerenciado por este servidor. Esse arquivo diz ao BIND qual zona existe e onde encontrar os registros.
| Diretiva | Significado |
|---|---|
zone "nome" | Nome do domínio a ser gerenciado |
type master | Servidor DNS principal da zona |
file "..." | Arquivo com os registros (em /var/cache/bind/) |
Crie o arquivo .zone com os registros do domínio. Ele deve ficar em /var/cache/bind/, caminho definido na diretiva directory das opções.
Cada linha do arquivo .zone tem um significado preciso. Compreender a estrutura é essencial para adicionar registros corretamente.
| Campo | Valor | Significado |
|---|---|---|
$TTL 86400 | 86400 s | 24 horas — tempo que clientes guardam em cache |
serial | 2024010101 | Versão do arquivo (formato YYYYMMDDNN) |
refresh | 3600 s | Servidores slave verificam atualizações a cada 1h |
retry | 900 s | Tentar novamente após falha a cada 15 min |
expire | 604800 s | Tempo máximo sem sincronizar com o master |
| Nome | Tipo | Valor | Resultado |
|---|---|---|---|
www | A | 192.168.0.1 | www → 192.168.0.1 |
outrohost | A | 192.168.0.2 | outrohost → 192.168.0.2 |
curso | CNAME | www | curso → www → 192.168.0.1 |
⚠️ Incremente sempre o serial! Ao modificar o arquivo .zone, aumente o número serial (ex.: 2024010101 → 2024010102). Servidores slave usam o serial para saber se precisam sincronizar.
Antes de reiniciar o BIND9, sempre valide a configuração e o arquivo zone. Um erro de sintaxe pode impedir o serviço de iniciar.
🛡️ Fluxo seguro: named-checkconf (sem erros) → named-checkzone (OK) → systemctl restart bind9. Se qualquer validação falhar, corrija antes de reiniciar.
Configure os clientes para usar o servidor DNS recém-criado e teste a resolução de nomes com nslookup.
🌍 No navegador: com o DNS configurado, acesse http://www.informatica.joaocamara diretamente pelo nome — sem precisar digitar o IP.
Relacione cada elemento do DNS/BIND9 à sua descrição correta.
A
CNAME
named-checkconf
53
Berkeley Internet Name Domain
sudo apt-get install bind9. Edite /etc/bind/named.conf: comente a linha default-zones e adicione a linha include apontando para named.conf.my-zones. Tire screenshot do arquivo editado.named.conf.options com listen-on e allow-query para a sua rede local. Crie o arquivo named.conf.my-zones declarando sua zona com type master e o caminho do arquivo .zone./var/cache/bind/seu-dominio.zone com o SOA, registro NS, pelo menos dois registros A e um CNAME. Valide com named-checkconf e named-checkzone. Reinicie com systemctl restart bind9./etc/resolv.conf com o IP do seu servidor DNS. Teste com nslookup www.seu-dominio e verifique que o CNAME também resolve corretamente. Tire screenshot das consultas bem-sucedidas..zone, os tipos de registros e o processo de validação com named-checkconf e named-checkzone é fundamental para administrar infraestruturas de rede profissionalmente.
O que significa a sigla DNS?
www.google.com em endereços IP como 142.250.185.46.Qual tipo de registro DNS mapeia um nome de domínio para um endereço IP?
Qual comando verifica a resolução DNS a partir do servidor configurado?
nslookup e dig consultam servidores DNS. Use nslookup dominio.com IP_do_servidor para testar seu BIND9.Qual arquivo define as zonas de um servidor BIND9?
/etc/bind/named.conf.local. Os dados de cada zona ficam em arquivos separados em /etc/bind/zones/.