PRÁTICA DE DNS - LINUX Esses exercícios devem ser executados através do servidor de máquinas virtuais: espec.ppgia.pucpr.br ou através da imagem fornecida no DVD. DIFERENÇAS NO ROTEIRO EM RELAÇÃO A IMAGEM DO DVD Este roteiro foi desenvolvido para ser executado primariamente no servidor espec. Os alunos que utilizam a imagem do DVD também podem fazê-lo, mas com algumas diferenças. Os comandos do roteiro seguem a classificação a seguir: Os comandos dentro de blocos de linhas simples devem ser executados em qualquer ambiente. Os comandos dentro de blocos de linhas múltiplas só devem ser executados no ambiente do servidor espec. Os comandos dentro de blocos com linhas em negrito devem ser executados apenas no ambiente do DVD. INICIALIZAÇÃO DO AMBIENTE DO DVD No ambiente DVD é necessário digitar os seguintes comandos no terminal do ambiente host antes de iniciar a prática: sudo /etc/init.d/conftap.sh sudo iptables -F sudo services sshd restart sudo iptables -t nat -A POSTROUTING -j MASQUERADE Após digitar esses comandos feche o terminal. Utilize um novo terminal para lançar as máquinas virtuais, senão você irá receber mensagens de erro temporárias "send_sock sending to fd 4 Resource temporarily unavailable" que geralmente ficam escondidas. No ambiente DVD não é necessário instalar nenhum pacote, pois todos já estão instalados. 1. CENÁRIO 1: SERVIDOR DNS SIMPLES 1.A) INSTALAÇÃO DO SERVIDOR DNS No ambiente HOST, execute os seguintes comandos: wget espec.ppgia.pucpr.br/jam_pacotes/dns.tar.gz tar -xzf dns.tar.gz Abra um terminal na espec, e lance uma máquina virtual: mkdir dns cd dns linux32.redes dns1 login: root <ENTER> Atribua um endereço IP para interface eth0 da sua VM. Se sua carteira de estudante for: (101)11121314-0, você pode criar o endereço: ifconfig eth0 20.0.13.14 route add default gw 20.0.0.1 Na máquina UML dns copie os arquivos necessários: scp rss@20.0.0.1:dns/named.conf. scp rss@20.0.0.1:dns/zona1.zone. Um arquivo na VM UML precisa ser criado pelo vi através dos comandos abaixo: vi /etc/sysconfig/network <INS> NETWORKING=Yes Também é necessário ativar a interface de loopback na VM UML: ifconfig lo up
1.B) CONFIGURAÇÃO DO DNS Indica o status do servidor bind (connection refused indica erro na inicialização do DNS) Recarrega os arquivos de zona e configuração (você deve usar esse comando se fizer alguma alteração nos arquivos). 1.C) TESTES Quando você descompactou o arquivo dns.tar.gz, você obtém também dois arquivos exemplo para configurar o servidor DNS: named.conf: permite declarar as zonas e configurar os forwarders zona1.zone: permite criar uma zona específica Na VM UML digite os seguintes comandos: cp named.conf /etc cp zone1.zone /var/named service named start Para que o seu servidor DNS seja o servidor padrão da sua máquina virtual, você deve editar o arquivo /etc/resolv.conf e incluir a seguinte linha: Quando você executa esse comando, o servidor NDS (named) lê o arquivo de configuração, localiza o arquivo de zona e o carrega em memória. Para verificar se houve algum erro nesse processo, digite na VM UML: vi /etc/resolv.conf <INSERT> nameserver 127.0.0.1 tail /var/log/messages O DNS armazena as mensagens de erro no arquivo de log messages. Como esse arquivo é muito grande, o comando tail indica para mostrar só as últimas entradas incluídas no arquivo. Esse comando é muito útil, pois muitas vezes comete-se erros de sintaxe, que impedem a carga do arquivo de zona. Todas as vezes que você efetuar uma alteração no arquivo de zona ou no arquivo named.conf, você precisará informar ao servidor DNS que ele precisa se atualizar. Isso é feito através de um outro utilitário denominado rndc. Teste o seu servidor DNS através do comando abaixo na VM UML: rndc status Altere o arquivo de zona substituindo o endereço do servidor dns pelo endereço da interface eth0 da sua VM. Caso esteja usando o ambiente do DVD, você precisará usar um outro servidor como forwarder, pois não há servidor DNS rodando no endereço 20.0.0.1. Altere o forwarder do arquivo named.conf usando o IP do servidor DNS indicado pelo ambiente HOST (veja o /etc/resolv.conf do ambiente HOST para determinar o IP). vi /etc/named.conf <INSERT>... altere o ip do forwarders... <ES>:wq<ENTER> Após isso, execute o comando de atualização do DNS:
Efetue o teste do seu servidor testando primeiro os registros de sua zona: ping -n www.pucpr.br ping -n espec.pucpr.br ping -n dns.pucpr.br Efetue o teste do forwarder, testando nomes fora do sua zona. Nesse caso, não haverá resposta do ping (por falta de roteamento entre a espec e endereços externos), mas você perceberá que houve tradução do endereço: ping www.google.com.br Existe um utilitário mais adequado para fazer os testes do servidor DNS. Esse utilitário é o dig. Sua sintaxe é a seguinte: dig @servidor +option FQDN O parâmetro servidor é o IP do servidor DNS que você quer testar. O utilitário dig tem várias opções, por exemplo: +[no]recursive (ativa ou desativa consultas recursivas) O dig está instalado apenas na espec (HOST), então você precisará abrir um novo terminal (fora da máquina virtual) para executar esse comando: dig @20.0.13.14 www.pucpr.br 2.A) INSTALAÇÃO DO SEGUNDO SERVIDOR DNS Abra um terminal na espec, e lance uma máquina virtual: cd dns linux32.redes dns2 login: root <ENTER> Atribua um endereço IP para interface eth0 da sua VM. Se sua carteira de estudante for: (101)11121314-0, você pode criar o endereço: ifconfig eth0 20.1.13.14 route add default gw 20.0.0.1 Na máquina UML dns copie os arquivos necessários: scp rss@20.0.0.1:dns/named.conf. scp rss@20.0.0.1:dns/zona1.zone. Um arquivo na VM UML precisa ser criado pelo vi através dos comandos abaixo: vi /etc/sysconfig/network <INS> NETWORKING=Yes Também é necessário ativar a interface de loopback na VM UML: ifconfig lo up 2. CENÁRIO 2 - DELEGAÇÃO DE SUBDOMÍNIO 2.B) CONFIGURAÇÃO DO SEGUNDO SERVIDOR DNS No segundo cenário o domínio ppgia.pucpr.br será delegado para outro servidor, conforme mostra a figura a seguir. Quando você descompactou o arquivo dns.tar.gz, você obtém também dois arquivos exemplo para configurar o servidor DNS:
named.conf: permite declarar as zonas e configurar os forwarders zona1.zone: permite criar uma zona específica Altere os arquivos de acordo com o exemplo da figura. Observe que os endereços IP em vermelho precisam ser substituídos pelo endereço IP da sua VM. Após alterar os arquivos, execute os comandos abaixo na VM UML do DNS 2: cp named.conf /etc cp zone1.zone /var/named service named start Quando você executa esse comando, o servidor NDS (named) lê o arquivo de configuração, localiza o arquivo de zona e o carrega em memória. Para verificar se houve algum erro nesse processo, digite: A fim de completar o cenário 2, é necessário fazer com que as consultas feitas ao servidor DNS 1 para a zona delegada ppgia.pucpr.br sejam direcionadas para o servidor DNS 2. Para isso é necessário que você altere os arquivos named.conf e zona1.zone conforme indicado na figura. Os itens em vermelho correspondem ao que precisa ser modificado. Cuidado para utilizar o endereço correto da sua VM. Após a alteração é necessário digitar: Para efetuar o teste final, abra um terminal na espec e efetue as seguintes consultas utilizando o dig: Consulta recursiva para o servidor DNS1 dig @20.0.13.14 www.ppgia.pucpr.br tail /var/log/messages Para que o seu servidor DNS seja o servidor padrão da sua máquina virtual, você deve editar o arquivo /etc/resolv.conf e incluir a seguinte linha: Consulta não recursiva para o servidor DNS1 dig @20.0.13.14 +norecurse www.ppgia.pucpr.br 3. RELATÓRIO A SER ENTREGUE NO EUREKA nameserver 127.0.0.1 Efetue o teste do seu servidor testando primeiro os registros de sua zona e depois o de zonas externas: ping -n dns.ppgia.pucpr.br ping -n www.pucpr.br ping -n espec.pucpr.br 2.C) ALTERAÇÕES NO PRIMEIRO SERVIDOR DNS O relatório é baseado apenas no cenário 2. Para transferir os arquivos das máquinas virtuais para sua área de trabalho na espec digite: No DNS1 scp /etc/named.conf seu_login@20.0.0.1:. scp /var/named/zona1.zone seu_login@20.0.0.1:. No DNS2 scp /etc/named.conf seu_login@20.0.0.1:. scp /var/named/zona1.zone seu_login@20.0.0.1:.
É necessário também salvar o resultado das consultas recursiva e não recursiva do domínio delegado ppgia.pucpr.br: Consulta recursiva para o servidor DNS1 dig @20.0.13.14 www.ppgia.pucpr.br > recursiva.txt Consulta não recursiva para o servidor DNS1 dig @20.0.13.14 +norecurse www.ppgia.pucpr.br > nrecursiva.txt Para montar o relatório, utilize um editor de texto na espec, e compile todos os arquivos em um mesmo relatório, incluindo seu nome e um pequeno descritivo de cada arquivo.