Implementação de DNS com BIND9 Estimated reading: 4 minutes 7 views Contributors 1️⃣ Pré-requisitosSistema Linux (Ubuntu/Debian/CentOS/RHEL)Acesso root ou sudoIP fixo no servidor (exemplo usado: 192.168.1.10)Firewall liberando porta 53 (TCP e UDP)2️⃣ Instalação do BIND9🔹 Ubuntu / Debiansudo apt update sudo apt install bind9 bind9utils bind9-doc -y sudo apt update sudo apt install bind9 bind9utils bind9-doc -y 🔹 RHEL / CentOS / Rockysudo dnf install bind bind-utils -y sudo dnf install bind bind-utils -y 3️⃣ Estrutura de ArquivosArquivos principais do BIND:ArquivoFunção/etc/bind/named.confArquivo principal de configuração/etc/bind/named.conf.localDefinição de zonas locais/etc/bind/named.conf.optionsOpções globais/etc/bind/db.uday.corpArquivo da zona diretaEm sistemas RHEL/CentOS normalmente fica em /etc/named.conf e /var/named/.4️⃣ Configuração GlobalEdite:sudo nano /etc/bind/named.conf.options sudo nano /etc/bind/named.conf.options Exemplo de configuração:options { directory "/var/cache/bind"; recursion yes; allow-query { any; }; forwarders { 8.8.8.8; 8.8.4.4; }; dnssec-validation auto; listen-on { any; }; listen-on-v6 { any; }; }; options { directory "/var/cache/bind"; recursion yes; allow-query { any; }; forwarders { 8.8.8.8; 8.8.4.4; }; dnssec-validation auto; listen-on { any; }; listen-on-v6 { any; }; }; Salve o arquivoEste arquivo é responsável por dar acesso a internet, mesmo você configurando um dominio local5️⃣ Criando a Zona uday.corpEdite:sudo nano /etc/bind/named.conf.local sudo nano /etc/bind/named.conf.local Adicione:zone "uday.corp" { type master; file "/etc/bind/db.uday.corp"; }; zone "uday.corp" { type master; file "/etc/bind/db.uday.corp"; }; 6️⃣ Criando o Arquivo da ZonaCrie o arquivo:sudo nano /etc/bind/db.uday.corp sudo nano /etc/bind/db.uday.corp Conteúdo exemplo:$TTL 604800 @ IN SOA ns1.uday.corp. admin.uday.corp. ( 2026022301 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; Servidor DNS @ IN NS ns1.uday.corp. ; Registro A do servidor DNS ns1 IN A 192.168.1.10 ; Servidores/Hosts @ IN A 192.168.1.10 www IN A 192.168.1.20 mail IN A 192.168.1.30 ; Registro MX @ IN MX 10 mail.uday.corp. $TTL 604800 @ IN SOA ns1.uday.corp. admin.uday.corp. ( 2026022301 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; Servidor DNS @ IN NS ns1.uday.corp. ; Registro A do servidor DNS ns1 IN A 192.168.1.10 ; Servidores/Hosts @ IN A 192.168.1.10 www IN A 192.168.1.20 mail IN A 192.168.1.30 ; Registro MX @ IN MX 10 mail.uday.corp. 7️⃣ Permissõessudo chown bind:bind /etc/bind/db.uday.corp sudo chmod 644 /etc/bind/db.uday.corp sudo chown bind:bind /etc/bind/db.uday.corp sudo chmod 644 /etc/bind/db.uday.corp 8️⃣ Verificando ConfiguraçãoVerifique sintaxe:sudo named-checkconf sudo named-checkconf Verifique zona:sudo named-checkzone uday.corp /etc/bind/db.uday.corp sudo named-checkzone uday.corp /etc/bind/db.uday.corp Se aparecer OK, está correto.9️⃣ Reiniciando o Serviçosudo systemctl restart bind9 sudo systemctl enable bind9 sudo systemctl restart bind9 sudo systemctl enable bind9 Ou em CentOS:sudo systemctl restart named sudo systemctl enable named sudo systemctl restart named sudo systemctl enable named 🔟 Configurando Cliente para TesteNo cliente Linux:sudo nano /etc/resolv.conf sudo nano /etc/resolv.conf Adicione:nameserver 192.168.1.10 nameserver 192.168.1.10 1️⃣1️⃣ Testando o DNSTestes:dig uday.corp dig www.uday.corp nslookup mail.uday.corp dig uday.corp dig www.uday.corp nslookup mail.uday.corp Teste direto no servidor:dig @localhost uday.corp dig @localhost uday.corp 1️⃣2️⃣ (Opcional) Criando Zona ReversaSe sua rede for 192.168.1.0/24, adicione em named.conf.local:zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.192.168.1"; }; zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.192.168.1"; }; Arquivo /etc/bind/db.192.168.1:$TTL 604800 @ IN SOA ns1.uday.corp. admin.uday.corp. ( 2026022301 604800 86400 2419200 604800 ) @ IN NS ns1.uday.corp. 10 IN PTR ns1.uday.corp. 20 IN PTR www.uday.corp. 30 IN PTR mail.uday.corp. $TTL 604800 @ IN SOA ns1.uday.corp. admin.uday.corp. ( 2026022301 604800 86400 2419200 604800 ) @ IN NS ns1.uday.corp. 10 IN PTR ns1.uday.corp. 20 IN PTR www.uday.corp. 30 IN PTR mail.uday.corp. 📌 Boas PráticasSempre incrementar o Serial ao alterar a zona.Usar IP fixo.Bloquear recursão para redes externas em ambientes de produção.Implementar firewall liberando apenas redes autorizadas.Considerar configurar DNS secundário.