Sobre:
BIND (Berkeley Internet Name Domain ou, como chamado previamente, Berkeley Internet Name Daemon ) é o servidor para o protocolo DNS mais utilizado na Internet, especialmente em sistemas do tipo Unix.
Detalhes:
Instalação do BIND 9 no CentOS 6.5:
Os principais arquivos do são:
named.conf – Arquivo de configuração geral;
named.ca – Arquivo que contém os root hints;
named.local – Arquivo que define todos os endereços do localhost;
named – Serviço daemon do serviço DNS.
Preparando o sistema (Opcional):
Atualização dos pacotes já instalados:
# yum -y update rpm # yum -y -v update
Instalando o BIND 9
Instalação com a segurança do chroot e inicialização automática:
# yum –y install bind-chroot
Colocar na inicialização do sistema:
# chkconfig named on
Edição do arquivo de configuração “named.conf”
# vim /etc/named.conf
Altere e/ou adicione as linhas abaixo:
Option {
listen-on port 53 { any; };
allow-query { any; };
allow-transfer { none; };
version “[null]”;
Inicie o serviço named e verifique se está rodando dentro da jail chroot:
Inicia o serviço de DNS
# service named start
Pede o Process ID do serviço named (o exemplo retornou o 1234)
# pidof named
Exemplo de output do comando pidof: 1234
# ls -ld /proc/1234/root
Configurando zonas
Neste ponto, seu servidor já está funcionando como um Caching DNS e já está resolvendo nomes de forma não-autoritativa.
Você pode testar com o nslookup:
# nslookup
> server 127.0.0.1
> www.registro.br
Inserção da zona no named.conf
Imagine que você é dono de um domínio www.xpto.com.br, e o hospedo dentro do meu bloco de IPs: 192.168.1.1/24 (estes são nomes e números fictícios):
# vim /etc/named.conf
Adicione as linhas abaixo ao arquivo “named.conf”:
; // Final do arquivo named.conf
// DNS Zonas
zone “xpto.com.br” {
type master;
file “xpto.zone.db”; //entre aspas coloque qualquer nome de arquivo, mas lembre-se dele
};// DNS Reversos
zone “1.168.192.in-addr.arpa” IN {
type master;
file “reverse.1.168.192”; //entre aspas coloque qualquer nome de arquivo, mas lembre-se dele
};
Fabricação dos arquivos das zonas
Zona principal
# cd /var/named/ # vim xpto.zone.db
Exemplo mais simples do arquivo:
$TTL 86400
@ IN SOA server.xpto.com.br. root.server.xpto.com.br. (
2011071001 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
@ IN NS server.xpto.com.br.
@ IN NS www.xpto.com.br.
server IN A 192.168.1.1
www IN A 192.168.1.1
Exemplo mais complexo do arquivo:
$ORIGIN xpto.com.br.
$TTL 1Hxpto.com.br. IN SOA ns1.xpto.com.br. suporte.xpto.com.br. (
2012091902; serial
12H; refresh
1H; retry
1W; expire
6H); minimum
;
IN NS ns1
TXT v=spf1 include:spf.xpto.com.br ~all
MX 5 mail
localhost IN A 127.0.0.1
@ IN A 192.168.1.1
www IN A 192.168.1.1
mail IN A 192.168.1.1
pop IN CNAME mail
smtp IN CNAME mail
imap IN CNAME mail
ns1 IN A 192.168.1.1
ftp IN CNAME www
Zona reversa
# cd /var/named # vim reverse.1.168.192
Insira as linhas abaixo, alterando para a realidade da sua rede (explicação abaixo):
$TTL 1H
@ IN SOA server.xpto.com.br. root.server.xpto.com.br.(
2014080100; serial
12H; refresh
1H;retry
1W;expire
6H);minimum
;
128.98.200.in-addr.arpa. IN NS 200-98-128-51.nsdt.in.
;
213 IN PTR www.xpto.com.br.
251 IN PTR server.xpto.com.br.
50 IN PTR mail.xpto.com.br.
Observe que dentro dos arquivos de configuração, há um ” . ” (ponto) no final de cada domínio digitado.
Caso este ponto não esteja presente, o BIND vai adicionar a parte “xpto.com.br” após cada domínio.
Ex.:
213 IN PTR www.xpto.com.br (sem ponto no final)
Onde:
; – Marcador de linha que não será lida. Funciona igual a “//”.
TTL – Time To Live, quanto tempo os dados solicitados ficarão gravados no cache do solicitante.
SERIAL – Baseado nesse número, um servido slave sincronizará ou não sua base. Pode ser escrito em qualquer formato, mas como padrão da indústria, utiliza-se ANOmêsDIAnúmerodaalteração.
REFRESH – O tempo que o servidor slave verificará se teve alguma modificação em algum arquivo de zona.
RETRY – Caso a comunicação de refresh falhe, tentará novamente neste tempo.
EXPIRE – Caso o slave não receba atualização neste tempo, também irá parar de responder solicitações.
MINIMUM – Quanto tempo o slave vai guardar os registros.
@ – Onde está localizado este domínio.
IN – Endereço da Internet.
SOA – Start of Authority, define o servidor DNS que pode responder com autoridade.
A – Address, é o registro de busca de endereços IP.
NS – Name Server, é o registro de servidores DNS.
MX – Mail Exchange, é o registo de servidor de e-mail.
PTR – Pointer, é o registro de busca reversa. Somente utilizado em arquivos de zona reversa.
CNAME – Canonical Name, é o registro que dá um apelido a um recurso “A” já registrado.
TXT – Text, arquivo necessário para servidores de e-mail não serem classificados, como spammers.
Como dito anteriormente, atente que, dentro dos arquivos de configuração há um ” . ” (ponto) no final de cada domínio digitado.
Caso este ponto não esteja presente, o BIND vai adicionar a parte “xpto.com.br” após cada domínio, repetindo-o.
Veja modelo acima como exemplo.
Dicas:
Verificar versão do pacote BIND instalado da seguinte maneira:
# dpkg -l bind
Ou
# rpm -qa bind
Fontes:
http://www.vivaolinux.com.br/artigo/Instalando-o-BIND-9-no-CentOS-6?pagina=3
http://www.vivaolinux.com.br/artigo/BIND-9-DNS-Master-e-Slave-CentOS-64-Minimal
http://www.vivaolinux.com.br/artigo/Bind-Explorando-e-evitando-falhas?pagina=2
Maiores detalhes:
http://www.cert.br/docs/whitepapers/dns-recursivo-aberto/
http://blog.nexthop.com.br/2008/07/qual-verso-do-seu-bind.html