PJI3-lab3

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Objetivo

  • Explorar o uso de endereçamento IPv4 em redes locais

Roteiro

Parte 1: configuração de endereços

PJI3-Lab3-1.jpg
Rede dos experimentos

Tomando como base a rede do laboratório mostrada na figura, realize estes procedimentos em a máquina virtual "3-Gráfico":

  1. Configure manualmente seu computador para que use um endereço IP da subrede 172.18.20.128/25. Cuidado com conflitos de IP !
  2. Teste a comunicação com os demais computadores do laboratório
  3. Sabendo que o roteador do laboratório possui endereço 172.18.20.129, e os servidores DNS do IFSC são 191.36.8.2 e 191.36.8.3, faça com que seu computadores consiga acessar a Internet
  4. Agora configure seu computador para que obtenha seu endereço IP dinamicamente. Use o arquivo /etc/network/interfaces para esse propósito
  5. Identifique o endereço IP obtido, a rota default e os servidores DNS
  6. Investigue como a interface obtém sua configuração de rede:
    1. Desconfigure sua interface de rede com este comando:
      sudo ifdown -a
      
    2. Execute o wireshark, ativando a captura de datagramas UDP
    3. Reative sua interface de rede:
      sudo ifup -a
      
    4. Identifique as mensagens do protocolo DHCP no wireshark, comparando-as com este diagrama.
  7. Implantação de servidores DHCP na subrede
    1. Ative a máquina virtual "3-Servidor" em seu computador.
    2. Instale o software do servidor DHCP nessa máquina virtual. O nome do pacote de software é isc-dhcp-server.
    3. Configure seu servidor DHCP para conceder endereços IP na subrede do experimento. Cuidado para evitar sobreposição de faixas de endereços com os servidores DHCP de seus colegas !
    4. Ative seu servidor DHCP
    5. Na máquina virtual 3-Gráfico, reconfigure a interface de rede para que se obtenha um novo endereço IP. Porém antes disso certifique-se de que o wireshark está em modo de captura de datagramas UDP
    6. Identifique o endereço IP obtido ... qual servidor DHCP o concedeu ? Isso pode ser descoberto por meio do wireshark

Parte 2: Subredes e roteamento estático

Estes experimentos devem ser realizados no Netkit2, que deve ser executado na máquina real.

  1. Transfira para seu computador o arquivo de configuração rede1.conf
  2. Execute o Netkit2, e no menu File->Load Only selecione o arquivo de configuração rede1.conf
  3. Use o menu File->Graph para visualizar a topologia da rede
  4. Use o menu Network->Start para iniciar a rede
  5. Sabendo que pc1 está na subrede 172.18.12.64/26, pc2 está na subrede 192.168.5.32/27, e pc3 está na subrede 10.0.10.0/24, faça o seguinte:
    1. Configure os endereços IP de todas as interfaces dos hosts dessa rede
    2. Crie rotas estáticas nos hosts para que pc1, pc2 e pc3 consigam se comunicar
  6. Use o menu Network->Stop para encerrar a execução da rede
  7. Transfira para seu computador o arquivo de configuração rede2.conf
  8. Execute o Netkit2, e no menu File->Load Only selecione o arquivo de configuração rede2.conf
  9. Use o menu File->Graph para visualizar a topologia da rede
  10. Use o menu Network->Start para iniciar a rede
  11. Sabendo que pc1 está na subrede 172.18.12.64/26, pc2 está na subrede 192.168.5.32/27, pc3 está na subrede 10.0.10.0/24, e pc4 está em 200.135.37.128/25, faça o seguinte:
    1. Configure os endereços IP de todas as interfaces dos hosts dessa rede
    2. Crie rotas estáticas nos hosts para que pc1, pc2, pc3 e pc4 consigam se comunicar
  12. Use o menu Network->Stop para encerrar a execução da rede
  13. Transfira para seu computador o arquivo de configuração rede3.conf
  14. Execute o Netkit2, e no menu File->Load Only selecione o arquivo de configuração rede3.conf
  15. Use o menu File->Graph para visualizar a topologia da rede
  16. Use o menu Network->Start para iniciar a rede
  17. Sabendo que pc1 está na subrede 172.18.12.64/26, pc2 está na subrede 192.168.5.32/27, pc3 está na subrede 10.0.10.0/24, pc4 está em 200.135.37.128/25 e pc5 está em 150.162.33.0/24, faça o seguinte:
    1. Configure os endereços IP de todas as interfaces dos hosts dessa rede
    2. Crie rotas estáticas nos hosts para que pc1, pc2, pc3, pc4 e pc5 consigam se comunicar pelo caminho mais curto
    3. Suponha que o link entre r1 e r3 tenha caído, modifique as rotas estáticas nos hosts para que pc1, pc2, pc3, pc4 e pc5 voltem a se comunicar pelo caminho mais curto

Parte 3: Roteamento dinâmico

Rip netkit.jpg

Baseado no diagrama da Figura, usaremos serviços para rodar os protocolos de roteamento RIP e OSPF a partir do Quagga, de tal modo que as tabelas estáticas de roteamento não mais serão necessárias e o sistema se auto recuperará da queda de um único enlace (nesse caso).

  1. Reinicie o NetKit2 para limpar todas as configurações.
  2. Crie em seu computador um arquivo com nome /home/aluno/exp2.conf. Observe que nessa configuração já está inserida a definição dos default gateway de cada pc. O conteúdo do arquivo é o seguinte:
  3. Hosts definitions

pc1[type]=generic pc2[type]=generic pc3[type]=generic

  1. Default gateways definitions

pc1[default_gateway]=192.168.0.254 pc2[default_gateway]=192.168.1.254 pc3[default_gateway]=192.168.2.254

  1. Os três roteadores

r1[type]=router r2[type]=router r3[type]=router

  1. Hosts' interfaces to local routers

pc1[eth0]=link0:ip=192.168.0.1/24 pc2[eth0]=link1:ip=192.168.1.1/24 pc3[eth0]=link2:ip=192.168.2.1/24

  1. Routers' interfaces to local networks

r1[eth0]=link0:ip=192.168.0.254/24 r2[eth0]=link1:ip=192.168.1.254/24 r3[eth0]=link2:ip=192.168.2.254/24

  1. Network "backbone" links

r1[eth1]=backbone0:ip=10.0.0.1/30 r1[eth2]=backbone1:ip=10.0.1.1/30

r2[eth1]=backbone0:ip=10.0.0.2/30 r2[eth2]=backbone2:ip=10.0.2.1/30

r3[eth1]=backbone1:ip=10.0.1.2/30 r3[eth2]=backbone2:ip=10.0.2.2/30

  1. Os três roteadores rodando o RIP

r1[router]=rip r2[router]=rip r3[router]=rip</syntaxhighlight>

  1. Para testar o ambiente criado no pc1 execute: ping 192.168.2.1 </syntaxhighlight> O ping está funcionando? Por quê?
  2. Deixe o ping rodando!
  3. Agora em cada roteador, configure o serviço RIP para que os testes da próxima etapa possam ser executados. O arquivo de configuração a seguir mostra a configuração do Quagga para o roteador r1. Execute a mesma operação para os outros roteadores.
      router rip
      redistribute connected
      redistribute static
      network eth1
      network eth2
    
  4. Olhe o terminal do pc1, o que ocorreu com o ping? Por quê?
  5. Observando o estado do sistema. Vamos usar comandos para verificar o estado dos roteadores.
    1. Verifique o estado das interfaces usando o comando: show interface </syntaxhighlight>
    2. Verifique se o roteador está habilitado para roteamento: show ip forwarding </syntaxhighlight>
    3. Verifique o estado da tabela de roteamento usando o comando: show ip route </syntaxhighlight> Interprete detalhadamente essa tabela! Você consegue visualizar o mapa da rede a partir dessa tabela?
    4. Verifique a configuração atual do roteador: show running-config </syntaxhighlight>
  6. Teste as demais conectividades entre os PCs com pings mútuos. Tudo funcionando?
  7. A partir de cada PC trace a rota (traceroute) para os demais PC e anote-as.
  8. Com o route -n e/ou netstat -r verifique a anote as rotas para cada rede a partir dos pcs.
  9. Pare todos os pings.
  10. Inicie o shell para utilizar o TCPDUMP.start-shell</syntaxhighlight>
  11. Execute no r1.tcpdump -i any -w /hostlab/ripr1.pcap</syntaxhighlight>
  12. Aguarde uns 2 minutos para capturar pacotes específicos do protocolo de roteamento RIP.
  13. Com o navegador de arquivos entre na pasta /home/aluno/lab/ e dê um duplo click no arquivo ripr1.pcap e tente compreender as mensagens RIPv2 (UDP 17) trocadas. As mensagens são trocadas aproximadamente a cada minuto, se não aparecer nenhuma no Wireshark faça um reload: <Ctrl+r> até susrgir alguma mensagem. Olhe com atenção os IPs e as métricas apresentadas.
    1. O que dizem essas mensagens?
    2. Pesquise o significado do endereço 224.0.0.9.
  14. A partir do pc1 deixe rodando o ping ping 192.168.2.1</syntaxhighlight>
  15. Com o tcpdump rodando em r1, desative um dos enlaces entre os roteadores e acompanhe a troca de mensagens no Wireshark (dê um reload). Por questões de compatibilidade vamos desativar uma interface de um modo especial. Por exemplo, para "derrubar" o enlace r3-r1, execute no r3:

configure t entra no mode de configuração interface eth1 entra na referida interface a ser operada shutdown desativa a interface, se desejado </syntaxhighlight>

  1. Permaneça monitorando o ping e o Wireshark (reload: <Ctrl+r>), a recuperação das rotas leva em torno de 1-3 min:
    1. Quais as mensagens trocadas pelo protocolo RIP observadas no WireShark? Observe o trecho de mensagens onde não houve respostas ao ping.
    2. Qual o tempo aproximado para a total recuperação das rotas? (Isso seja observável pela diferença de tempos (timestamp) na sequência de mensagens observadas no Wireshark).
  2. Teste as conectividades. O que aconteceu?
  3. Retrace as rotas com nos roteadores show ip route </syntaxhighlight> e com o traceroute </syntaxhighlight> a partir dos PCs.
    1. São diferentes do caso original (todos enlaces ativos)? Por quê?
    2. Quais os caminhos/rotas que foram reescritos? Por quê?
  4. Reative a interface r3-r1.no shutdown</syntaxhighlight>
    1. Com o Wireshark, identifique as mensagens trocadas entre os roteadores envolvidos na mudança.
    2. Qual a sua interpretação da mensagem? Qual o motivo da troca dessa mensagem em particular?