Prática de DNS - Linux

Propaganda
Edgard Jamhour, 07/06/2011 14:43
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:
1.A) INSTALAÇÃO DO SERVIDOR DNS
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.
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>
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
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 [email protected]:dns/named.conf .
scp [email protected]: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
<ESC>:wq<ENTER>
Também é necessário ativar a interface de loopback na VM
UML:
ifconfig lo up
Edgard Jamhour, 07/06/2011 14:43
Indica o status do servidor bind (connection refused indica
erro na inicialização do DNS)
1.B) CONFIGURAÇÃO DO DNS
rndc reload
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
configurar os forwarders
zona1.zone: permite criar uma zona específica
e
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
<ESC>:wq<ENTER>
tail /var/log/messages
Altere o arquivo de zona substituindo o endereço do
servidor dns pelo endereço da interface eth0 da sua VM.
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
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:
rndc reload
Edgard Jamhour, 07/06/2011 14:43
2.A) INSTALAÇÃO DO SEGUNDO SERVIDOR DNS
Efetue o teste do seu servidor testando primeiro os
registros de sua zona:
Abra um terminal na espec, e lance uma máquina virtual:
ping -n www.pucpr.br
ping -n espec.pucpr.br
ping -n dns.pucpr.br
cd dns
linux32.redes dns2
login: root <ENTER>
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:
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:
ping www.google.com.br
ifconfig eth0 20.1.13.14
route add default gw 20.0.0.1
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. CENÁRIO 2 - DELEGAÇÃO DE SUBDOMÍNIO
Na máquina UML dns copie os arquivos necessários:
scp [email protected]:dns/named.conf .
scp [email protected]: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
<ESC>:wq<ENTER>
Também é necessário ativar a interface de loopback na VM
UML:
ifconfig lo up
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:
Edgard Jamhour, 07/06/2011 14:43

e
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.
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.
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.

named.conf: permite declarar as zonas
configurar os forwarders
zona1.zone: permite criar uma zona específica
Após alterar os arquivos, execute os comandos abaixo na
VM UML do DNS 2:
Após a alteração é necessário digitar:
cp named.conf /etc
cp zone1.zone /var/named
service named start
rndc reload
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:
Para efetuar o teste final, abra um terminal na espec e
efetue as seguintes consultas utilizando o dig:
Consulta recursiva para o servidor DNS1
tail /var/log/messages
Consulta não recursiva para o servidor DNS1
dig @20.0.13.14 www.ppgia.pucpr.br
dig @20.0.13.14 +norecurse www.ppgia.pucpr.br
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:
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 P RIMEIRO 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 [email protected]:.
scp /var/named/zona1.zone [email protected]:.
No DNS2
scp /etc/named.conf [email protected]:.
scp /var/named/zona1.zone [email protected]:.
Edgard Jamhour, 07/06/2011 14:43
É 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
nrecursiva.txt
+norecurse
www.ppgia.pucpr.br
>
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.
Download