O objetivo desta aula prática é fornecer os conhecimentos básicos para instalar e configurar um servidor DNS num sistema Linux Debian. Além de algum conteúdo teórico, inclui alguns exercícios práticos onde se podem exercitar os conhecimentos.
O DNS é dos serviços de suporte mais importantes numa rede. Este serviço é usado por outras aplicações para traduzir nomes em endereços IP; a existência deste serviço permite que os utilizadores de outras aplicações se refiram aos computadores remotos pelo seu nome em vez do seu endereço. Desta forma, o servidor de nomes é normalmente usado por outras aplicações e não diretamente pelos usuários.
Neste trabalho os alunos devem lançar um servidor de nomes primário por dupla, criar um domínio e testar o funcionamento do servidor através de uma estação cliente. Numa segunda fase devem acrescentar um servidor secundário de forma a poderem resolver os exercícios propostos no final desta página.
Quando um usuário acessa um site como http://www.orkut.com, o navegador utiliza mecanismos para converter o nome www.orkut.com no endereço IP ((podem haver vários endereços IPs associados a um mesmo nome na Internet) correspondente, que na realidade é o endereço usado pelos protocolos de comunicação para a troca de dados entre os hosts.
O mecanismo mais simples para esta conversão são as tabelas de hosts, que na prática são arquivos contendo o mapeamento dos nomes e seus respectivos IPs; uma entrada de nome por linha. Nos sistemas Linux, a tabela de hosts é o arquivo /etc/hosts
. Sistemas Windows também usam arquivos de hosts mas sua localização depende da versão específica do sistema operacional. Muitos sistemas verificam o arquivo de hosts antes de utilizarem-se de outros mecanismos. Embora por um lado o arquivo de hosts seja um mecanimos simples e eficiente, por outro ele não é escalável já que todo sistema com o qual você desejar se comunicar, precisará ter uma entrada na tabela.
DNS (domain name services) é o mecanismo de resolução de nomes mais usado na Internet. Ele usa um sistema hieráquico de servidores de nomes de acordo com a estrutura dos nomes de hosts. Por exemplo, considere o nome www.orkut.com
. Se seu sistema ainda não conhece o endereço IP deste site, ele contactará o servidor do domínio com. Este servidor saberá o endereço do servidor de nomes do domínio orkut.com
. Este servidor, por sua vez, saberá o endereço IP da máquina www.orkut.com
.
Existem várias ferramentas que podem ser usadas para consultar servidores de nomes; estas ferramentas são conhecidas como clientes DNS. No mundo Unix, temos o nslookup
, dig
e host
como exemplo de ferramentas deste tipo. Para exemplificar o uso de um cliente DNS, usaremso a ferramenta dig
. A seguir exemplo de utilização do dig
:
dig @servidor domínio RR-type
Os alunos devem se dividir em duplas. Cada uma das duplas será numerada e esse número servirá para definir a rede e o nome da zona. O domínio do professor será admso.bsb.df e este irá delegar um sub-domínio para cada dupla, seguindo o padrão dx.admso.bsb.df (x corresponde ao número da dupla).
Cada dupla terá uma rede própria, seguindo o padrão 192.168.x.0/24 (x corresponde ao número da dupla). A rede do professor será 172.17.0.0/24. O gateway de cada dupla deverá ser 192.168.x.254. O servidor master da dupla deverá ser 192.168.x.1 e o slave 192.168.x.2.
A tabela abaixo contém o resumo do contexto:
Domínio da prática | admso.bsb.df |
Domínio de cada dupla | dx.admso.bsb.df |
Rede do professor | 172.17.0.0/24 |
Rede da dupla | 192.168.x.0/24 |
Endereço servidor master | 192.168.x.1 |
Endereço servidor slave | 192.168.x.2 |
Endereço do gateway | 192.168.x.254 |
DNS Recursivo da Rede | 172.17.0.1 |
Antes de iniciar a configuração do Serviço de Resolução de Nomes (DNS), precisa-se realizar a configuração de rede da máquina. Como estamos trabalhando com máquinas virtuais, para que a prática funcione, as máquinas virtuais devem estar com a interface de rede configurada no modo Bridge. Essa configuração é feita com a máquina virtual desligada, editando suas configurações no VirtualBox. A seguir, os passos para que a configuração de rede seja feita com sucesso:
ping 192.168.x.254
O resultado do comando deve ser algo como:
64 bytes from 192.168.x.254: icmp_req=1 ttl=64 time=0.072 ms 64 bytes from 192.168.x.254: icmp_req=2 ttl=64 time=0.034 ms 64 bytes from 192.168.x.254: icmp_req=3 ttl=64 time=0.040 ms 64 bytes from 192.168.x.254: icmp_req=4 ttl=64 time=0.037 ms 64 bytes from 192.168.x.254: icmp_req=5 ttl=64 time=0.042 ms
Em Linux, a configuração do servidor de DNS nos clientes resume-se a colocar no ficheiro /etc/resolv.conf a indicação do domínio onde a máquina se insere e os IPs dos servidores recursivos da rede.
Opções de configuração em resolv.conf:
Configure a máquina A para ser servidor primário da zona “dx.admso.bsb.df”. (x corresponde ao no da dupla). Configure também a zona reversa (endereço IP → nome). Permita só a consulta aos sistemas da rede “172.17.0.0/24” e “192.168.x.0/24”, não defina servidores secundários e atribua aos ficheiros de configuração os nomes “db.duplax” e “db.duplax_rev”. Registe os sistemas da sua dupla com os nomes tux1 a tux4. O servidor (NS) deve ser o tux1. Teste o servidor com o comando dig, resolvendo os nomes e endereços da zona definida. Verifique as configurações existentes em /etc/resolv.conf.
Configure a máquina B para funcionar como servidor secundário da zona “dx.admso.bsb.df”. Aos ficheiros de configuração atribua os nomes “sdb.duplax” e “sdb.duplax.rev”. Analise as configurações obtidas (“sdb.duplax” e “sdb.duplax.rev”) e teste o servidor.
Para que os servidores secundários possam responder as consultas acerca do domínio, eles precisam de transferir a informação da zona do servidor primário. Por questões de segurança, a opção allow-transfer permite restringir as transferências de zonas apenas para os servidores especificados. Altere as configurações para só permitir a transferência de zonas para o seu servidor secundário.
Configure o seu sistema para, além de ser servidor primário da zona delegada (zona da dupla), ser servidor secundário da zona “admso.bsb.df”. Delegar uma zona permite delegar a responsabilidade de gerir um sub-domínio a um determinado sistema (organização).
Dupla 01 | Humberto |
Ricardo | |
Dupla 02 | Wáglia |
Clésia | |
Dupla 03 | Fernando |
Rosane | |
Dupla 04 | Wnaderson |
Marcos Silva (faltou) | |
Dupla 05 | Odilon |
Semaias | |
Dupla 06 | Flávio |
Iene (Faltou) |