Differences

This shows you the differences between two versions of the page.

Link to this comparison view

bind_trabalhando_com_multi-view_master_slave_centos_6_pt_br [2017/09/05 12:18] (current)
Line 1: Line 1:
 +====== Instalação e configuração do Bind Trabalhando com Views Master/​Slave no CentOS 6 ======
  
 +
 +Configurando o DNS no CentOS 6 com MultiView do mesmo domínio e fazendo replicação.
 +Problema: Quando era efetuado replicação e as zonas tinham o mesmo nome ele sempre replicava a zona da view interna ou o primeiro arquivo de referência dentro do named.conf. ​
 +
 +Solução dentro de cada View vamos forçar para quem tem que ser a replica e no slave receber a replica que foi forçada por View. Precisamos de 2 endereços ip para o servidor Slave. ​
 +  - IP do slave que vai receber a view interna: 10.0.0.27
 +  - IP do slave que vai receber a view externa: 10.0.0.28
 +  - IPS do servidor master 10.0.0.25.
 +
 +Prepare o seu sistema com o seguinte script http://​wiki.douglasqsantos.com.br/​doku.php/​confinicialcentos6_en para que não falte nenhum pacote ou configuração.
 +
 +Vamos fazer um update dos repositórios e vamos atualizar o sistema primeiramente.
 +<sxh bash>
 +
 +yum check-update && yum update -y
 +</​sxh>​
 +
 +Agora vamos instalar os pacotes do bind
 +<sxh bash>
 +
 +yum install bind-chroot bind-utils bind-libs -y
 +</​sxh>​
 +
 +Agora vamos colocar ele na inicialização do sistema
 +<sxh bash>
 +
 +chkconfig named on
 +</​sxh>​
 +
 +Agora vamos reiniciar o serviço para que o named monte a sua jaula
 +<sxh bash>
 +
 +/​etc/​init.d/​named restart
 +</​sxh>​
 +Agora vamos fazer um backup do arquivo de configuração do nosso bind.
 +<sxh bash>
 +
 +cp -Rfa /​etc/​named.conf{,​.bkp}
 +</​sxh>​
 +Agora vamos deixar o arquivo /​etc/​named.conf como abaixo, aqui estou utilizando a rede 10.0.0.0/23 como minha rede local para exemplo, mude conforme necessário. ​
 +<sxh bash>
 +
 +vim /​etc/​named.conf
 +#Criando acl para definir as nossas redes internas.
 +acl "​trusted"​ {
 + ​10.0.0.0/​23;​
 + ​127.0.0.1;​
 +};
 +
 +#Acl que define qual vai ser o slave que vai receber a view interna
 +acl "​internal_slave"​ {
 + ​10.0.0.27;​
 +};
 +
 +#Acl que define qual vai ser o slave que vai receber a view externa
 +acl "​external_slave"​ {
 + ​10.0.0.28;​
 +};
 +
 +#Algumas opções do Bind
 +options {
 + ​listen-on port 53 { 127.0.0.1; 10.0.0.0/​23;​ };
 + ​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 ​    { any; };
 + ​recursion no;
 + ​version "Não Disponível";​
 +};
 +
 +#​Controles ​
 +include "/​etc/​rndc.key";​
 +
 +controls {
 +        inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { rndc-key; };
 +};
 +
 +#LOGS
 +logging {
 + ​channel xfer-log {
 + file "/​var/​log/​named.log";​
 + ​print-category yes;
 + ​print-severity yes;
 + ​print-time yes;
 + ​severity info;
 + };
 + ​category xfer-in { xfer-log; };
 + ​category xfer-out { xfer-log; };
 + ​category notify { xfer-log; };
 +
 + ​channel update-debug {
 + file "/​var/​log/​named-update-debug.log";​
 + ​severity ​ debug 3;
 + ​print-category yes;
 + ​print-severity yes;
 + ​print-time ​     yes;
 + };
 + ​channel security-info ​   {
 + file "/​var/​log/​named-auth-info.log";​
 + ​severity ​ info;
 + ​print-category yes;
 + ​print-severity yes;
 + ​print-time ​     yes;
 + };
 + ​category update { update-debug;​ };
 + ​category security { security-info;​ };
 +
 + };
 +
 +#Incluir os nossos arquivos externos que vão conter as configurações das Views
 +include "/​etc/​named/​named.conf.internal-zones";​
 +include "/​etc/​named/​named.conf.external-zones";​
 +</​sxh>​
 +
 +Agora vamos gerar a chave do rndc 
 +<sxh bash>
 +
 +rndc-confgen -a -c /​etc/​rndc.key -k rndc-key -b 256
 +</​sxh>​
 +
 +Agora precisamos acertar as permissões dos arquivos ​
 +<sxh bash>
 +
 +chown root:named /​etc/​rndc.key
 +chmod 640 /​etc/​rndc.key
 +</​sxh>​
 +
 +
 +Agora vamos criar o nosso arquivo da View Interna /​etc/​named/​named.conf.internal-zones onde somente os nossos clientes da rede local e o nosso servidor local vão poder consultar.
 +<sxh bash>
 +
 +vim /​etc/​named/​named.conf.internal-zones
 +#Definindo a nossa View interna
 +view "​internal"​ {
 +
 +#Definindo quais clientes vão poder consultar esta view, então vão ser a nossa rede interna mesmo o servidor external_slave
 + ​match-clients { !external_slave;​ trusted; };
 +
 +#Definindo que os clientes dessa view vão poder efetuar consultas recursivas.
 + ​recursion yes;
 +
 +#Qual servidor vai poder receber a replica dessa view 
 +allow-transfer {
 + ​internal_slave;​
 +};
 +
 +#Quem vai ser notificado aqui temos que informar os endereços ips.
 +also-notify {
 + ​10.0.0.27;​
 +};
 +
 +#Zona que define os endereços dos root Masters.
 +zone "​."​ IN {
 + type hint;
 + file "​named.ca";​
 +};
 +
 +#Nosso domínio de teste.
 +zone "​douglasqsantos.com.br"​ {
 + type master;
 + file "​db.douglasqsantos.com.br.internal";​
 +};
 +
 +#Este arquivo contem as zonas locais
 +include "/​etc/​named.rfc1912.zones";​
 +
 +};
 +</​sxh>​
 +
 +Agora vamos criar a nossa View Externa /​etc/​named/​named.conf.external-zones aonde qualquer um vai poder consultar não sendo a nossa rede local e nem o nosso servidor local
 +<sxh bash>
 +
 +vim /​etc/​named/​named.conf.external-zones
 +#​Definição da nossa view Externa
 +view "​external"​ {
 +
 +#Definindo quais clientes vão poder consultar esta view
 + ​match-clients { external_slave;​ !trusted; any; };
 +
 +#Os clientes dessa view não poderão efetuar consultas recursivas
 + ​recursion no;
 +
 +#Quam vai poder receber replica dessa view
 + ​allow-transfer {
 + ​external_slave;​
 + };
 +
 +#Quem vai ser notificado aqui temos que informar o endereço ip
 + ​also-notify {
 + ​10.0.0.28;​
 + };
 +
 +#Nosso dominio de teste.
 +zone "​douglasqsantos.com.br"​ {
 + type master;
 + file "​db.douglasqsantos.com.br.external";​
 + };
 +
 +};
 +</​sxh>​
 +Agora vamos criar o arquivo que os nossos clientes internos vão consultar /​var/​named/​chroot/​var/​named/​db.douglasqsantos.com.br.internal ​
 +<sxh dns>
 +
 +vim /​var/​named/​chroot/​var/​named/​db.douglasqsantos.com.br.internal
 +$TTL 86400
 +@ IN SOA  dns.douglasqsantos.com.br. root.dns.douglasqsantos.com.br. (
 + ​2011061703 ​ ; Serial
 + ​3600 ​      ; Refresh
 + ​1800 ​       ; Retry
 + ​1209600 ​     ; Expire
 + 3600 )     ; Minimum
 +
 +;
 +@               ​IN ​     NS   ​douglasqsantos.com.br.
 +douglasqsantos.com.br. IN TXT "​v=spf1 a mx ip4:​10.0.0.0/​23 -all"
 +mail.douglasqsantos.com.br IN TXT "​v=spf1 a -all"
 +
 +@               ​IN ​     NS   ​ns1.douglasqsantos.com.br.
 +@               ​IN ​     NS   ​ns2.douglasqsantos.com.br.
 +@               ​IN ​     MX   0 mail.douglasqsantos.com.br.
 +
 +;NAME SERVERS
 +@               ​IN ​     A    10.0.0.25
 +ns1             ​IN ​     A    10.0.0.25
 +ns2             ​IN ​     A    10.0.0.27
 +dns             ​IN ​     A    10.0.0.25
 +
 +;MAIL SERVERS
 +mail            IN      A    10.0.0.25
 +imap            IN      CNAME mail
 +pop             ​IN ​     CNAME mail
 +smtp            IN      CNAME mail
 +webmail ​        ​IN ​     CNAME mail
 +
 +;WEB SERVERS
 +www             ​IN ​     A    10.0.0.27
 +ftp             ​IN ​     CNAME www
 +mailadmin ​      ​IN ​     CNAME www
 +</​sxh>​
 +
 +Agora vamos criar o arquivo que os clientes externos vão consultar /​var/​named/​chroot/​var/​named/​db.douglasqsantos.com.br.external ​
 +<sxh dns>
 +
 +vim /​var/​named/​chroot/​var/​named/​db.douglasqsantos.com.br.external
 +$TTL 86400
 +@ IN SOA  dns.douglasqsantos.com.br. root.dns.douglasqsantos.com.br. (
 + ​2011061703 ​ ; Serial
 + ​3600 ​      ; Refresh
 + ​1800 ​       ; Retry
 + ​1209600 ​     ; Expire
 + 3600 )     ; Minimum
 +
 +;
 +@               ​IN ​     NS   ​douglasqsantos.com.br.
 +douglasqsantos.com.br. IN TXT "​v=spf1 a mx ip4:​200.200.200.0/​23 -all"
 +mail.douglasqsantos.com.br IN TXT "​v=spf1 a -all"
 +
 +@               ​IN ​     NS   ​ns1.douglasqsantos.com.br.
 +@               ​IN ​     NS   ​ns2.douglasqsantos.com.br.
 +@               ​IN ​     MX   0 mail.douglasqsantos.com.br.
 +
 +;NAME SERVERS
 +@               ​IN ​     A    200.200.200.25
 +ns1             ​IN ​     A    200.200.200.25
 +ns2             ​IN ​     A    200.200.200.27
 +dns             ​IN ​     A    200.200.200.25
 +
 +;MAIL SERVERS
 +mail            IN      A    200.200.200.25
 +imap            IN      CNAME mail
 +pop             ​IN ​     CNAME mail
 +smtp            IN      CNAME mail
 +webmail ​        ​IN ​     CNAME mail
 +
 +;WEB SERVERS
 +www             ​IN ​     A    200.200.200.27
 +ftp             ​IN ​     CNAME www
 +mailadmin ​      ​IN ​     CNAME www
 +</​sxh>​
 +
 +Vamos agora ajustar o arquivo /​etc/​resolv.conf para que o nosso servidor consiga encontrar a zona do douglasqsantos.com.br
 +<sxh bash>
 +
 +vim /​etc/​resolv.conf
 +domain douglasqsantos.com.br
 +nameserver 127.0.0.1
 +</​sxh>​
 +
 +Vamos agora reiniciar o serviço e testar.
 +<sxh bash>
 +
 +/​etc/​init.d/​named restart
 +</​sxh>​
 +Agora vamos fazer alguns testes.
 +
 +Vamos consultar o endereço do host www
 +<sxh bash>
 +
 +nslookup www
 +Server: ​       127.0.0.1
 +Address: ​   127.0.0.1#​53
 +
 +Name:    www.douglasqsantos.com.br
 +Address: 10.0.0.27
 +</​sxh>​
 +Agora vamos consultar o endereço do host mail.douglasqsantos.com.br aqui poderíamos consultar somente por mail dai ele completaria com o parâmetro domain do resolv.conf ​
 +<sxh bash>
 +
 +nslookup mail.douglasqsantos.com.br
 +Server: ​       127.0.0.1
 +Address: ​   127.0.0.1#​53
 +
 +Name:    mail.douglasqsantos.com.br
 +Address: 10.0.0.25
 +</​sxh>​
 +Vamos consultar os registros do tipo A do nosso domínio.
 +<sxh bash>
 +
 +dig -t A douglasqsantos.com.br
 +
 +; <<>>​ DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_6.2 <<>>​ -t A douglasqsantos.com.br
 +;; global options: +cmd
 +;; Got answer:
 +;; ->>​HEADER<<​- opcode: QUERY, status: NOERROR, id: 47736
 +;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 2
 +
 +;; QUESTION SECTION:
 +;​douglasqsantos.com.br. ​           IN    A
 +
 +;; ANSWER SECTION:
 +douglasqsantos.com.br. ​       86400    IN    A    10.0.0.25
 +
 +;; AUTHORITY SECTION:
 +douglasqsantos.com.br. ​       86400    IN    NS    ns1.douglasqsantos.com.br.
 +douglasqsantos.com.br. ​       86400    IN    NS    douglasqsantos.com.br.
 +douglasqsantos.com.br. ​       86400    IN    NS    ns2.douglasqsantos.com.br.
 +
 +;; ADDITIONAL SECTION:
 +ns1.douglasqsantos.com.br. ​   86400    IN    A    10.0.0.25
 +ns2.douglasqsantos.com.br. ​   86400    IN    A    10.0.0.27
 +
 +;; Query time: 1 msec
 +;; SERVER: 127.0.0.1#​53(127.0.0.1)
 +;; WHEN: Fri Jun 24 17:04:25 2011
 +;; MSG SIZE  rcvd: 130
 +</​sxh>​
 +Vamos agora consultar todos os registros do nosso domínio.
 +<sxh bash>
 +
 +dig -t axfr douglasqsantos.com.br
 +
 +; <<>>​ DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_6.2 <<>>​ -t axfr douglasqsantos.com.br
 +;; global options: +cmd
 +douglasqsantos.com.br. ​       86400    IN    SOA    dns.douglasqsantos.com.br. root.dns.douglasqsantos.com.br. 2011061703 3600 1800 1209600 3600
 +douglasqsantos.com.br. ​       86400    IN    MX    0 mail.douglasqsantos.com.br.
 +douglasqsantos.com.br. ​       86400    IN    A    10.0.0.25
 +douglasqsantos.com.br. ​       86400    IN    NS    ns1.douglasqsantos.com.br.
 +douglasqsantos.com.br. ​       86400    IN    NS    ns2.douglasqsantos.com.br.
 +douglasqsantos.com.br. ​       86400    IN    NS    douglasqsantos.com.br.
 +douglasqsantos.com.br. ​       86400    IN    TXT    "​v=spf1 a mx ip4:​10.0.0.0/​23 -all"
 +mail.douglasqsantos.com.br.douglasqsantos.com.br. 86400 IN TXT "​v=spf1 a -all"
 +dns.douglasqsantos.com.br. ​   86400    IN    A    10.0.0.25
 +ftp.douglasqsantos.com.br. ​   86400    IN    CNAME    www.douglasqsantos.com.br.
 +imap.douglasqsantos.com.br. ​   86400    IN    CNAME    mail.douglasqsantos.com.br.
 +mail.douglasqsantos.com.br. ​   86400    IN    A    10.0.0.25
 +mailadmin.douglasqsantos.com.br. 86400    IN    CNAME    www.douglasqsantos.com.br.
 +ns1.douglasqsantos.com.br. ​   86400    IN    A    10.0.0.25
 +ns2.douglasqsantos.com.br. ​   86400    IN    A    10.0.0.27
 +pop.douglasqsantos.com.br. ​   86400    IN    CNAME    mail.douglasqsantos.com.br.
 +smtp.douglasqsantos.com.br. ​   86400    IN    CNAME    mail.douglasqsantos.com.br.
 +webmail.douglasqsantos.com.br. ​   86400    IN    CNAME    mail.douglasqsantos.com.br.
 +www.douglasqsantos.com.br. ​   86400    IN    A    10.0.0.27
 +douglasqsantos.com.br. ​       86400    IN    SOA    dns.douglasqsantos.com.br. root.dns.douglasqsantos.com.br. 2011061703 3600 1800 1209600 3600
 +;; Query time: 2 msec
 +;; SERVER: 127.0.0.1#​53(127.0.0.1)
 +;; WHEN: Fri Jun 24 17:04:44 2011
 +;; XFR size: 20 records (messages 1, bytes 495)
 +</​sxh>​
 +Como pode ser notado o nosso servidor estar funcionando corretamente em MultiView, agora vamos fazer os ajustes para ele efetuar a replicação como precisamos.
 +
 +====== Agora vamos configurar o servidor Slave ======
 +
 +Vamos fazer um update dos repositórios e vamos atualizar o sistema primeiramente.
 +<sxh bash>
 +
 +yum check-update && yum update -y
 +</​sxh>​
 +
 +Agora vamos instalar os pacotes do bind
 +<sxh bash>
 +
 +yum install bind-chroot bind-utils bind-libs -y
 +</​sxh>​
 +
 +Agora vamos colocar ele na inicialização do sistema
 +<sxh bash>
 +
 +chkconfig named on
 +</​sxh>​
 +
 +Agora vamos reiniciar o serviço para que o named monte a sua jaula
 +<sxh bash>
 +
 +/​etc/​init.d/​named restart
 +</​sxh>​
 +
 +Agora vamos fazer um backup do arquivo de configuração do nosso bind.
 +<sxh bash>
 +
 +cp -Rfa /​etc/​named.conf{,​.bkp}
 +</​sxh>​
 +
 +Agora vamos deixar o arquivo /​etc/​named.conf como abaixo, aqui estou utilizando a rede 10.0.0.0/23 como minha rede local para exemplo, mude conforme necessário.
 +<sxh bash>
 +
 +vim /​etc/​named.conf
 +#Criando acl para definir as nossas redes internas.
 +acl "​trusted"​ {
 + ​10.0.0.0/​23;​
 + ​127.0.0.1;​
 +};
 +
 +#Acl que define qual vai ser o dns master
 +acl "​dns_master"​ {
 + ​10.0.0.25;​
 +};
 +
 +#Algumas opções do Bind
 +options {
 + ​listen-on port 53 { 127.0.0.1; 10.0.0.0/​23;​ };
 + ​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 ​    { any; };
 + ​recursion no;
 + ​version "Não Disponível";​
 +};
 +
 +#​Controles ​
 +include "/​etc/​rndc.key";​
 +
 +controls {
 +        inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { rndc-key; };
 +};
 +
 +#LOGS
 +logging {
 + ​channel xfer-log {
 + file "/​var/​log/​named.log";​
 + ​print-category yes;
 + ​print-severity yes;
 + ​print-time yes;
 + ​severity info;
 + };
 + ​category xfer-in { xfer-log; };
 + ​category xfer-out { xfer-log; };
 + ​category notify { xfer-log; };
 +
 + ​channel update-debug {
 + file "/​var/​log/​named-update-debug.log";​
 + ​severity ​ debug 3;
 + ​print-category yes;
 + ​print-severity yes;
 + ​print-time ​     yes;
 + };
 + ​channel security-info ​   {
 + file "/​var/​log/​named-auth-info.log";​
 + ​severity ​ info;
 + ​print-category yes;
 + ​print-severity yes;
 + ​print-time ​     yes;
 + };
 + ​category update { update-debug;​ };
 + ​category security { security-info;​ };
 +
 + };
 +
 +#Incluir os nossos arquivos externos que vão conter as configurações das Views
 +include "/​etc/​named/​named.conf.internal-zones";​
 +include "/​etc/​named/​named.conf.external-zones";​
 +</​sxh>​
 +
 +Agora vamos gerar a chave do rndc
 +<sxh bash>
 +
 +rndc-confgen -a -c /​etc/​rndc.key -k rndc-key -b 256
 +</​sxh>​
 +
 +Agora precisamos acertar as permissões dos arquivos ​
 +<sxh bash>
 +
 +chown root:named /​etc/​rndc.key
 +chmod 640 /​etc/​rndc.key
 +</​sxh>​
 +
 +Agora vamos criar o arquivo da nossa View interna /​etc/​named/​named.conf.internal-zones ​
 +<sxh bash>
 +
 +vim /​etc/​named/​named.conf.internal-zones
 +#Definindo a nossa View interna
 +view "​internal"​ {
 +
 +#Definindo quais clientes vão poder consultar esta view, então vão ser a nossa rede interna mesmo o servidor external_slave
 + ​match-clients { trusted; };
 +
 +#Definindo que os clientes dessa view vão poder efetuar consultas recursivas.
 + ​recursion yes;
 +
 +#Qual servidor vai poder receber a replica dessa view 
 +allow-notify {
 + ​dns_master;​
 +};
 +
 +#Nao disponibiliza transferencia de zona do servidor SLAVE
 + ​allow-transfer {
 + none;
 +};
 +
 +#Zona que define os endereços dos root Masters.
 +zone "​."​ IN {
 + type hint;
 + file "​named.ca";​
 +};
 +
 +#Nosso domínio de teste.
 +zone "​douglasqsantos.com.br"​ {
 +type slave;
 +masters { 10.0.0.25; }; 
 +transfer-source 10.0.0.27; #​Especificando qual transferencia do master que eu vou poder receber nessa view
 +file "​slaves/​db.douglasqsantos.com.br.internal";​
 +};
 +
 +#Este arquivo contem as zonas locais
 +include "/​etc/​named.rfc1912.zones";​
 +
 +};
 +</​sxh>​
 +
 +Vamos agora configurar a View Externa /​etc/​named/​named.conf.external-zones ​
 +<sxh bash>
 +
 +vim /​etc/​named/​named.conf.external-zones
 +#​Definição da nossa view Externa
 +view "​external"​ {
 +
 +#Definindo quais clientes vão poder consultar esta view
 + ​match-clients { !trusted; any; };
 +
 +#Os clientes dessa view não poderão efetuar consultas recursivas
 + ​recursion no;
 +
 +#Quem vai ser notificado aqui temos que informar o endereço ip
 + ​allow-notify {
 + ​dns_master;​
 + };
 +
 +#Nao disponibiliza transferencia de zona do servidor SLAVE
 + ​allow-transfer {
 + none;
 +};
 +
 +
 +#Nosso dominio de teste.
 +zone "​douglasqsantos.com.br"​ {
 + type slave;
 + ​masters { 10.0.0.25; };
 + ​transfer-source 10.0.0.28; #​Especificando qual transferencia do master que eu vou poder receber nessa view.
 + file "​slaves/​db.douglasqsantos.com.br.external";​
 + };
 +
 +};
 +</​sxh>​
 +Agora vamos ajustar o /​etc/​resolv.conf
 +<sxh bash>
 +
 +vim /​etc/​resolv.conf
 +search douglasqsantos.com.br
 +nameserver 127.0.0.1
 +</​sxh>​
 +
 +Agora vamos reiniciar o serviço
 +<sxh bash>
 +
 +/​etc/​init.d/​named restart
 +</​sxh>​
 +
 +Agora podemos acompanhar os logs em 
 +<sxh bash>
 +
 +tail -f /​var/​named/​chroot/​var/​log/​named.log ​
 +27-Jun-2011 12:​55:​15.523 xfer-in: info: transfer of '​douglasqsantos.com.br/​IN/​internal'​ from 10.0.0.25#​53:​ connected using 10.0.0.27#​33882
 +27-Jun-2011 12:​55:​15.524 xfer-in: info: transfer of '​douglasqsantos.com.br/​IN/​internal'​ from 10.0.0.25#​53:​ Transfer completed: 1 messages, 20 records, 495 bytes, 0.001 secs (495000 bytes/sec)
 +27-Jun-2011 12:​55:​15.524 notify: info: zone douglasqsantos.com.br/​IN/​internal:​ sending notifies (serial 2011061703)
 +27-Jun-2011 12:​55:​16.023 xfer-in: info: transfer of '​douglasqsantos.com.br/​IN/​external'​ from 10.0.0.25#​53:​ connected using 10.0.0.28#​34466
 +27-Jun-2011 12:​55:​16.026 xfer-in: info: transfer of '​douglasqsantos.com.br/​IN/​external'​ from 10.0.0.25#​53:​ Transfer completed: 1 messages, 20 records, 500 bytes, 0.002 secs (250000 bytes/sec)
 +27-Jun-2011 12:​55:​16.027 notify: info: zone douglasqsantos.com.br/​IN/​external:​ sending notifies (serial 2011061703)
 +</​sxh>​
 +Vamos conferir o arquivo com a zona interna.
 +<sxh bash>
 +
 +cat /​var/​named/​chroot/​var/​named/​slaves/​db.douglasqsantos.com.br.internal ​
 +$ORIGIN .
 +$TTL 86400    ; 1 day
 +douglasqsantos.com.br ​       IN SOA    dns.douglasqsantos.com.br. root.dns.douglasqsantos.com.br. (
 + ​2011061703 ; serial
 + ​3600 ​      ; refresh (1 hour)
 + ​1800 ​      ; retry (30 minutes)
 + ​1209600 ​   ; expire (2 weeks)
 + ​3600 ​      ; minimum (1 hour)
 + )
 + ​NS ​   ns1.douglasqsantos.com.br.
 + ​NS ​   ns2.douglasqsantos.com.br.
 + ​NS ​   douglasqsantos.com.br.
 + ​A ​   10.0.0.25
 + ​MX ​   0 mail.douglasqsantos.com.br.
 + ​TXT ​   "​v=spf1 a mx ip4:​10.0.0.0/​23 -all"
 +$ORIGIN douglasqsantos.com.br.
 +mail.douglasqsantos.com.br ​   TXT    "​v=spf1 a -all"
 +dns            A    10.0.0.25
 +ftp            CNAME    www
 +imap            CNAME    mail
 +mail            A    10.0.0.25
 +mailadmin ​       CNAME    www
 +ns1            A    10.0.0.25
 +ns2            A    10.0.0.27
 +pop            CNAME    mail
 +smtp            CNAME    mail
 +webmail ​           CNAME    mail
 +www            A    10.0.0.27
 +</​sxh>​
 +Agora vamos conferir o arquivo da zona Externa.
 +<sxh bash>
 +
 +cat /​var/​named/​chroot/​var/​named/​slaves/​db.douglasqsantos.com.br.external ​
 +$ORIGIN .
 +$TTL 86400    ; 1 day
 +douglasqsantos.com.br ​       IN SOA    dns.douglasqsantos.com.br. root.dns.douglasqsantos.com.br. (
 + ​2011061703 ; serial
 + ​3600 ​      ; refresh (1 hour)
 + ​1800 ​      ; retry (30 minutes)
 + ​1209600 ​   ; expire (2 weeks)
 + ​3600 ​      ; minimum (1 hour)
 + )
 + ​NS ​   ns1.douglasqsantos.com.br.
 + ​NS ​   ns2.douglasqsantos.com.br.
 + ​NS ​   douglasqsantos.com.br.
 + ​A ​   200.200.200.25
 + ​MX ​   0 mail.douglasqsantos.com.br.
 + ​TXT ​   "​v=spf1 a mx ip4:​200.200.200.0/​23 -all"
 +$ORIGIN douglasqsantos.com.br.
 +mail.douglasqsantos.com.br ​   TXT    "​v=spf1 a -all"
 +dns            A    200.200.200.25
 +ftp            CNAME    www
 +imap            CNAME    mail
 +mail            A    200.200.200.25
 +mailadmin ​       CNAME    www
 +ns1            A    200.200.200.25
 +ns2            A    200.200.200.27
 +pop            CNAME    mail
 +smtp            CNAME    mail
 +webmail ​           CNAME    mail
 +www            A    200.200.200.27
 +</​sxh>​
 +Vamos fazer alguns teste de consulta no servidor Slave.
 +
 +Vamos consultar o endereço do host www
 +<sxh bash>
 +
 +nslookup www
 +Server: ​       127.0.0.1
 +Address: ​   127.0.0.1#​53
 +
 +Name:    www.douglasqsantos.com.br
 +Address: 10.0.0.27
 +</​sxh>​
 +
 +Agora vamos consultar o endereço do host mail.douglasqsantos.com.br aqui poderíamos consultar somente por mail dai ele completaria com o parâmetro domain do resolv.conf ​
 +<sxh bash>
 +
 +nslookup mail.douglasqsantos.com.br
 +Server: ​       127.0.0.1
 +Address: ​   127.0.0.1#​53
 +
 +Name:    mail.douglasqsantos.com.br
 +Address: 10.0.0.25
 +</​sxh>​
 +Vamos consultar os registros do tipo A do nosso domínio.
 +<sxh bash>
 +
 +dig -t A douglasqsantos.com.br
 +
 +; <<>>​ DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_6.2 <<>>​ -t A douglasqsantos.com.br
 +;; global options: +cmd
 +;; Got answer:
 +;; ->>​HEADER<<​- opcode: QUERY, status: NOERROR, id: 40525
 +;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 2
 +
 +;; QUESTION SECTION:
 +;​douglasqsantos.com.br. ​           IN    A
 +
 +;; ANSWER SECTION:
 +douglasqsantos.com.br. ​       86400    IN    A    10.0.0.25
 +
 +;; AUTHORITY SECTION:
 +douglasqsantos.com.br. ​       86400    IN    NS    ns2.douglasqsantos.com.br.
 +douglasqsantos.com.br. ​       86400    IN    NS    ns1.douglasqsantos.com.br.
 +douglasqsantos.com.br. ​       86400    IN    NS    douglasqsantos.com.br.
 +
 +;; ADDITIONAL SECTION:
 +ns1.douglasqsantos.com.br. ​   86400    IN    A    10.0.0.25
 +ns2.douglasqsantos.com.br. ​   86400    IN    A    10.0.0.27
 +
 +;; Query time: 1 msec
 +;; SERVER: 127.0.0.1#​53(127.0.0.1)
 +;; WHEN: Mon Jun 27 13:02:28 2011
 +;; MSG SIZE  rcvd: 130
 +</​sxh>​
 +Agora vamos consultar todos os registros do nosso domínio.
 +<sxh bash>
 +
 +dig -t AXFR douglasqsantos.com.br
 +
 +; <<>>​ DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_6.2 <<>>​ -t AXFR douglasqsantos.com.br
 +;; global options: +cmd
 +douglasqsantos.com.br. ​       86400    IN    SOA    dns.douglasqsantos.com.br. root.dns.douglasqsantos.com.br. 2011061703 3600 1800 1209600 3600
 +douglasqsantos.com.br. ​       86400    IN    TXT    "​v=spf1 a mx ip4:​10.0.0.0/​23 -all"
 +douglasqsantos.com.br. ​       86400    IN    NS    ns1.douglasqsantos.com.br.
 +douglasqsantos.com.br. ​       86400    IN    NS    ns2.douglasqsantos.com.br.
 +douglasqsantos.com.br. ​       86400    IN    NS    douglasqsantos.com.br.
 +douglasqsantos.com.br. ​       86400    IN    A    10.0.0.25
 +douglasqsantos.com.br. ​       86400    IN    MX    0 mail.douglasqsantos.com.br.
 +mail.douglasqsantos.com.br.douglasqsantos.com.br. 86400 IN TXT "​v=spf1 a -all"
 +dns.douglasqsantos.com.br. ​   86400    IN    A    10.0.0.25
 +ftp.douglasqsantos.com.br. ​   86400    IN    CNAME    www.douglasqsantos.com.br.
 +imap.douglasqsantos.com.br. ​   86400    IN    CNAME    mail.douglasqsantos.com.br.
 +mail.douglasqsantos.com.br. ​   86400    IN    A    10.0.0.25
 +mailadmin.douglasqsantos.com.br. 86400    IN    CNAME    www.douglasqsantos.com.br.
 +ns1.douglasqsantos.com.br. ​   86400    IN    A    10.0.0.25
 +ns2.douglasqsantos.com.br. ​   86400    IN    A    10.0.0.27
 +pop.douglasqsantos.com.br. ​   86400    IN    CNAME    mail.douglasqsantos.com.br.
 +smtp.douglasqsantos.com.br. ​   86400    IN    CNAME    mail.douglasqsantos.com.br.
 +webmail.douglasqsantos.com.br. ​   86400    IN    CNAME    mail.douglasqsantos.com.br.
 +www.douglasqsantos.com.br. ​   86400    IN    A    10.0.0.27
 +douglasqsantos.com.br. ​       86400    IN    SOA    dns.douglasqsantos.com.br. root.dns.douglasqsantos.com.br. 2011061703 3600 1800 1209600 3600
 +;; Query time: 1 msec
 +;; SERVER: 127.0.0.1#​53(127.0.0.1)
 +;; WHEN: Mon Jun 27 13:03:31 2011
 +;; XFR size: 20 records (messages 1, bytes 495)
 +</​sxh>​
 +
 +====== Referências ======
 +
 +  - http://​www.isc.org/​software/​bind
 +  - http://​www.isc.org/​software/​bind/​history
 +  - http://​www.isc.org/​software/​bind/​whatis
 +  - http://​www.isc.org/​software/​bind/​versions
 +  - http://​ftp.isc.org/​isc/​bind9/​
 +  - http://​www.isc.org/​software/​bind/​documentation