Criando um servidor de DNS local com o Bind no Debian 6
Amigos,
Saudações Pinguianas a todos!
Neste artigo, vamos aprender como fazer um DNS local de maneira simples, rápida e prática.
Mas aí você se pergunta: O que é DNS?
O DNS é o banco de dados distribuído de traduções de nome para endereço IP. Tecnicamente não é necessário usar nomes de host e de domínio, como www.meudominio.com.br, porque é o endereço IP que o computador usa para estabelecer comunicação.
O DNS foi criado para permitir o uso de nomes de domínios mais convenientes. Por exemplo, quando o usuário digita um nome DNS como parte de uma URL em um navegador, a parte do nome é enviada para o servidor DNS para que seja resolvido em um endereço IP. Uma vez encontrado o endereço, ele é usado para se reescrever a URL e obter diretamente a página web.
Um dos servidores DNS mais conhecido é o Bind. Nesse exemplo estaremos usando o Bind9, que é uma versão mais atualizada e mais segura deste software.
O primeiro passo é instalar o Bind:
apt-get install bind9
Agora com o Bind instalado, vamos conhecer e configurar os arquivos usados por ele:
Arquivos de configuração DNS:
Edite seu resolv.conf para ele fazer a busca do DNS local:
vim /etc/resolv.conf
Este arquivo lista os endereços IP dos servidores de nomes:
nameserver 127.0.0.1 nameserver 192.168.254.1
Agora vamos configurar os arquivos do Bind:
# vim /etc/bind/named.conf.local
Este arquivo é onde você indicará em que caminho estarão suas zonas. Edite-o e inclua estas linhas:
zone "meudominio.com.br" { type master; file "db.meudominio.com.br"; }; zone "254.168.192.in-addr.arpa" { type master; file "db.254.168.192"; };
Agora criaremos os arquivos db.meudominio.com.br e db.254.168.192:
Dentro do diretório /etc/bind existe um arquivo db.local que poderemos copiar para fazermos nosso db.meudominio.com.br. Como root execute:
cd /etc/bind touch /var/cache/bind/db.meudominio.com.br cat db.local > /var/cache/bind/db.meudominio.com.br
Agora edite o seu arquivo /var/cache/bind/db.meudominio.com.br para ficar assim:
; ; BIND zone file for home.lan ; $TTL 3D @ IN SOA ns.meudominio.com.br. root.meudominio.com.br. ( 01 ; serial 8H ; refresh 2H ; retry 4W ; expire 1D ) ; minimum ; NS ns ; Inet address of name server MX 10 mail ; Primary mail exchanger ; Necessario para funfar ns IN A 192.168.254.1 ; ; Hosts Reais www IN A 192.168.254.1 ftp IN A 192.168.254.1 smtp IN A 192.168.254.1 imap IN A 192.168.254.1 router IN A 192.168.254.1 ; gateway CNAME router gw CNAME router
Ainda como root, crie o db reverso de sua rede:
touch /var/cache/bind/db.254.168.192
Edite o arquivo para que fique assim:
; ; BIND zone file for 192.168.1.xxx ; $TTL 3D @ IN SOA ns.home.lan. root.home.lan. ( 2010111101 ; serial 8H ; refresh 2H ; retry 4W ; expire 1D ) ; minimum ; NS ns.meudominio.com.br. ; Nameserver address 100 PTR server.meudominio.com.br. 100 PTR ns.meudominio.com.br. 100 PTR mail.meudominio.com.br. 101 PTR virtual.meudominio.com.br. 1 PTR router.meudominio.com.br.
Agora vamos editar o arquivo named.conf.options
vim /etc/bind/named.conf.options
Deixe-o assim:
options { directory "/var/cache/bind"; listen-on port 53 { 127.0.0.1; 192.168.254.1; }; allow-query { 127.0.0.1; 192.168.254.0/24; }; allow-recursion { 127.0.0.1; 192.168.254.0/24; }; allow-transfer { none; }; auth-nxdomain no; # conform to RFC1035 // listen-on-v6 { any; }; };
Feito isso reinicie seu bind:
/etc/init.d/bind9 restart
Agora já podemos pingar internet.meudominio.com.br e mail.meudominio.com.br:
ping internet.meudominio.com.br PING internet.meudominio.com.br (192.168.254.1) 56(84) bytes of data. 64 bytes from 192.168.254.1: icmp_seq=1 ttl=64 time=4.86 ms 64 bytes from 192.168.254.1: icmp_seq=2 ttl=64 time=0.228 ms 64 bytes from 192.168.254.1: icmp_seq=3 ttl=64 time=0.229 ms
Utilidades e checando configurações DNS:
Um servidor DNS interno é muito útil para os administradores de redes, por exemplo: se você tem um servidor proxy autenticado, nos navegadores dos clientes podemos usar um endereço de proxy como internet.empresa.com.br, assim se um dia necessitar alterar o ip de seu proxy, só mude as configurações de DNS no seu db.empresa.com.br.
Podemos usar alguns comandos para checar as configurações de seu dns.
named-checkconf (verifica as configurações do Bind)
named-checkconf
Se não retornar nada é que está ok.
named-checkzone (verifica suas zonas):
named-checkzone zonename db.meudominio.com.br zone zonename/IN: loaded serial 2 OK
Servidor DNS pronto e funcionando! Você já pode dar nomes a seus IPs, facilite seu trabalho.
Espero ter colaborado!
Esse artigo foi útil? Colabore com o nosso site para podermos continuar dando mais dicas como essa!
Formas de doação:
- Boleto / Cartão de crédito: https//bit.ly/AprendendoLinux
- Pix: [email protected]
- PicPay: @henrique_fagundes
- PayPal: [email protected]
- Bitcoin: bc1qtnn5z058htzy799dslwrpjcdpm0vuta3vrj28l
Favorecido: Luiz Henrique Marques Fagundes