Kathara: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Linha 171: Linha 171:
  kathara lclean
  kathara lclean


==Laboratório: Roteamento estático e dinâmico==
==Laboratório: Roteamento Estático==


Exemplo de '''rede de computadores''' com '''roteamento estático e dinâmico''' construída com comandos '''Kathará l-commands''':
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 247: Linha 247:
  route
  route


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.169.1.2
Linha 254: Linha 254:
*pc1 -> pc3:
*pc1 -> pc3:
  ping 192.169.3.1
  ping 192.169.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.


;Rotas estáticas:
;Rotas estáticas:


Definir rotas estáticas nos roteadores r1, r2 e r3 para conectividade completa entre os dispositivos.
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:
:Exemplo de rotas em r1 para atingir redes B e C:
Linha 266: Linha 266:
:Configurar também para r2 e r3.
:Configurar também para r2 e r3.


Testar novamente conectividade entre as máquinas com '''ping'''.
Testar novamente '''conectividade''' entre as máquinas com '''ping'''.


Verificar rotas entre as máquinas com '''traceroute'''.
Verificar '''rotas''' entre as máquinas com '''traceroute'''.


Remover rede do laboratório:
Remover rede do laboratório:

Edição das 13h52min de 23 de fevereiro de 2021

Kathará

O Kathará é um ambiente para emulação de redes de computadores virtuais, disponível para ambientes Linux, Windows ou MacOS. O download da ferramenta pode ser obtido na página Web do Kathará.

O Kathará é uma implementação em Python do Netkit (descontinuado) e faz uso de contêineres Docker.

A página Wiki do Kathará apresenta vários exemplos ilustrativos, alguns dos quais descritos na sequência.

Introdução ao Kathará

O Kathará é um ambiente para emulação de redes de computadores através da criação de contêineres Docker em uma máquina hospedeira.

Cada contêiner pode ser configurado como um dispositivo de rede específico e pode desempenhar diferentes papeis, como host, roteador, switch etc.

Cada dispositivo de rede emulado possui um console, memória, sistema de arquivos e interfaces de rede. Através das interfaces de rede os dispositivos são conectados a um domínio de colisão virtual e podem se comunicar com outros dispositivos.

O Kathará apresenta três tipos de comandos:

  • v-commands: permitem criar e configurar um dispositivo via terminal.
  • l-commands: permite criar um ambiente com vários dispositivos conectados em rede através de um script.
  • global-commands: comandos de gerenciamento global.

Ver comandos em:

man kathara
Compartilhamento de arquivos entre dispositivos e o hospedeiro
Há duas maneiras de compartilhar arquivos entre dispositivos e o hospedeiro:
  • O diretório /shared em um dispositivo aponta para o diretório /shared de todos os dispositivos do laboratório (habilitado por default).
  • O diretório /hosthome em um dispositivo aponta para o diretório /home no hospedeiro (desabilitado por default).
Para modificar os compartilhamentos utilizar o comando:
kathara settings

Rede Básica

Exemplo de rede básica construída com comandos Kathará v-commands:

Procedimentos
  • Comando para checar se ambiente Kathará está operando corretamente:
kathara check
  • Comandos para iniciar os dispositivos pc1 e pc2, ambos com a interface eth0 conectada ao domínio de colisão A:
kathara vstart --name pc1 --eth 0:A
kathara vstart --name pc2 --eth 0:A
Cada comando ativará a console do respectivo dispositivo.
  • Configuração das interfaces de rede dos dispositivos com ifconfig:
Acessar a console de cada dispositivo para configurar as interfaces de rede:
  • pc1:
ifconfig eth0 192.168.0.1/24 up
  • pc2:
ifconfig eth0 192.168.0.2/24 up
Verificar as configurações em cada dispositivo:
ifconfig
  • Teste de conectividade com ping:
  • pc1 -> pc2:
ping 192.168.0.2
  • Captura de pacotes com tcpdump:
  • pc2:
tcpdump icmp
Captura pacotes icmp (ping) na interface eth0 (default).
  • Visualizar a captura de forma gráfica com wireshark no hospedeiro:
  • Ativar o compartilhamento do /hosthome com o comando:
kathara settings
  • Capturar no pc2 pacote e gravar saída em arquivo:
tcpdump icmp -w /hosthome/cap1.ncap
  • Abrir arquivo no hospedeiro com wireshark.
  • Remover dispositivos:
kathara vclean pc1
kathara vclean pc2
  • Limpar todos os dispositivos e domínios de colisão:
kathara wipe

Laboratório: Rede Básica

Exemplo de rede básica 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
pc1/
pc2/

Conteúdo dos arquivos:

lab.conf
  pc1[0]=A
  pc2[0]=A
pc1.startup
  ifconfig eth0 192.168.0.1/24 up
pc2.startup
  ifconfig eth0 192.168.0.2/24 up

Iniciar rede do laboratório:

kathara lstart

Remover rede do laboratório:

kathara lclean

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.169.1.2
  • pc2 -> pc1:
ping 192.169.0.1

Verificar rota com traceroute:

  • pc1 -> pc2:
traceroute 192.169.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.169.1.2
  • pc1 -> pc2:
ping 192.169.2.1
  • pc1 -> pc3:
ping 192.169.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

Referências



Evandro.cantu (discussão) 17h07min de 25 de janeiro de 2021 (-03)