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

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
 
(11 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 10: Linha 10:
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.
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===
==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.
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.


Linha 27: 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 52: Linha 52:
;/etc/bind/db.redes1:
;/etc/bind/db.redes1:


  $TTL 86400
  $TTL   86400
  @ IN SOA ns.redes1.edu.br. (
  @       IN     SOA     ns.redes1.edu.br. admin.redes1.edu.br. (
                        2015120801; serial
                      2014040900        ; Serial
                        3H  ; refresh
                          604800        ; Refresh
                        15M ; retry
                          86400        ; Retry
                        1W  ; expire
                        2419200        ; Expire
                        1D ; minimum
                          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.
  ns A 192.168.100.101
  ns     A       192.168.100.101
  www A 192.168.100.101
  www     A       192.168.100.101
  ftp A 192.168.100.101
  ftp     A       192.168.100.101
  mail A 192.168.100.101
  mail   A       192.168.100.101
 


;/etc/bind/db.2.168.192: Zona reversa
;/etc/bind/db.2.168.192: Zona reversa
  $TTL 86400
 
  @ IN SOA ns.redes1.edu.br. (
  $TTL   86400
                        2015120801; serial
  @       IN     SOA     ns.redes1.edu.br. admin.redes1.edu.br.  (
                        3H  ; refresh
                      2014040900        ; Serial
                        15M ; retry
                          604800        ; Refresh
                        1W  ; expire
                          86400        ; Retry
                        1D ; minimum
                        2419200        ; Expire
                        )
                          86400 )      ; Negative Cache TTL
    IN      NS      ns.redes1.edu.br.
  ;
          IN      NS      ns.redes1.edu.br.
  101      IN      PTR    ns.redes1.edu.br.
  101      IN      PTR    ns.redes1.edu.br.
  102      IN      PTR    ns.redes2.edu.br.
  102      IN      PTR    ns.redes2.edu.br.
Linha 82: Linha 84:
  104      IN      PTR    ns.redes4.edu.br.
  104      IN      PTR    ns.redes4.edu.br.


===Configurações dos demais servidores DNS primários===
==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 92: 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
                        15M ; retry
                              60 ; retry
                        1W ; expire
                              1W ; expire
                        1D  ; 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
@      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


<!--===Configuração do servidor DNS local===
===Configuração do DNS na máquina local===
A configuração do servidor DNS local é realizada no arquivo '''/etc/resolv.conf''':
 
  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 .
  nameserver 192.168.100.101-->
 
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:


===Verificação da configuração===
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 144: 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)