Compartilhe em Sua Rede Social:Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Instalação do BIND-9

Vamos primeiro verificar os pacotes que devem estar instalados na maquina,

bind-chroot-9.3.6-16.P1.el5
bind-9.3.6-16.P1.el5
bind-libs-9.3.6-16.P1.el5
bind-utils-9.3.6-16.P1.el5

por padrão a pasta de configuração do bind-9 é a /var/named/chroot/ já definida dentro do arquivo /etc/sysconfig/named mas não é necessário alterar este local.

Configurando os arquivos de zona

As informações dos arquivos de zona deverão ficar dentro do arquivo /var/named/chroot/etc/named.conf (esse arquivo não foi criado na instalação dos pacotes, você deve cria-lo). Também ficam nesse arquivo as informações gerais do servidor de DNS recursivo que você vai colocar na sua rede, tais como:

options {
                         listen-on port 53 { 127.0.0.1; 176.16.0.9; };
                         listen-on-v6 port 53 { ::1; };
                         directory "/var/named";
                         dump-file "/var/named/data/cache_dump.db";
                         statistics-file "/var/named/data/named_stats.txt";
                         memstatistics-file "/var/named/data/named_mem_stats.txt";
                         allow-query { localhost; 176.16.0.8/29; };
                         version "não sei não!!";
                         recursion yes;
                         max-cache-size 10M;
                         max-cache-ttl 18000;
 }; 


logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};
 
*listen-on port 53 { 127.0.0.1; 176.16.0.9; }; "coloque sua rede local aqui" 
*allow-query { localhost; 176.16.0.8/29; }; "coloque o ID de sua rede aqui"
 

O parâmetro ”version” foi para dificultar um possível atacante descobrir qual a versão do seu servidor de DNS.

/var/named/chroot/var/named/named.ca

Este arquivo contem a informação necessária para se inicializar o cache com os dados relativos aos root name servers.
As informações deste arquivo, embora pouco voláteis, ainda assim mudam com o tempo. O InterNIC disponibiliza este arquivo via ftp anônimo em ftp.rs.internic.net/domain/named.root . Recomenda-se a verificação deste arquivo pelo menos uma vez ao mês

; <<>> DiG 9.5.0b2 <<>> +bufsize=1200 +norec NS . @a.root-servers.net
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34420
;; flags: qr aa; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 20

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;.                              IN      NS

;; ANSWER SECTION:
.                       518400  IN      NS      M.ROOT-SERVERS.NET.
.                       518400  IN      NS      A.ROOT-SERVERS.NET.
.                       518400  IN      NS      B.ROOT-SERVERS.NET.
.                       518400  IN      NS      C.ROOT-SERVERS.NET.
.                       518400  IN      NS      D.ROOT-SERVERS.NET.
.                       518400  IN      NS      E.ROOT-SERVERS.NET.
.                       518400  IN      NS      F.ROOT-SERVERS.NET.
.                       518400  IN      NS      G.ROOT-SERVERS.NET.
.                       518400  IN      NS      H.ROOT-SERVERS.NET.
.                       518400  IN      NS      I.ROOT-SERVERS.NET.
.                       518400  IN      NS      J.ROOT-SERVERS.NET.
.                       518400  IN      NS      K.ROOT-SERVERS.NET.
.                       518400  IN      NS      L.ROOT-SERVERS.NET.

;; ADDITIONAL SECTION:
A.ROOT-SERVERS.NET.     3600000 IN      A       198.41.0.4
A.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:503:ba3e::2:30
B.ROOT-SERVERS.NET.     3600000 IN      A       192.228.79.201
C.ROOT-SERVERS.NET.     3600000 IN      A       192.33.4.12
D.ROOT-SERVERS.NET.     3600000 IN      A       128.8.10.90
E.ROOT-SERVERS.NET.     3600000 IN      A       192.203.230.10
F.ROOT-SERVERS.NET.     3600000 IN      A       192.5.5.241
F.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:500:2f::f
G.ROOT-SERVERS.NET.     3600000 IN      A       192.112.36.4
H.ROOT-SERVERS.NET.     3600000 IN      A       128.63.2.53
H.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:500:1::803f:235
I.ROOT-SERVERS.NET.     3600000 IN      A       192.36.148.17
J.ROOT-SERVERS.NET.     3600000 IN      A       192.58.128.30
J.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:503:c27::2:30
K.ROOT-SERVERS.NET.     3600000 IN      A       193.0.14.129
K.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:7fd::1
L.ROOT-SERVERS.NET.     3600000 IN      A       199.7.83.42

Vamos ao domínio

Vamos configurar um domínio para nossa rede, o escolhido foi centos.local, segue as configurações que devem se localizar abaixo do parâmetro “options” descrito acima:

zone "centos.local" IN {
                 type master;
                 check-names ignore;
                 file "centos.local";
 }; 
 
E o reverso deste domínio é:
 
zone "0.16.176.in-addr.arpa" IN {
 
               type master;
               check-names ignore;
               file "176.16.0.9";
 }; 

A opção “file” deve conter o nome do arquivo de zona, assim o DNS poderá achar as zonas devidamente citadas acima, este local onde fica os arquivos fica na pasta /var/named/chroot/var/named/ então vamos criar nossos arquivos…

primeiro o centos.local:

$TTL 1D ; 1 dia
@       IN      SOA     batman.centos.local.       root.batman.centos.local. (
                20110509        ;serial
                1D              ;refresh
                1H              ;retry
                1W              ;expire
                3H )            ;minimum

                NS      batman.centos.local.
ns1     IN      A       176.16.0.9
ns2     IN      A       176.16.0.9
smtp    IN      CNAME   ns2
ftp     IN      CNAME   ns2
batman          A       176.16.0.9
michele         A       176.16.0.10
samsung         A       176.16.0.11
david           A       176.16.0.12
lauro           A       176.16.0.13
marcela         A       176.16.0.14

O nome “batman” é o nome do servidor na rede, o hostname, vamos explicar algumas coisas:

SOA = Start of Authority este registro definio o inicio de uma zona para a qual o seu servidor sera autoridade. A @ no primeiro campo da primeira linha define o nome da zona. O quarto campo lista o hostname do seu servidor DNS, o quinto campo lista o email da pessoa responsavel pela admnistracao deste dominio (no formato: login.seu-dominio.com.br). O registro SOA lista 5 parametros entre parenteses.

serial = número de verificação para atualização do servidor DNS primário para o secundário

refresh = quantas vezes ele faz essa verificação para atualizar a base de dados

retry = de 1 em 1 hora o servidor deverá fazer uma nova tentativa de atualizar o banco de dados

expire = Tempo de vida útil do servidor secundário caso ele nao consiga se comunicar com o servidor primário em 1 semana ele apagará todo seu banco de dados de domínio.

minimum = normalmente configurado como TTL (time to live) tempo que ficará registrado no banco de dados do solicitante a informação sobre a zona

NS – Lista um servidor de nomes para este domínio.

A – Mapeamento de nomes para endereços.

PTR – Mapeamento reverso, ou de endereços para nomes.

CNAME – Nomes canônicos (para aliases).

HINFO – Informações sobre o servidor.

MX – Nome do servidor de e-mail para o dominio.

Zona Reversa deste domínio

Arquivo de dados da zona reversa

$TTL 1D
@       IN SOA  batman.centos.local. root.centos.local. (
                                        20110509      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum

@       IN      NS      batman.centos.local.
9       IN      PTR     batman.centos.local.
10      IN      PTR     michele.centos.local.
11      IN      PTR     samsung.centos.local.
12      IN      PTR     david.centos.local.
13      IN      PTR     lauro.centos.local.
14      IN      PTR     marcela.centos.local.

Zona Local /var/named/chroot/var/named/named.localhost

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1

Zona Local /var/named/chroot/var/named/named.loopback

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        PTR     localhost.