Mudanças entre as edições de "PJI3-lab3"
Linha 63: | Linha 63: | ||
== Parte 3: Roteamento dinâmico == | == Parte 3: Roteamento dinâmico == | ||
+ | |||
+ | |||
+ | |||
+ | [[Arquivo:Rip_netkit.jpg|600px]] | ||
+ | |||
+ | 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). | ||
+ | #Reinicie o NetKit2 para limpar todas as configurações. | ||
+ | #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: <code> | ||
+ | # Hosts definitions | ||
+ | pc1[type]=generic | ||
+ | pc2[type]=generic | ||
+ | pc3[type]=generic | ||
+ | |||
+ | # Default gateways definitions | ||
+ | pc1[default_gateway]=192.168.0.254 | ||
+ | pc2[default_gateway]=192.168.1.254 | ||
+ | pc3[default_gateway]=192.168.2.254 | ||
+ | |||
+ | # Os três roteadores | ||
+ | r1[type]=router | ||
+ | r2[type]=router | ||
+ | r3[type]=router | ||
+ | |||
+ | # 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 | ||
+ | |||
+ | # 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 | ||
+ | |||
+ | # 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 | ||
+ | |||
+ | # Os três roteadores rodando o RIP | ||
+ | r1[router]=rip | ||
+ | r2[router]=rip | ||
+ | r3[router]=rip</syntaxhighlight> | ||
+ | #Para testar o ambiente criado no '''pc1''' execute: <code> ping 192.168.2.1 </syntaxhighlight> <span style="color: #FF2400;">O ping está funcionando? Por quê? | ||
+ | #Deixe o ping rodando! | ||
+ | #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.<syntaxhighlight lang=text> | ||
+ | router rip | ||
+ | redistribute connected | ||
+ | redistribute static | ||
+ | network eth1 | ||
+ | network eth2 | ||
+ | </syntaxhighlight> | ||
+ | #<span style="color: #FF2400;">Olhe o terminal do pc1, o que ocorreu com o ping? Por quê? | ||
+ | #Observando o estado do sistema. Vamos usar comandos para verificar o estado dos roteadores. | ||
+ | ##Verifique o estado das interfaces usando o comando: <code> show interface </syntaxhighlight> | ||
+ | ##Verifique se o roteador está habilitado para roteamento: <code> show ip forwarding </syntaxhighlight> | ||
+ | ##Verifique o estado da '''tabela de roteamento''' usando o comando: <code> show ip route </syntaxhighlight> '''Interprete detalhadamente essa tabela'''! Você consegue visualizar o mapa da rede a partir dessa tabela? | ||
+ | ##Verifique a configuração atual do roteador: <code> show running-config </syntaxhighlight> | ||
+ | #Teste as demais conectividades entre os PCs com pings mútuos. Tudo funcionando? | ||
+ | #A partir de cada PC trace a rota ('''traceroute''') para os demais PC e anote-as. | ||
+ | #Com o '''route -n''' e/ou '''netstat -r''' verifique a anote as rotas para cada rede a partir dos pcs. | ||
+ | #Pare todos os pings. | ||
+ | #Inicie o shell para utilizar o TCPDUMP.<code>start-shell</syntaxhighlight> | ||
+ | #Execute no '''r1'''.<code>tcpdump -i any -w /hostlab/ripr1.pcap</syntaxhighlight> | ||
+ | # Aguarde uns 2 minutos para capturar pacotes específicos do protocolo de roteamento RIP. | ||
+ | #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. | ||
+ | ##O que dizem essas mensagens? | ||
+ | ##Pesquise o significado do endereço 224.0.0.9. | ||
+ | #A partir do '''pc1''' deixe rodando o ping <code> ping 192.168.2.1</syntaxhighlight> | ||
+ | #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''': <code> | ||
+ | configure t entra no mode de configuração | ||
+ | interface eth1 entra na referida interface a ser operada | ||
+ | shutdown desativa a interface, se desejado </syntaxhighlight> | ||
+ | #Permaneça monitorando o ping e o Wireshark (''reload'': <Ctrl+r>), a recuperação das rotas leva em torno de 1-3 min: | ||
+ | ##Quais as mensagens trocadas pelo protocolo RIP observadas no WireShark? Observe o trecho de mensagens onde não houve respostas ao ping. | ||
+ | ##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). | ||
+ | #Teste as conectividades. O que aconteceu? | ||
+ | #Retrace as rotas com nos roteadores <code> show ip route </syntaxhighlight> e com o <code> traceroute </syntaxhighlight> a partir dos PCs. | ||
+ | ##São diferentes do caso original (todos enlaces ativos)? Por quê? | ||
+ | ##Quais os caminhos/rotas que foram reescritos? Por quê? | ||
+ | #Reative a interface r3-r1.<code>no shutdown</syntaxhighlight> | ||
+ | ##Com o Wireshark, identifique as mensagens trocadas entre os roteadores envolvidos na mudança. | ||
+ | ##Qual a sua interpretação da mensagem? Qual o motivo da troca dessa mensagem em particular? |
Edição das 12h33min de 1 de março de 2018
Objetivo
- Explorar o uso de endereçamento IPv4 em redes locais
Roteiro
Parte 1: configuração de endereços
Tomando como base a rede do laboratório mostrada na figura, realize estes procedimentos em a máquina virtual "3-Gráfico":
- Configure manualmente seu computador para que use um endereço IP da subrede 172.18.20.128/25. Cuidado com conflitos de IP !
- Teste a comunicação com os demais computadores do laboratório
- 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
- Agora configure seu computador para que obtenha seu endereço IP dinamicamente. Use o arquivo /etc/network/interfaces para esse propósito
- Identifique o endereço IP obtido, a rota default e os servidores DNS
- Investigue como a interface obtém sua configuração de rede:
- Desconfigure sua interface de rede com este comando:
sudo ifdown -a
- Execute o wireshark, ativando a captura de datagramas UDP
- Reative sua interface de rede:
sudo ifup -a
- Identifique as mensagens do protocolo DHCP no wireshark, comparando-as com este diagrama.
- Desconfigure sua interface de rede com este comando:
- Implantação de servidores DHCP na subrede
- Ative a máquina virtual "3-Servidor" em seu computador.
- Instale o software do servidor DHCP nessa máquina virtual. O nome do pacote de software é isc-dhcp-server.
- 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 !
- Ative seu servidor DHCP
- 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
- 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.
- Transfira para seu computador o arquivo de configuração rede1.conf
- Execute o Netkit2, e no menu File->Load Only selecione o arquivo de configuração rede1.conf
- Use o menu File->Graph para visualizar a topologia da rede
- Use o menu Network->Start para iniciar a rede
- 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:
- Configure os endereços IP de todas as interfaces dos hosts dessa rede
- Crie rotas estáticas nos hosts para que pc1, pc2 e pc3 consigam se comunicar
- Use o menu Network->Stop para encerrar a execução da rede
- Transfira para seu computador o arquivo de configuração rede2.conf
- Execute o Netkit2, e no menu File->Load Only selecione o arquivo de configuração rede2.conf
- Use o menu File->Graph para visualizar a topologia da rede
- Use o menu Network->Start para iniciar a rede
- 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:
- Configure os endereços IP de todas as interfaces dos hosts dessa rede
- Crie rotas estáticas nos hosts para que pc1, pc2, pc3 e pc4 consigam se comunicar
- Use o menu Network->Stop para encerrar a execução da rede
- Transfira para seu computador o arquivo de configuração rede3.conf
- Execute o Netkit2, e no menu File->Load Only selecione o arquivo de configuração rede3.conf
- Use o menu File->Graph para visualizar a topologia da rede
- Use o menu Network->Start para iniciar a rede
- 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:
- Configure os endereços IP de todas as interfaces dos hosts dessa rede
- Crie rotas estáticas nos hosts para que pc1, pc2, pc3, pc4 e pc5 consigam se comunicar pelo caminho mais curto
- 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
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).
- Reinicie o NetKit2 para limpar todas as configurações.
- 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:
- Hosts definitions
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
- Default gateways definitions
pc1[default_gateway]=192.168.0.254
pc2[default_gateway]=192.168.1.254
pc3[default_gateway]=192.168.2.254
- Os três roteadores
r1[type]=router
r2[type]=router
r3[type]=router
- 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
- 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
- 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
- Os três roteadores rodando o RIP
r1[router]=rip
r2[router]=rip
r3[router]=rip</syntaxhighlight>
- Para testar o ambiente criado no pc1 execute:
ping 192.168.2.1 </syntaxhighlight> O ping está funcionando? Por quê?
- Deixe o ping rodando!
- 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
- Olhe o terminal do pc1, o que ocorreu com o ping? Por quê?
- Observando o estado do sistema. Vamos usar comandos para verificar o estado dos roteadores.
- Verifique o estado das interfaces usando o comando:
show interface </syntaxhighlight>
- Verifique se o roteador está habilitado para roteamento:
show ip forwarding </syntaxhighlight>
- 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?
- Verifique a configuração atual do roteador:
show running-config </syntaxhighlight>
- Teste as demais conectividades entre os PCs com pings mútuos. Tudo funcionando?
- A partir de cada PC trace a rota (traceroute) para os demais PC e anote-as.
- Com o route -n e/ou netstat -r verifique a anote as rotas para cada rede a partir dos pcs.
- Pare todos os pings.
- Inicie o shell para utilizar o TCPDUMP.
start-shell</syntaxhighlight>
- Execute no r1.
tcpdump -i any -w /hostlab/ripr1.pcap</syntaxhighlight>
- Aguarde uns 2 minutos para capturar pacotes específicos do protocolo de roteamento RIP.
- 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.
- O que dizem essas mensagens?
- Pesquise o significado do endereço 224.0.0.9.
- A partir do pc1 deixe rodando o ping
ping 192.168.2.1</syntaxhighlight>
- 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>
- Permaneça monitorando o ping e o Wireshark (reload: <Ctrl+r>), a recuperação das rotas leva em torno de 1-3 min:
- Quais as mensagens trocadas pelo protocolo RIP observadas no WireShark? Observe o trecho de mensagens onde não houve respostas ao ping.
- 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).
- Teste as conectividades. O que aconteceu?
- Retrace as rotas com nos roteadores
show ip route </syntaxhighlight> e com o traceroute </syntaxhighlight> a partir dos PCs.
- São diferentes do caso original (todos enlaces ativos)? Por quê?
- Quais os caminhos/rotas que foram reescritos? Por quê?
- Reative a interface r3-r1.
no shutdown</syntaxhighlight>
- Com o Wireshark, identifique as mensagens trocadas entre os roteadores envolvidos na mudança.
- Qual a sua interpretação da mensagem? Qual o motivo da troca dessa mensagem em particular?