>_Dns 1.4

Configuração do Servidor BIND9.

Agora iremos configurar o bind9, lembrando que estamos fazendo um teste interno, restringindo as consultas apenas para localhost, certifique-se dentro do arquivo /etc/resolv.conf e dentro do arquivo /etc/hosts se estão corretos, efetue teste com o comando ping. Iremos prosseguir com a configuração.

# vim /etc/host.conf

# vim /etc/hosts

# vim /etc/resolv.conf

# vim /etc/hostname

# vim /etc/bind/named.conf.options

options {

directory “/var/cache/bind”;
version “N/A”;

forwarders {
208.67.220.220;
};

auth-nxdomain yes;

listen-on {
127.0.0.1;
192.168.0.20;
};
allow-query {
127.0.0.0/8;
192.168.0.0/27;
};

};

1 – Acrescente as linhas abaixo ao arquivo named.conf.local

# vim /etc/bind/named.conf.local

zone “seunome.com.br” {
type master;
file “db.seunome”;
};
zone “IP-REVERSO.in-addr.arpa” {
type master;
file “rev.seunome”;
};

VEJA EXEMPLO ABAIXO:

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include “/etc/bind/zones.rfc1918”;

zone “gnulinuxbr.com.br” {
type master;
file “db.gnulinuxbr”;
};
zone “0.168.192.in-addr.arpa” {
type master;
file “rev.gnulinuxbr”;
};

Agora que já declaramos as duas zonas pelas quais nos tornaremos autoridade. Vamos preencher o banco de dados de registros.

2 – Criaremos o banco de dados de registros de DNS, teremos servidores DNS, e-mail, web e ftp:

# vim /var/cache/bind/db.gnulinuxbr

@ IN SOA ns1.seunome.com.br. postmaster.seunome.com.br. (

YYYYMMDDRR ; serial
1H ; refresh after 1 hour
1H ; retry after 1 hour
1W ; expire after 1 week
1D ) ; minimum TTL of 1 day
;
;
@ IN NS ns1.seunome.com.br.
@ IN MX 10 mail.seunome.com.br.
;
ns1 IN A SEU IP
mail IN A SEU IP
pop IN CNAME mail
smtp IN CNAME mail
www IN A SEU IP
ftp IN CNAME www
@ IN A SEU IP
@ IN TXT “v=spf1 a mx ip3:SEU IP/MASCARA -all”

VEJA EXEMPLO ABAIXO:

$TTL 1h ; TTL default para todos os registros que não tiverem seu prorpio TTL.
@ IN SOA ns1.gnulinuxbr.com.br. hostmaster.gnulinuxbr.com.br. (
17052010 ; serial
1h ; refresh
15m ; retry
1w ; expire
1h) ; negative caching TTL
;
;
@ IN NS ns1.gnulinuxbr.com.br.
@ IN MX 10 mail.gnulinuxbr.com.br.
ns1 IN A 192.168.0.20
mail IN A 192.168.0.20
pop IN CNAME mail
smtp IN CNAME mail
www IN A 192.168.0.20
ftp IN CNAME www
@ IN A 192.168.0.20
@ IN TXT “v=spf1 a mx ip4:192.168.0/27 -all”

Sobre o registro SOA, vão algumas explicações:

  • serial – É a referência para os slaves saberem se a zona sofreu alterações
  • refresh – Tempo que o servidor secundário vai aguardar até checar se há atualizações no servidor primário.
  • retry – Em caso de falha do refresh, o tempo até a próxima verificação
  • expire – O tempo que o secundário aguardará o primário voltar, se esgotar, o secundário para de responder por essa zona
  • negative caching TTL – Se a zona expirar, esse será o tempo pelo qual um servidor cache armazenará a informaçõa NXDOMAIN antes de iniciar uma nova busca recursiva. O máximo são 3 horas

Agora sobre o registro TXT

  • a – Qualquer registro A desse domínio
  • mx – O servidor de e-mail
  • 192.168.0/27 – Qualquer host da rede 192.168.0.0/27, qualquer outra origem, descarte

Zona ao contrário = ordem

A importância de uma configuração bem feita de reverso é simplemente poder enviar e receber e-mails sem ser classificado como SPAMMER. Simples assim.

Como o prórpio nome diz, uma configuração reversa de DNS é utilizada para checar a um nome de domínio através de um endereço IP.

Agora iremo configurar a zona reversa, para completar nosso registro MX.

# vim /var/cache/bind/rev.gnulinuxbr

$TTL 1h ; TTL default para todos os registros que nao tiverem seu proprio TTL
@ IN SOA ns1.seunome.com.br. hostmaster.seunome.com.br. (
20100417 ; serial
1h ; refresh
15m ; retry
1w ; expire
1h) ; negative caching TTL
;
;
@ IN NS ms1.seunome.com.br.
X IN PTR mail.seunome.com.br. # onde X é o final do seu IP

VEJA EXEMPLO ABAIXO:

$TTL 1h ; TTL default para todos os registros que nao tiverem seu proprio TTL
@ IN SOA ns1.gnulinuxbr.com.br. hostmaster.gnulinuxbr.com.br. (
17052010 ; serial
1h ; refresh
15m ; retry
1w ; expire
1h) ; negative caching TTL
;
;
@ IN NS ns1.gnulinuxbr.com.br.
20 IN PTR mail.gnulinuxbr.com.br.

Teste os arquivos modificados com o comando:

# named-checkconf

Estamos prontos para apicar nossas configurações. Mas para observar se deu tudo certo ou não, num outro terminal inicie o comando:

# tail -f /var/log/daemon.log

Voltando ao terminal anterior:

# /etc/init.d/bind9 restart

Para atualizar alguma alteração nos arquivos, use o comando:

# /etc/init.d/bind9 reload

Se o serviço levantou sem erros, teste a resolução do seu domínio:

# ping www.seunome.com.br
dig -t mx seunome.com.br
dig -x seu IP
dig @localhost www.kernel.org

Para registrarmos um domínio público, precisamos de pelo menos dois servidores DNS respondendo pelo nosso domínio. Isso significa um servidor mestre e pelo menos um servidor escravo. A exigência é uma forma de garantir que seu domínio estará sempre disponível. Se um servidor parar, o outro continua respondendo.

Se os servidores estiverem geograficamente separados, isso garante ainda mais disponibilidade, pois mesmo que um link caia, o outro certamente ainda estará disponível. Logo, nossos teste de BIND não estaria completo antes de configurar um servidor escravo.

Na verdade, um mesmo servidor rodando BIND pode ser simultaneamente mestre para alguns domínios, escravo para outros, e cache para todo o resto.

Para se tornar escravo de outro servidor, basta realizar a mesma configuração em outro servidor BIND. Basta apenas acrescentar no arquivo /etc/bind/named.conf.local

# vim /etc/bind/named.conf.local

Acrescente a zona que para qual você será escravo.

zone “SEUNOME.com.br” {
type slave;
masters {IP-DO-SERVIDOR-QUE-SERÁ-ESCRAVO;} ;
file “sec.SEUNOME” ;
};

VEJA EXEMPLO ABAIXO:

zone “gnulinuxbr2.com.br” {
type slave;
masters {192.168.0.2;} ;
file “sec.gnulinuxbr-server-2” ;
};

Ative a configuração

# /etc/init.d/bind9 reload

Observe nos logs se a zona foi tranferida. Em caso positivo, veja o conteúdo do arquivo criado

# cat /var/cache/bind/sec.seunome


Para completar, podemos evitar que outros servidores baixe a zona que criamos para o nosso servidor, para isso, basta adicionar ao arquivo /etc/bind/named.conf.options a seguinte linha:

# vim /etc/bind/named.conf.options

allow-transfer { none; };

Neste caso, estamos protegidos contra enxeridos, mas agora precisamos autorizar nosso escravo acrescentando:

# vim /etc/bind/named.conf.options

options {
directory “/var/cache/bind”;

// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk.  See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0’s placeholder.
// forwarders {
//     0.0.0.0;
// };
auth-nxdomain no;    # conform to RFC1035
listen-on-v6 { any; };
allow-query { 127.0.0.1; 192.168.200.20;};
allow-transfer {192.168.0.2;};
};

Veja o comando ping abaixo:

Vamos aproveitar e tornar mais rápido a atualização, enviando uma notificação sempre que fizermos uma mudança no zona, ao invés de esperar o “refresh” dos nossos escravos. Para isso basta acrescentar em cada zona, dentro do /etc/bind/named.conf.local:

alsn-notify { IP-DO-SEU-ESCRAVO; };

zone “gnulinnuxbr.com.br” {
type master;
file “db.gnulinuxbr”;
};
zone “0.168.192.in-addr.arpa” {
type master;
file “rev.gnulinuxbr”;
};
zone “gnulinuxbr2.com.br” {
type slave;
masters {192.168.0.2;} ;
file “sec.gnulinuxbr-server-2” ;

also-notify { 192.168.0.2; } ;
};

OBS: Cuidado ao copiar estes arquivos para o seu servidor, pois normalmente as “aspas” podem ficar de forma incorreta. Verique sempre os arquivos com o comando named-checkconf.

Aqui termina o meu post sobre servidor DNS com BIND9. Qualquer dúvida estou a disposição para ajudar numa outra configuração. Abraços e até mais…

Há duas formas para viver a sua vida:
Uma é acreditar que não existe milagre.
A outra é acreditar que todas as coisas são um milagre.

>_Dns 1.4
Tagged on:

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

%d blogueiros gostam disto: