Laboratório: NetKit Roteamento: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
Linha 58: Linha 58:
#Verifique os '''pacotes ICMP''' capturados relativos ao '''traceroute'''..
#Verifique os '''pacotes ICMP''' capturados relativos ao '''traceroute'''..


===Exercício===
===Exercício 1===
Montar no '''NetKit2''' a rede experimental mostrada na figura:
Montar no '''NetKit2''' a rede experimental mostrada na figura:
[[Arquivo:Sub-redes.png]]
[[Arquivo:Sub-redes.png]]
Linha 67: Linha 67:
#Faça teste conectividade entre os ''hosts''.
#Faça teste conectividade entre os ''hosts''.


;Para entregar: Parte 1
;Para entregar: '''PARTE 1'''
#Relatório descrevendo a '''distribuição dos endereços''' IP.
#Relatório descrevendo a '''distribuição dos endereços''' IP.
#'''''Script'' comentado''' da rede experimental.  
#'''''Script'' comentado''' da rede experimental.  
Linha 110: Linha 110:
  route del -net 192.168.1.0 netmask 255.255.255.0 gw 10.0.0.2 dev eth1
  route del -net 192.168.1.0 netmask 255.255.255.0 gw 10.0.0.2 dev eth1


===Exercícios===
===Exercício 2===
Use a rede do exercício anterior para realizar os exercícios.
Use a rede do exercício anterior para realizar os exercícios.
#Modifique a '''interface de rede''' de um host e em seguida verifique a mudança com '''ifconfig''' e teste conectividade com '''ping''' a partir de outros hosts.
#Modifique a '''interface de rede''' de um host e em seguida verifique a mudança com '''ifconfig''' e teste conectividade com '''ping''' a partir de outros hosts.
Linha 118: Linha 118:
#Execute um '''traceroute''' para verificar a nova rota percorrida pelos pacotes.
#Execute um '''traceroute''' para verificar a nova rota percorrida pelos pacotes.


;Para entregar: Parte 2
;Para entregar: PARTE 2
#Anexar telas ilustrando as '''tabelas de roteamento''' depois que a interface do roteador for derrubada;
#Anexar telas ilustrando as '''tabelas de roteamento''' depois que a interface do roteador for derrubada;
#Anexar telas ilustrando a '''ausência de conectividade''' com ping;
#Anexar telas ilustrando a '''ausência de conectividade''' com ping;
Linha 184: Linha 184:


===Exercício 3===
===Exercício 3===
Use a rede do exercício 1 anterior para realizar os exercícios, substituindo os .
Use a rede do '''exercício 1''' para realizar os exercícios.
#Remova todas .
#Substitua no arquivo de configuração todos roteadores tipo '''gateway''' por tipo '''router''';
#'''Derrube a interface''' de um dos '''links''' entre dois roteadores e teste conectividade com ping.
#'''Remova''' todas as '''rotas estáticas''' do arquivo de configuração;
#'''Modifique o roteamento''' de forma a contornar o enlace derrubado e teste conectividade com ping entre todos os hosts.
#Carregue a rede no netkit e verifique se o leiaute (gráfico) está correto.
#:'''Atenção''': Lembre de configurar rotas em ambos os sentidos, pois no teste com ping temos pacotes ICMP ''Echo Request'' e ''Echo Replay'', ou seja, pacotes circulando nos dois sentidos.
#Verifique a configuração dos PC com '''ifconfig''' e '''route''';
#Execute um '''traceroute''' para verificar a nova rota percorrida pelos pacotes.
#Teste conectividade com '''ping''' entre computadores pertencentes a mesma redes local e entre redes diferentes.  
#Acesse o terminal '''vtysh''' de cada roteador e verifique a configuração das '''interfaces''' e das '''tabelas de roteamento''':
show interface eth0
show interface ppp0
show interface ppp1
show ip route
;Ativação do RIP versão 2:
#Ativar o RIP versão 2 em cada roteador


;Para entregar: Parte 2
;Para entregar: PARTE 3
#Anexar telas ilustrando as '''tabelas de roteamento''' depois que a interface do roteador for derrubada;
#Anexar telas ilustrando as '''tabelas de roteamento''' de cada roteador antes da ativação do RIP. Explicar as rotas presentes.
#Anexar telas ilustrando a '''ausência de conectividade''' com ping;
#Anexar telas ilustrando as '''tabelas de roteamento''' de cada roteador depois da ativação do RIP. Explicar as rotas presentes.
#Mostre os comandos utilizados para adicionar novas '''rotas estáticas''' e anexar telas com as novas '''tabelas de roteamento''';
#Anexar telas ilustrando a '''conectividade''' com ping entre as máquinas.
#Anexar telas do '''traceroute''' para mostrar a nova rota percorrida pelos pacotes.
#Anexar telas do '''traceroute''' para mostrar a nova rota percorrida pelos pacotes depois que o RIP reconfigurou as rotas.


==Referências==
==Referências==

Edição das 19h50min de 24 de junho de 2015

Laboratório: NetKit

O Netkit2 [1] é um ambiente para experimentos com redes de computadores desenvolvido no Câmpus São José, do IFSC, inspirado no [Netkit] [2], desenvolvido pela Universidade de Roma, na Itália.

O Netkit2 se compõe de máquinas virtuais Linux (implementadas com kernel Linux UML – User Mode Linux), que funcionam como roteadores ou computadores e switches virtuais (UML switch) para interligar as máquinas virtuais. Para todos os efeitos, cada máquina virtual funciona como se fosse um computador real, possuindo uma ou mais interfaces de rede. Com esses recursos é possível criar redes de configurações arbitrárias para estudar protocolos de comunicação e serviços de rede [1].

Teste do Netkit2

O Netkit2 já está instalado no laboratório e pode ser iniciado com o comando:

netkit2

Caso deseja instalar o Netkit2 em outro computador Linux, consultar a referência [1].

Rede de computadores básica

O script abaixo apresenta uma rede de computadores básica para ser testado (Consulte [1] para mais detalhes sobre a sintaxe dos scripts):

pc1[type]=generic
pc2[type]=generic
pc1[eth0]=lan1:ip=192.168.0.1/24
pc2[eth0]=lan1:ip=192.168.0.2/24
  1. Edite um arquivo de texto e salve em uma pasta de trabalho (extensão .conf);
  2. Carregue o arquivo no NetKit2 com a opção File -> Load and Run;
  3. Clique na opção File -> Graph e veja a topologia da rede em execução;
  4. Verifique as configurações de cada pc com o comando ifconfig;
  5. Verifique a conectividade em rede entre os pc com o comando ping;
  6. Lance uma captura de pacotes com wireshark em um dos pc;
  7. Execute novamente o comando ping;
  8. Verifique os pacotes ICMP capturados.

Redes de computadores interligadas por roteadores

O script abaixo apresenta duas redes de computadores interligadas por roteadores, sendo estes últimos conectados entre si por um enlace ponto a ponto (Fonte: [1]):

pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
r1[type]=gateway
r2[type]=gateway
pc1[eth0]=lan1:ip=192.168.0.1/24
pc2[eth0]=lan1:ip=192.168.0.2/24
pc3[eth0]=lan2:ip=192.168.1.3/24
r1[eth0]=lan1:ip=192.168.0.254/24
r2[eth0]=lan2:ip=192.168.1.254/24
r1[ppp0]=link:ip=10.0.0.1/24
r2[ppp0]=link:ip=10.0.0.2/24
pc1[default_gateway]=192.168.0.254
pc2[default_gateway]=192.168.0.254
pc3[default_gateway]=192.168.1.254
r1[route]=192.168.1.0/24:dev=ppp0
r2[route]=192.168.0.0/24:dev=ppp0
  1. Edite um arquivo de texto e salve em uma pasta de trabalho (extensão .conf);
  2. Carregue no NetKit2 com a opção File -> Load and Run;
  3. Clique na opção File -> Graph e veja a topologia da rede em execução;
  4. Verifique as configurações de cada máquina com o comando ifconfig;
  5. Verifique a conectividade em rede entre as máquinas com o comando ping;
  6. Verifique a rota dos pacotes entre os computadores pc1 e pc3 com o comando traceroute.
  7. Lance uma captura de pacotes com wireshark em um dos computadores da lan1;
  8. Execute novamente o comando traceroute entre os computadores pc1 e pc3;
  9. Verifique os pacotes ICMP capturados relativos ao traceroute..

Exercício 1

Montar no NetKit2 a rede experimental mostrada na figura:

  1. Considere que você dispõe do bloco de endereços IP 192.168.100.0/24 para ser utilizado no endereçamento da rede experimental;
  2. Faça uma alocação de endereços IP para cada sub-rede (rede 1, 2 e 3), alocando para a sub-rede 1 32 IPs e nas sub-redes 2 e 3 alocar 16 IPs;
  3. Faça também uma alocação de endereços IP para cada enlace ponto a ponto (rede AB, AC e AB).
  4. Defina as tabelas de roteamento entre para que os hosts possam trocar pacotes entre si.
  5. Faça teste conectividade entre os hosts.
Para entregar
PARTE 1
  1. Relatório descrevendo a distribuição dos endereços IP.
  2. Script comentado da rede experimental.
  3. Descrição dos procedimentos de teste realizados com o Netkit, anexando:
    • Telas ilustrando a configuração IP das máquinas em cada rede;
    • Telas mostrando a conectividade em rede entre as máquinas (ping);
    • Telas ilustrando as tabelas de roteamento de cada roteador (route);
    • Telas ilustrando a rota seguida pelos pacotes entre hosts de duas redes remotas (traceroute).
  4. Captura de pacotes (tcpdump/wireshark)
    • Executar ping entre duas máquinas e capturar os pacotes ICMP gerados. Explicar o funcionamento do ping.
    • Executar traceroute entre duas máquinas e capturar os pacotes gerados. Explicar o funcionamento do traceroute com base nos pacotes capturados. Explicitar os diferentes tipos de pacotes gerados pelo traceroute. Explicar a função do campo TTL do cabeçalho IP utilizado pelo traceroute.

Comandos para configurar interfaces de rede e roteamento

Rede exemplo

Configuração da interface de rede de um host

Exemplo: host PC1:

  • Configuração de uma interface, incluindo IP, máscara de rede e broadcast:
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 up
  • Configuração do roteador padrão da rede:
route add default gw 192.168.0.254 dev eth0
  • Visualizar a configuração de uma interface:
ifconfig
  • Derrubar uma interface:
ifconfig eth0 down
  • Subir uma interface com a configuração anterior:
ifconfig eth0 up

Configuração das interfaces e rotas estáticas em roteadores

Exemplo: roteadorR1:

  • Configuração das interfaces do roteador:
ifconfig eth0 192.168.0.254 netmask 255.255.255.0 broadcast 192.168.0.255 up
ifconfig eth1 10.0.0.1 netmask 255.255.255.252 broadcast 10.0.0.3 up
  • Adição de uma rota estática em um roteador:
route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.0.0.2 dev eth1
  • Visualizar as tabelas de roteamento:
route -n 
  • Remover uma rota:
route del -net 192.168.1.0 netmask 255.255.255.0 gw 10.0.0.2 dev eth1

Exercício 2

Use a rede do exercício anterior para realizar os exercícios.

  1. Modifique a interface de rede de um host e em seguida verifique a mudança com ifconfig e teste conectividade com ping a partir de outros hosts.
  2. Derrube a interface de um dos links entre dois roteadores e teste conectividade com ping.
  3. Modifique o roteamento de forma a contornar o enlace derrubado e teste conectividade com ping entre todos os hosts.
    Atenção: Lembre de configurar rotas em ambos os sentidos, pois no teste com ping temos pacotes ICMP Echo Request e Echo Replay, ou seja, pacotes circulando nos dois sentidos.
  4. Execute um traceroute para verificar a nova rota percorrida pelos pacotes.
Para entregar
PARTE 2
  1. Anexar telas ilustrando as tabelas de roteamento depois que a interface do roteador for derrubada;
  2. Anexar telas ilustrando a ausência de conectividade com ping;
  3. Mostre os comandos utilizados para adicionar novas rotas estáticas e anexar telas com as novas tabelas de roteamento;
  4. Anexar telas do traceroute para mostrar a nova rota percorrida pelos pacotes.

Protocolos de Roteamento Dinâmico

Os protocolos de roteamento dinâmicos permitem encontrar, de forma automática, o caminho que os datagramas tomarão entre a fonte e o destino.

Dois protocolos de roteamento intra domínio bastante utilizados na Internet são o RIP e o OSPF

No NetKit para ativar protocolos de roteamento é necessário usar máquinas virtuais do tipo router. Um router tem sua função de gateway ativada automaticamente e executa o programa Quagga, que implementa protocolos de roteamento (tais como OSPF, RIP e BGP).

Veja abaixo como criar máquinas tipo router e configurar suas interfaces:

r1[type]=router
r1[ppp0]=link0:ip=10.0.0.1/30
r1[eth0]=lan0:ip=192.168.0.254/24

Ativação dos protocolos de roteamento nos roteadores

RIP

O RIP (Routing Information Protocol) é um protocolo padronizado, definido na RFC 1058, e utiliza o algoritmo de roteamento vetor de distâncias.

Há duas versões do protocolo:

  • RIP versão 1: classfull, ou seja, suporta apenas classes cheias (A, B ou C);
  • RIP versão 2: suporta CIDR (classless).

Ambas as versões trocam informações utilizando UDP na porta 520 [3].

Terminal vtysh dos roteadores

Um roteador implementado com quagga apresenta um shell parecido com o de um roteador Cisco real, conhecido como vtysh, e aceita comandos específicos para a configuração dos roteadores. O comando ? mostra os demais comandos disponíveis.

Comandos para verificar a configuração do roteador
  • Verificar a configuração de cada interface:
show interface eth0
show interface ppp0
  • Verificar as tabelas de roteamento:
show ip route
Comandos para configuração do RIP versão 1
Exemplo roteador R1 conectado a outros roteadores pelas interfaces ppp0 e ppp1
r1#conf t
Enter configuration commands, one per line.  End with CTRL-Z.
r1(config)#router rip
r1(config-router)#redistribute connected
r1(config-router)#network ppp0
r1(config-router)#network ppp1
r1(config-router)#CTRL-Z
r1(config)#
Comandos para configuração do RIP versão 2
Exemplo roteador R1 conectado a outros roteadores pelas interfaces ppp0 e ppp1
r1#conf t
Enter configuration commands, one per line.  End with CTRL-Z.
r1(config)#router rip
r1(config-router)#version 2
r1(config-router)#redistribute connected
r1(config-router)#network 192.168.1.0/24
r1(config-router)#network 192.168.2.0/24
r1(config-router)#CTRL-Z
r1(config)#

Exercício 3

Use a rede do exercício 1 para realizar os exercícios.

  1. Substitua no arquivo de configuração todos roteadores tipo gateway por tipo router;
  2. Remova todas as rotas estáticas do arquivo de configuração;
  3. Carregue a rede no netkit e verifique se o leiaute (gráfico) está correto.
  4. Verifique a configuração dos PC com ifconfig e route;
  5. Teste conectividade com ping entre computadores pertencentes a mesma redes local e entre redes diferentes.
  6. Acesse o terminal vtysh de cada roteador e verifique a configuração das interfaces e das tabelas de roteamento:
show interface eth0
show interface ppp0
show interface ppp1
show ip route
Ativação do RIP versão 2
  1. Ativar o RIP versão 2 em cada roteador
Para entregar
PARTE 3
  1. Anexar telas ilustrando as tabelas de roteamento de cada roteador antes da ativação do RIP. Explicar as rotas presentes.
  2. Anexar telas ilustrando as tabelas de roteamento de cada roteador depois da ativação do RIP. Explicar as rotas presentes.
  3. Anexar telas ilustrando a conectividade com ping entre as máquinas.
  4. Anexar telas do traceroute para mostrar a nova rota percorrida pelos pacotes depois que o RIP reconfigurou as rotas.

Referências



--Evandro.cantu (discussão) 17h51min de 9 de junho de 2015 (BRT)