You are on page 1of 7

INTRODUO AO NETKIT

Documento verso 0.3

Aluno: Paulo Henrique Moreira Gurgel #5634135

Orientado pela Professora Kalinka Regina Lucas Jaquie Castelo Branco

Maro / 2010

Introduo ao netkit
Motivao
No uma tarefa trivial estudar redes de computadores. possvel aprender redes atravs de livros, revistas, foruns especializados, mas a experimentao prtica importante. O problema aparece quando preciso realizar experimentos pois este um processo custoso, envolvendo a disponibilidade de diversos equipamentos e privilgios para modificar configuraes de quaisquer um deles, inclusive com a possibilidade de trav-los. Num laboratrio acadmico, existe a chance do aluno acidentalmente realizar uma configurao que ir impedir a utilizao imediata posterior do laboratrio gerando a necessidade de efetuar a manuteno e possivelmente atrapalhando o andamento das aulas da turma seguinte. Entretanto, muitas vezes no existe a disponibilidade dos equipamentos para executar os diversos experimentos de rede pois tais equipamentos so muitas vezes caros. Entrementes, importante considerar que, diferente de outras disciplinas, o estudante de redes no tem muitas vezes possibilidade de realizar os experimentos domesticamente, pois no h sentido em investir em equipamentos para simular todo e qualquer tipo de laboratrio de redes. Resultado do trabalho conjunto de diversos profissionais do laboratrio de redes de computadores da Roma Tre University, e do grupo de usurios de linux LUG Roma 3, o software netkit permite a realizao destes experimentos atravs de mquinas, enlaces e outros equipamentos virtualmente em um computador hospedeiro.

Apresentao do netkit
O software netkit um emulador de redes que permite a criao de experimentos de redes de computadores virtuais, incluindo os dispositivos de hardwares necessrios para seu suporte como roteadores, servidores, switches, e da criao dos enlaces. Alm do hardware, estes equipamentos virtuais so inicializados com softwares reais que em execuo oferecem experincia real ao estudante para a realizao de diversos estudos, mesmo que tenha apenas um computador em seu domiclio. O netkit utiliza softwares de cdigo aberto, principalmente licenciados pela GPL, usando em suas mquinas uma variao do kernel linux chamada UML (User Mode Linux). Para montar uma rede o netkit usa um conjunto de arquivos de configuraes e pastas, que foram um laboratrio virtual. Um laboratrio tambm pode ser inicializado atravs de scripts ou atravs da linguagem NetML que uma linguagem baseada em XML para descrio de redes. Uma mquina virtual iniciada pelo netkit um computador completo rodando uma distribuio mono usurio da distribuio Debian GNU/Linux. Para transformar essa mquina num dispositivo especfico basta executar o software adequado.

Recursos do netkit
Entre os recursos que podemos experimentar no netkit, podemos verificar: Recursos e protocolos Camada fsica: Camada fsica Ethernet Camada de enlace: Protocolo 802.1D ponte e brctl Configurao de VLANs (802.1Q) Protocolo PPP Comutao de pacotes MPLS manipulao de pilhas de rtulos Distribuio de rtulos via LDP Camada de redes: Resoluo ARP e RARP Controle de mensagens por ICMP Roteamento Ipv4 e Ipv6 Camada de transporte Protocolo TCP Protocolo UDP Camada de aplicao DHCP DNS (Servidor e Cliente) Email POP / IMAP / SMTP FTP HTTP NFS Telnet Samba SSH Squid Roteamento Comutao de pacotes por MPLS Protocolos de roteamento BGP OSPF RIP Balanceamento de carga Multicast PIM-SM Ferramentas de segurana IPSec, ESP e AH IKE Sistema de deteco de intruso Radius Manipulao de pacotes Encapsulamento Tunneis GRE e MPLS Captura e anlise de pacotes Ettercap SSLDump TCPDump TCPReen Tethereal Filtro de pacotes NAT Montagem de pacotes Dsniff Hping Sendip Tcpreplay Diversos Linguagens de script Awk Bash Expect Python

Concluso
O netkit permite o estudo de redes das mais variadas complexidades sem nus tcnico ou investimento alto em infra-estrutura e equipamentos. Por este motivo, est sendo desenvolvido no ICMC/USP este trabalho de montagem do laboratrio virtual de ensino de redes com a expectativa de propiciar aos docentes ferramentas de experimentao prtica dos laboratrios, e aos dicentes experincia real ao ligar com softwares reais atravs da emulao, experincia essa que seria custosa para ser obtida de outro meio.

INSTALAO DO NETKIT
Documento verso 0.1

Aluno: Paulo Henrique Moreira Gurgel #5634135

Orientado pela Professora Kalinka Regina Lucas Jaquie Castelo Branco

Maro / 2010

Tutorial de Instalao do Netkit. Importante


Este tutorial de instalao do netkit se baseia no pressuposto que voc est familiarizado com o bsico de um ambiente linux. Voc dever saber, atravs do ambiente bash, criar e administrar pastas e arquivos, bem como utilizar algum editor de modo texto, preferencialmente o vi. Todos os comandos so demonstrados em negrito.

Instalao do netkit
O netkit distribuido em 3 pacotes, o software base, o kernel e o sistema de arquivos. A ltima verso deve ser baixada no site http://wiki.netkit.org. Os links dos pacotes utilizados so: http://wiki.netkit.org/download/netkit/netkit-2.7.tar.bz2 http://wiki.netkit.org/download/netkit-filesystem/netkit-filesystem-i386-F5.1.tar.bz2 http://wiki.netkit.org/download/netkit-kernel/netkit-kernel-i386-K2.8.tar.bz2 Estas so as verses mais recentes no momento do desenvolvimento deste material. O material ser atualizado se sair nova verso, mas at que o mesmo seja atualizado ser prefervel utilizar as verses indicadas nos links acima. Coloque os arquivos que efetuou download em seu homedir e use os comandos a seguir:
[seu_nome@suamaquina ~]$ tar -xjSf netkit-2.7.tar.bz2 [seu_nome@suamaquina ~]$ tar -xjSf netkit-filesystem-i386-F5.1.tar.bz2 [seu_nome@suamaquina ~]$ tar -xjSf netkit-kernel-i386-K2.8.tar.bz2

Ele ir criar uma pasta chamada netkit em sua pasta de usurio. Supondo que seu usurio seja seu_nome ficar /home/seu_nome/netkit. Execute os seguintes comandos:
[seu_nome@suamaquina ~]$ export NETKIT_HOME=/home/annoyin_user/netkit [seu_nome@suamaquina ~]$ export MANPATH=:$NETKIT_HOME/man [seu_nome@suamaquina ~]$ export PATH=$NETKIT_HOME/bin:$PATH

Estes comandos podero ser acrescidos ao seu arquivo .bash_rc para que sejam executados automaticamente quando voc iniciar seu ambiente bash. Use o comando cd netkit para acessar a pasta do netkit, e depois execute o script check_configuration.sh (comando: ./check_configuration.sh) Ele ir retornar a seguinte sada:
> > > > > Checking path correctness... passed. Checking environment... passed. Checking for availability of man pages... passed. Checking for proper directories in the PATH... passed. Checking for availability of auxiliary tools: awk : ok basename : ok date : ok dirname : ok

find getopt grep head id kill ls lsof ps readlink wc port-helper tunctl uml_mconsole uml_switch failed!

: : : : : : : : : : : : : : :

ok ok ok ok ok ok ok error: cannot find any executable for this tool ok ok ok ok error: cannot find any executable for this tool ok ok

*** Error: some of the standard tools needed for running Netkit were not found in your Linux installation. Either the tools are not installed or your PATH variable is not properly set. Please, install the tools or set the PATH variable, then try again. [ ERROR ] Your system is not configured properly. Please correct the above errors before starting to use Netkit.

possvel verificar que a sada de exemplo retornou uma falha nos pacotes lsof e tunctl. necessrio instalar este pacote, bem como os demais listados para que o netkit possa ser executado. Numa distribuio baseada no Debian, use apt-get install pacotes, onde pacotes o nome dos pacotes, separado por espaos, para completar a instalao. Neste exemplo apt-get install tunctl lsof Uma segunda execuo pode mostrar que os pacotes no esto disponveis no path adequado e a prpria mensagem de sada fornece as alternativas para a correo. Ao instalar corretamente todas as dependncias, voc dever receber a mensagem: [ READY ] Congratulations! Your Netkit setup is now complete! Enjoy Netkit! Voc provavelmente desejar instalar tambm atravs de seu gerenciador de pacotes a ferramenta wireshark (anteriormente conhecida como ethereal) que ser usada em diversos labs para analisar os pacotes..

You might also like