Kathara: Roteamento: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
 
(9 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 54: Linha 54:
Testar conectividade com '''ping''':
Testar conectividade com '''ping''':
*pc1 -> pc2:
*pc1 -> pc2:
  ping 192.169.1.2
  ping 192.168.1.2
*pc2 -> pc1:
*pc2 -> pc1:
  ping 192.169.0.1
  ping 192.168.0.1


Verificar rota com '''traceroute''':
Verificar rota com '''traceroute''':
*pc1 -> pc2:
*pc1 -> pc2:
  traceroute 192.169.1.2
  traceroute 192.168.1.2


Remover rede do laboratório:
Remover rede do laboratório:
Linha 67: Linha 67:
==Laboratório: Roteamento Estático==
==Laboratório: Roteamento Estático==


Exemplo de '''rede de computadores''' com '''roteamento estático''' construída com comandos '''Kathará l-commands''' <ref name=static>https://github.com/KatharaFramework/Kathara-Labs/blob/master/Basic%20Topics/Static%20routing/004-kathara-lab_static-routing.pdf</ref>:
Exemplo de '''rede de computadores''' com '''roteamento estático''' construída com comandos '''Kathará l-commands''':


[[Arquivo:Kathara-lab3.png]]
[[Arquivo:Kathara-lab3.png]]
Linha 143: Linha 143:
'''Testar conectividade''' entre as máquinas com '''ping''':
'''Testar conectividade''' entre as máquinas com '''ping''':
*pc1 -> r1:
*pc1 -> r1:
  ping 192.169.1.2
  ping 192.168.1.2
*pc1 -> pc2:
*pc1 -> pc2:
  ping 192.169.2.1
  ping 192.168.2.1
*pc1 -> pc3:
*pc1 -> pc3:
  ping 192.169.3.1
  ping 192.168.3.1
:Note que '''não há conectividade''' entre os pc1, pc2 e pc3.
:Note que '''não há conectividade''' entre os pc1, pc2 e pc3.


Linha 167: Linha 167:
  kathara lclean
  kathara lclean
  kathara wipe
  kathara wipe
==Roteamento Dinâmico==
O '''roteamento dinâmico''' permite gerar automaticamente as rotas que os pacotes seguirão entre uma origem e um  destino.
Há duas classes de '''protocolos de roteamento dinâmico''' na Internet: os '''protocolos intra-SA'''  e '''inter-SA''' (SA - Sistema Autônomo).
Os protocolos de roteamento '''intra-SA''' atuam internamente ao '''sistema autônomo''', definindo as melhores rotas em função de um custo atribuído a cada enlace a percorrer. Dois protocolos de roteamento intra--SA bastante utilizados na Internet são o '''RIP''' e o '''OSPF''':
*'''RIP''' (''Routing Information Protocol''): Constrói as tabelas dinamicamente utilizando um '''algoritmo de roteamento''' chamado '''vetor de distâncias''', calculando as melhores rotas tendo como base o número de enlaces a percorrer.
*'''OSPF''' (''Open Shortest Path First''): É um protocolo de roteamento mais elaborado, baseado no algoritmo '''estado do enlace''', desenhado para convergir rapidamente ao ser informado de qualquer alteração de estado do enlace dentro da rede.
O roteamento '''inter-SA''' permite interconectar diferentes sistemas autônomos. Na Internet o protocolo mais utilizado neste domínio é o '''BGP''' (''Border Gateway Protocol''), o qual permite implementar políticas específicas dependendo dos sistemas autônomos que serão integrados.


==Laboratório: Roteamento Dinâmico==
==Laboratório: Roteamento Dinâmico==


Exemplo de '''rede de computadores''' com '''roteamento dinâmico''' construída com comandos '''Kathará l-commands''' <ref>https://github.com/KatharaFramework/Kathara-Labs/blob/master/Intradomain%20Routing/RIP/007-kathara-lab_rip.pdf</ref>:
Ha alguns pacotes de software que implementam os protocolos de roteamento dinâmico, como o '''Quagga''' e o '''FFR''', sendo este último uma versão mais nova, originada de um ''fork'' do Quagga.  


Para este exemplo será utilizada a mesma estrutura do '''laboratório Roteamento Estático''', com os mesmos arquivos de configuração.
Para este laboratório vamos utilizar o '''Quagga''' e o protocolo '''RIP''', baseado no exemplo descrito em <ref>https://github.com/KatharaFramework/Kathara-Labs/tree/main/main-labs/intradomain-routing/quagga/rip/kathara-lab_rip</ref>.


===Procedimentos práticos===
===Preparação da estrutura para o laboratório===
 
Utilizar a mesma estrutura do '''laboratório Roteamento Estático''', com os mesmos arquivos de configuração.


Iniciar rede do laboratório:
Iniciar rede do laboratório:
Linha 186: Linha 200:
'''Testar conectividade''' entre as máquinas com '''ping''':
'''Testar conectividade''' entre as máquinas com '''ping''':
*pc1 -> r1:
*pc1 -> r1:
  ping 192.169.1.2
  ping 192.168.1.2
*pc1 -> pc2:
*pc1 -> pc2:
  ping 192.169.2.1
  ping 192.168.2.1
*pc1 -> pc3:
*pc1 -> pc3:
  ping 192.169.3.1
  ping 192.168.3.1
:Note que '''não há conectividade''' entre os pc1, pc2 e pc3.
:Note que '''não há conectividade''' entre os pc1, pc2 e pc3.


===Roteamento dinâmico===
===Ativação e testes do protocolo RIP===
 
O '''roteamento dinâmico''' permite gerar automaticamente as rotas que os pacotes seguirão entre uma origem e um  destino.
 
Há duas classes de '''protocolos de roteamento dinâmico''' na Internet: os '''protocolos intra-SA'''  e '''inter-SA''' (SA - Sistema Autônomo).
 
Os protocolos de roteamento '''intra-SA''' atuam internamente ao '''sistema autônomo''', definindo as melhores rotas em função de um custo atribuído a cada enlace a percorrer. Dois protocolos de roteamento intra--SA bastante utilizados na Internet são o '''RIP''' e o '''OSPF''':
*'''RIP''' (''Routing Information Protocol''): Constrói as tabelas dinamicamente utilizando um '''algoritmo de roteamento''' chamado '''vetor de distâncias''', calculando as melhores rotas tendo como base o número de enlaces a percorrer.
*'''OSPF''' (''Open Shortest Path First''): É um protocolo de roteamento mais elaborado, baseado no algoritmo '''estado do enlace''', desenhado para convergir rapidamente ao ser informado de qualquer alteração de estado do enlace dentro da rede.
 
O roteamento '''inter-SA''' permite interconectar diferentes sistemas autônomos. Na Internet o protocolo mais utilizado neste domínio é o '''BGP''' (''Border Gateway Protocol''), o qual permite implementar políticas específicas dependendo dos sistemas autônomos que serão integrados.
 
Para habilitar o '''roteamento dinâmico''' no Kathará deve-se ativar o programa '''[http://www.quagga.net/ Quagga]''', que implementa os protocolos de roteamento citados.
 
====Protocolo RIP: Procedimentos práticos====


Para ativar o '''RIP''' é necessário incluir '''arquivos de configuração''' em cada um dos roteadores.
Para ativar o '''RIP''' é necessário incluir '''arquivos de configuração''' em cada um dos roteadores.
Linha 226: Linha 226:
   ripngd=no
   ripngd=no


  rip.conf
  ripd.conf
   hostname ripd
   hostname ripd
   password zebra
   password zebra
Linha 233: Linha 233:
   router rip
   router rip
   redistribute connected
   redistribute connected
   network 10.0.0.0/16     #Envia mensagens RIP para o Sistema Autônomo dos roteadores
   network 10.0.0.0/16
   !
   !
   log file /var/log/quagga/ripd.log
   log file /var/log/quagga/ripd.log
Linha 266: Linha 266:
  kathara wipe
  kathara wipe


====Terminal vtysh dos roteadores====
==Terminal vtysh dos roteadores==


Um roteador implementado com '''quagga''' apresenta um '''shell''' similar a 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.  
Um roteador implementado com '''quagga''' apresenta um '''shell''' similar a 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.  

Edição atual tal como às 01h15min de 17 de novembro de 2023

Kathará: Roteamento

Veja como instalar o emulador de redes de computadores Kathará e exemplos introdutórios de redes na página Kathará.

Laboratório: Redes interligadas por roteador

Exemplo de redes interligadas por roteador construída com comandos Kathará l-commands:

Hierarquia de arquivos e diretórios para os scripts do laboratório
lab.conf
pc1.startup
pc2.startup
r1.startup
pc1/
pc2/
r1/

Conteúdo dos arquivos:

lab.conf
  pc1[0]=A
  r1[0]=A
  r1[1]=B
  pc2[0]=B
pc1.startup
  ifconfig eth0 192.168.0.1/24 up
pc2.startup
  ifconfig eth0 192.168.1.2/24 up
r1.startup
  ifconfig eth0 192.168.0.2/24 up
  ifconfig eth1 192.168.1.1/24 up

Iniciar rede do laboratório:

kathara lstart

Verificar tabelas de roteamento com route:

  • pc1, pc2 e r1:
route

Definir roteador default com route add manualmente em cada dispositivo:

  • pc1:
route add default gw 192.168.0.2 dev eth0
  • pc2:
route add default gw 192.168.1.1 dev eth0
Verificar novamente as tabelas de roteamento .
Obs: Rotas estáticas e o roteador padrão podem ser incluídas nos arquivos .startup.

Testar conectividade com ping:

  • pc1 -> pc2:
ping 192.168.1.2
  • pc2 -> pc1:
ping 192.168.0.1

Verificar rota com traceroute:

  • pc1 -> pc2:
traceroute 192.168.1.2

Remover rede do laboratório:

kathara lclean

Laboratório: Roteamento Estático

Exemplo de rede de computadores com roteamento estático construída com comandos Kathará l-commands:

Hierarquia de arquivos e diretórios para os scripts do laboratório
lab.conf
pc1.startup
pc2.startup
pc3.startup
r1.startup
r2.startup
r3.startup
pc1/
pc2/
pc3/
r1/
r2/
r3/

Conteúdo dos arquivos:

lab.conf
  pc1[0]=A
  r1[0]=A
  r1[1]=AB
  r1[2]=AC
  pc2[0]=B
  r2[0]=B
  r2[1]=AB
  r2[2]=BC
  pc3[0]=C
  r3[0]=C
  r3[1]=BC
  r3[2]=AC
Rotas default incluídas no arquivo de configuração:
pc1.startup
  ifconfig eth0 192.168.1.1/24 up
  route add default gw 192.168.1.2 dev eth0
pc2.startup
  ifconfig eth0 192.168.2.1/24 up
  route add default gw 192.168.2.2 dev eth0
pc3.startup
  ifconfig eth0 192.168.3.1/24 up
  route add default gw 192.168.3.2 dev eth0
r1.startup
  ifconfig eth0 192.168.1.2/24 up
  ifconfig eth1 10.0.1.1/24 up
  ifconfig eth2 10.0.2.1/24 up
r2.startup
  ifconfig eth0 192.168.2.2/24 up
  ifconfig eth1 10.0.1.2/24 up
  ifconfig eth2 10.0.3.1/24 up
r3.startup
  ifconfig eth0 192.168.3.2/24 up
  ifconfig eth1 10.0.3.2/24 up
  ifconfig eth2 10.0.2.2/24 up

Procedimentos práticos

Iniciar rede do laboratório:

kathara lstart

Verificar tabelas de roteamento com route:

  • pc1, pc2, pc2
  • r1, r2, r3
route

Testar conectividade entre as máquinas com ping:

  • pc1 -> r1:
ping 192.168.1.2
  • pc1 -> pc2:
ping 192.168.2.1
  • pc1 -> pc3:
ping 192.168.3.1
Note que não há conectividade entre os pc1, pc2 e pc3.
Rotas estáticas

Definir rotas estáticas nos roteadores r1, r2 e r3 para conectividade completa entre os dispositivos.

Exemplo de rotas em r1 para atingir redes B e C:
route add -net 192.168.2.0/24 gw 10.0.1.2 dev eth1
route add -net 192.168.3.0/24 gw 10.0.2.2 dev eth2
Configurar também para r2 e r3.

Testar novamente conectividade entre as máquinas com ping.

Verificar rotas entre as máquinas com traceroute.

Remover rede do laboratório:

kathara lclean
kathara wipe

Roteamento Dinâmico

O roteamento dinâmico permite gerar automaticamente as rotas que os pacotes seguirão entre uma origem e um destino.

Há duas classes de protocolos de roteamento dinâmico na Internet: os protocolos intra-SA e inter-SA (SA - Sistema Autônomo).

Os protocolos de roteamento intra-SA atuam internamente ao sistema autônomo, definindo as melhores rotas em função de um custo atribuído a cada enlace a percorrer. Dois protocolos de roteamento intra--SA bastante utilizados na Internet são o RIP e o OSPF:

  • RIP (Routing Information Protocol): Constrói as tabelas dinamicamente utilizando um algoritmo de roteamento chamado vetor de distâncias, calculando as melhores rotas tendo como base o número de enlaces a percorrer.
  • OSPF (Open Shortest Path First): É um protocolo de roteamento mais elaborado, baseado no algoritmo estado do enlace, desenhado para convergir rapidamente ao ser informado de qualquer alteração de estado do enlace dentro da rede.

O roteamento inter-SA permite interconectar diferentes sistemas autônomos. Na Internet o protocolo mais utilizado neste domínio é o BGP (Border Gateway Protocol), o qual permite implementar políticas específicas dependendo dos sistemas autônomos que serão integrados.

Laboratório: Roteamento Dinâmico

Ha alguns pacotes de software que implementam os protocolos de roteamento dinâmico, como o Quagga e o FFR, sendo este último uma versão mais nova, originada de um fork do Quagga.

Para este laboratório vamos utilizar o Quagga e o protocolo RIP, baseado no exemplo descrito em [1].

Preparação da estrutura para o laboratório

Utilizar a mesma estrutura do laboratório Roteamento Estático, com os mesmos arquivos de configuração.

Iniciar rede do laboratório:

kathara lstart

Verificar tabelas de roteamento com route:

  • pc1, pc2, pc2
  • r1, r2, r3
route

Testar conectividade entre as máquinas com ping:

  • pc1 -> r1:
ping 192.168.1.2
  • pc1 -> pc2:
ping 192.168.2.1
  • pc1 -> pc3:
ping 192.168.3.1
Note que não há conectividade entre os pc1, pc2 e pc3.

Ativação e testes do protocolo RIP

Para ativar o RIP é necessário incluir arquivos de configuração em cada um dos roteadores.

Os arquivos de configuração do RIP em um roteador são:

/etc/quagga/daemons
/etc/quagga/ripd.conf
/etc/quagga/zebra.conf

Conteúdo dos arquivos para ativar RIP no roteador r1:

daemons
 #Indica quais daemons devem ser iniciados:
 zebra=yes
 bgpd=no
 ospfd=no
 ospf6d=no
 ripd=yes
 ripngd=no
ripd.conf
 hostname ripd
 password zebra
 enable password zebra
 !
 router rip
 redistribute connected
 network 10.0.0.0/16
 !
 log file /var/log/quagga/ripd.log
zebra.conf
 hostname r1
 password zebra
 enable password zebra

Estes arquivos devem ser incluídos no diretório

/r1/etc/quagga/

Para os demais roteadores deve-se fazer o mesmo, mudando o nome do roteador no arquivo zebra.conf.

Ativação do RIP

Uma vez configurado, o RIP deve ser ativado manualmente em cada roteador:

/etc/init.d/quagga start
Testes de conectividade

Testar novamente conectividade entre as máquinas com ping.

Verificar rotas entre as máquinas com traceroute.

Derrubar um enlace e verificar novamente as rotas e testar conectividade.

Por exemplo, para derrubar o enlace AB, derrubar as interfaces correspondentes em r1 e r2:
ifconfig eth1 down

Remover rede do laboratório:

kathara lclean
kathara wipe

Terminal vtysh dos roteadores

Um roteador implementado com quagga apresenta um shell similar a 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 das interfaces de rede:
show interface
  • Verificar as tabelas de roteamento:
show ip route
  • Sair do vtysh:
exit

Referências


Evandro.cantu (discussão) 11h18min de 23 de fevereiro de 2021 (-03)