Kathara: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Linha 108: Linha 108:
Remover rede do laboratório:
Remover rede do laboratório:
  kathara lclean
  kathara lclean
==Laboratório: Roteamento Estático==
Exemplo de '''rede de computadores''' com '''roteamento estático''' construída com comandos '''Kathará l-commands''':
[[Arquivo:Kathara-lab3.png]]
;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==
==Referências==

Edição das 14h18min 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

Referências



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