Laboratório: NetKit DNS: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
 
(20 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 8: Linha 8:
[[Arquivo:ServidorDNS.png]]
[[Arquivo:ServidorDNS.png]]


Todas as máquinas estarão na mesma '''rede local'''. A máquina 192.168.100.101 é o '''servidor DNS principal''', as demais serão são '''servidores DNS secundários''' e serão utilizadas como '''escravos''' para resolver nomes vinculados ao domínio das mesmas.
Todas as máquinas estarão na mesma '''rede local'''. A máquina 192.168.100.101 funcionará como '''servidor DNS secundário''' para os demais servidores. No '''servidor DNS secundário''' serão criadas '''zonas escravas''' que receberão cópias das zonas dos outros '''servidores DNS primários''', de forma que o mesmo também poderá resolver nomes vinculados ao domínio demais servidores.


===Configuração do servidor DNS principal===
==Configuração do servidor DNS secundário==
O servidor principal utilizará os demais servidores como escravos para resolver nomes dos sub-domínios.
O servidor DNS secundário será configurado com uma zona tipo '''master''' e outras zonas tipo '''slave''', as quais receberão cópias das zonas dos outros '''servidores DNS primários''' para também poder resolver nomes destes sub-domínios.


;Cache: Criação de arquivos para armazenar as ''caches'' dos escravos.
;Cache: Criação de diretório para armazenar a cópia das zonas servidores primários.
  mkdir /var/cache/bind/slaves
  mkdir /var/cache/bind/slaves
  chown bind:bind /var/cache/bind/slaves
  chown bind:bind /var/cache/bind/slaves
:Deve-se dar permissão ao usuário bind para editar no diretório que será usado para guardar as cópias das zonas dos demais servidores.


;/etc/bind/named.conf.local:
;/etc/bind/named.conf.local:
Linha 26: Linha 27:
  zone "100.168.192.in-addr.arpa" IN {
  zone "100.168.192.in-addr.arpa" IN {
         type master;
         type master;
         file "/etc/bind/db.200.168.192";
         file "/etc/bind/db.100.168.192";
  };
  };
    
    
Linha 46: Linha 47:
         masters { 192.168.100.104; };
         masters { 192.168.100.104; };
  };
  };
:Nas zonas tipo '''slave''' é indicado o local e o nome do arquivo com a cópia da zona e o endereço IP do servidor '''master''' correspondente.


;/etc/bind/db.redes1:
;/etc/bind/db.redes1:


  $TTL 86400
  $TTL   86400
  @ IN SOA m1.redes1.edu.br. root (
  @       IN     SOA     ns.redes1.edu.br. admin.redes1.edu.br. (
    2014040900 ; Serial  
                      2014040900         ; Serial
604800 ; Refresh
                          604800         ; Refresh
  86400 ; Retry
                          86400         ; Retry
2419200 ; Expire
                        2419200         ; Expire
  86400 ) ; Negative Cache TTL
                          86400 )       ; Negative Cache TTL
  ;
  ;
  @ IN NS ns.redes1.edu.br.
  @       IN     NS     ns.redes1.edu.br.
  @ IN MX 10 mail.redes1.edu.br.
  @       IN     MX     10     mail.redes1.edu.br.
$ORIGIN redes1.edu.br.
  ns     A       192.168.100.101
m1 A 192.168.2.101
  www     A       192.168.100.101
  ns A 192.168.2.101
  ftp     A       192.168.100.101
  www A 192.168.2.101
  mail   A       192.168.100.101
  ftp A 192.168.2.101
 
  mail A 192.168.2.101


;/etc/bind/db.2.168.192: Zona reversa
;/etc/bind/db.2.168.192: Zona reversa
  $TTL 86400
 
  @ IN SOA m1.redes1.edu.br. root (
  $TTL   86400
    2014040900 ; Serial
  @       IN     SOA     ns.redes1.edu.br. admin.redes1.edu.br.  (
604800 ; Refresh
                      2014040900         ; Serial
  86400 ; Retry
                          604800         ; Refresh
2419200 ; Expire
                          86400         ; Retry
  86400 ) ; Negative Cache TTL
                        2419200         ; Expire
                          86400 )       ; Negative Cache TTL
  ;
  ;
IN      NS      m1.redes1.edu.br.
          IN      NS      ns.redes1.edu.br.
  101      IN      PTR    m1.redes1.edu.br.
  101      IN      PTR    ns.redes1.edu.br.
  102      IN      PTR    m2.redes2.edu.br.
  102      IN      PTR    ns.redes2.edu.br.
  103      IN      PTR    m3.redes3.edu.br.
  103      IN      PTR    ns.redes3.edu.br.
  104      IN      PTR    m4.redes4.edu.br.
  104      IN      PTR    ns.redes4.edu.br.


===Configurações dos demais servidores DNS===
==Configurações dos demais servidores DNS primários==
;/etc/bind/named.conf.local: Exemplo para máquina 192.168.100.102 (domínio redes2.edu.br):
;/etc/bind/named.conf.local: Exemplo para máquina 192.168.100.102 (domínio redes2.edu.br):
  zone "redes2.edu.br" {
  zone "redes2.edu.br" {
Linha 91: Linha 94:
  };
  };
*O arquivo '''/etc/bind/db.redes2''' contem a configuração deste domínio;
*O arquivo '''/etc/bind/db.redes2''' contem a configuração deste domínio;
*A linha '''allow-transfer''' indica quais servidores terão permissão para realizar transferência de zona.
*A linha '''allow-transfer''' indica qual '''servidor DNS secundários''' terá permissão para realizar a transferência de zona.


Cada servidor DNS deve responder pelo nome da própria máquina (m2, m3, m4), '''www''', '''ftp''', '''ns''' e '''mail''', todos apontando para o mesmo '''endereço IP'''.
Cada servidor DNS deve responder pelo nome do próprio domínio, '''www''', '''ftp''', '''ns''' e '''mail''', todos apontando para o mesmo '''endereço IP'''.


;/etc/bind/db.redes2: Configuração do domínio.
;/etc/bind/db.redes2: Configuração do domínio.


  $TTL    86400
  $TTL    86400
  @  IN    SOA  ns.redes2.edu.br. (
  @  IN    SOA  ns.redes2.edu.br. admin.redes2.edu.br. (
                               2015120801; serial
                               2014040902; serial
                               3H ; refresh
                               3H ; refresh
                               60 ; retry
                               60 ; retry
Linha 105: Linha 108:
                               3W ; minimum
                               3W ; minimum
                               )
                               )
  @   IN  NS    ns.redes2.edu.br. ; este é o servidor master deste domínio
  @       IN  NS    ns.redes2.edu.br. ; este é o servidor master deste domínio
  m2   A 192.168.100.102
  @      IN  MX    10 mail.redes2.edu.br.
ns   A 192.168.100.102
  mail A 192.168.100.102
  mail A 192.168.100.102
  www  A 192.168.100.102
  www  A 192.168.100.102
Linha 112: Linha 116:
  ns  A 192.168.100.102
  ns  A 192.168.100.102


;Servidor DNS local:  
===Configuração do DNS na máquina local===
  vim /etc/resolv.conf
 
No Ubuntu a configuração do DNS era realizada no arquivo '''/etc/resolv.conf'''. Entretanto, este arquivo não é mais editável.  No lugar dele foi implementado conjunto de scripts que contam com a ajuda do '''DHCP Client''' e alteram o DNS em conexões com IP dinâmico .
 
Para alterar manualmente a configuração do DNS deve-se editar arquivo '''/etc/resolvconf/resolv.conf.d/head''' e incluir os servidores DNS que queremos que nossa máquina utilize para resolver nomes.
 
No caso do nosso servidor primário, pode-se incluir o '''servidor DNS secundário''' para resolver nomes fora do domíno, por exemplo:
  vim /etc/resolvconf/resolv.conf.d/head
  nameserver 192.168.100.101
  nameserver 192.168.100.101


===Verificação da configuração===
Faça update da configuração:
  resolvconf -u
 
Para visualizar se as alterações foram feitas:
 
cat /etc/resolv.conf
 
==Verificação a configuração e testando o DNS==


Utilitário para testar o arquivo que contém o conteúdo de uma zona:
Utilitário para testar o arquivo que contém o conteúdo de uma zona:
Linha 134: Linha 151:
===Sequência de testes===
===Sequência de testes===
Comandos para testar o funcionamento do DNS:
Comandos para testar o funcionamento do DNS:
dig ns.redesN.edu.br
  ping www.redesN.edu.br
  ping www.redesN.edu.br
  ping ns.redesN.edu.br
  ping ns.redesN.edu.br
Linha 141: Linha 160:
Teste do DNS reverso:
Teste do DNS reverso:
  dig -x 192.168.100.10X
  dig -x 192.168.100.10X
==Experimento Desafio==
Modifique a arquitetura da rede de testes, alojando os '''servidores DNS primários''' e o '''servidor DNS secundário''' em '''redes locais''' distintas, separadas por '''roteadores'''. Em cada '''rede local''' inclua outras estações, algumas com IP fixo e outras com DHCP. Em seguida teste se o '''serviço DNS''' funciona.


==Referências==
==Referências==

Edição atual tal como às 10h56min de 15 de dezembro de 2015

Laboratório: NetKit DNS

O servidor DNS vem instalado no ambiente do Netkit2, correspondendo ao aplicativo bind disponível para distribuições Linux.

Ambiente para testes do serviço DNS

Vamos montar no Netkit2 um ambiente para testes do serviço DNS, conforme a figura a seguir [1]:

Todas as máquinas estarão na mesma rede local. A máquina 192.168.100.101 funcionará como servidor DNS secundário para os demais servidores. No servidor DNS secundário serão criadas zonas escravas que receberão cópias das zonas dos outros servidores DNS primários, de forma que o mesmo também poderá resolver nomes vinculados ao domínio demais servidores.

Configuração do servidor DNS secundário

O servidor DNS secundário será configurado com uma zona tipo master e outras zonas tipo slave, as quais receberão cópias das zonas dos outros servidores DNS primários para também poder resolver nomes destes sub-domínios.

Cache
Criação de diretório para armazenar a cópia das zonas servidores primários.
mkdir /var/cache/bind/slaves
chown bind:bind /var/cache/bind/slaves
Deve-se dar permissão ao usuário bind para editar no diretório que será usado para guardar as cópias das zonas dos demais servidores.
/etc/bind/named.conf.local
zone "redes1.edu.br" {
        type master;
        file "/etc/bind/db.redes1";
};

zone "100.168.192.in-addr.arpa" IN {
        type master;
        file "/etc/bind/db.100.168.192";
};
 
zone "redes2.edu.br" IN {
        type slave;
        file "/var/cache/bind/slaves/db.redes2";
        masters { 192.168.100.102; };
};
 
zone "redes3.edu.br" IN {
        type slave;
        file "/var/cache/bind/slaves/db.redes3";
        masters { 192.168.100.103; };
};
 
zone "redes4.edu.br" IN {
        type slave;
        file "/var/cache/bind/slaves/db.redes4";
        masters { 192.168.100.104; };
};
Nas zonas tipo slave é indicado o local e o nome do arquivo com a cópia da zona e o endereço IP do servidor master correspondente.
/etc/bind/db.redes1
$TTL    86400
@       IN      SOA     ns.redes1.edu.br. admin.redes1.edu.br. (
                     2014040900         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                          86400 )       ; Negative Cache TTL
;
@       IN      NS      ns.redes1.edu.br.
@       IN      MX      10      mail.redes1.edu.br.
ns      A       192.168.100.101
www     A       192.168.100.101
ftp     A       192.168.100.101
mail    A       192.168.100.101


/etc/bind/db.2.168.192
Zona reversa
$TTL    86400
@       IN      SOA     ns.redes1.edu.br. admin.redes1.edu.br.  (
                     2014040900         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                          86400 )       ; Negative Cache TTL
;
          IN      NS      ns.redes1.edu.br.
101       IN      PTR     ns.redes1.edu.br.
102       IN      PTR     ns.redes2.edu.br.
103       IN      PTR     ns.redes3.edu.br.
104       IN      PTR     ns.redes4.edu.br.

Configurações dos demais servidores DNS primários

/etc/bind/named.conf.local
Exemplo para máquina 192.168.100.102 (domínio redes2.edu.br):
zone "redes2.edu.br" {
   type master;
   file "/etc/bind/db.redes2";
   allow-transfer {
     192.168.100.101;
   };
};
  • O arquivo /etc/bind/db.redes2 contem a configuração deste domínio;
  • A linha allow-transfer indica qual servidor DNS secundários terá permissão para realizar a transferência de zona.

Cada servidor DNS deve responder pelo nome do próprio domínio, www, ftp, ns e mail, todos apontando para o mesmo endereço IP.

/etc/bind/db.redes2
Configuração do domínio.
$TTL    86400
@   IN    SOA   ns.redes2.edu.br. admin.redes2.edu.br. (
                              2014040902; serial
                              3H ; refresh
                              60 ; retry
                              1W ; expire
                              3W ; minimum
                             )
@       IN  NS     ns.redes2.edu.br. ; este é o servidor master deste domínio
@       IN  MX     10 mail.redes2.edu.br.
ns   A 192.168.100.102
mail A 192.168.100.102
www  A 192.168.100.102
ftp  A 192.168.100.102
ns   A 192.168.100.102

Configuração do DNS na máquina local

No Ubuntu a configuração do DNS era realizada no arquivo /etc/resolv.conf. Entretanto, este arquivo não é mais editável. No lugar dele foi implementado conjunto de scripts que contam com a ajuda do DHCP Client e alteram o DNS em conexões com IP dinâmico .

Para alterar manualmente a configuração do DNS deve-se editar arquivo /etc/resolvconf/resolv.conf.d/head e incluir os servidores DNS que queremos que nossa máquina utilize para resolver nomes.

No caso do nosso servidor primário, pode-se incluir o servidor DNS secundário para resolver nomes fora do domíno, por exemplo:

vim /etc/resolvconf/resolv.conf.d/head
nameserver 192.168.100.101

Faça update da configuração:

 resolvconf -u

Para visualizar se as alterações foram feitas:

cat /etc/resolv.conf

Verificação a configuração e testando o DNS

Utilitário para testar o arquivo que contém o conteúdo de uma zona:

named-checkzone nome_do_dominio arquivo_da_zona  
named-checkzone redes2.edu.br /etc/bind/db.redes2

Utilitário para testar a configuração do BIND:

named-checkconf -z

Restart do serviço:

service bind9 restart

Verificando se está tudo certo:

tail -n 200 /var/log/syslog

Sequência de testes

Comandos para testar o funcionamento do DNS:

dig ns.redesN.edu.br
ping www.redesN.edu.br
ping ns.redesN.edu.br
ping ftp.redesN.edu.br
ping mail.redesN.edu.br

Teste do DNS reverso:

dig -x 192.168.100.10X

Experimento Desafio

Modifique a arquitetura da rede de testes, alojando os servidores DNS primários e o servidor DNS secundário em redes locais distintas, separadas por roteadores. Em cada rede local inclua outras estações, algumas com IP fixo e outras com DHCP. Em seguida teste se o serviço DNS funciona.

Referências

  1. VALLE, O. T. Gerência de Redes, Diário Aula, 2014. http://wiki.sj.ifsc.edu.br/wiki/index.php/GER20706-2014-1

--Evandro.cantu (discussão) 19h40min de 9 de dezembro de 2015 (BRST)