Kathara
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 um laboratório.
- O diretório /hosthome em um dispositivo aponta para o diretório /home no hospedeiro. Desabilitado por default, deve ser habilitado com 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 pc1 --eth 0:A kathara vstart 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:
ping 192.168.0.2
- Captura de pacotes com tcpdump:
- pc2:
tcpdump icmp
- Captura pacotes icmp (ping) na interface eth0 (default).
- Remover dispositivos:
kathara vclean pc1 kathara vclean pc2
Referências
Evandro.cantu (discussão) 17h07min de 25 de janeiro de 2021 (-03)