Académique Documents
Professionnel Documents
Culture Documents
Maro / 2010
Introduo ao netkit
Motivao
No uma tarefa trivial estudar redes de computadores. possvel aprender redes
atravs de livros, revistas, fruns 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.
Entrementes, muitas vezes no existe a disponibilidade dos equipamentos para
executar os diversos experimentos de rede pois tais equipamentos so muitas vezes
caros. De modo anlogo, 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 formam 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 discentes experincia real ao ligar com
softwares reais atravs da virtualizao, experincia essa que seria custosa para ser
obtida de outro meio.
Maio / 2010
Distribuies:
O Linux possui varias distribuies, que como se fossem marcas diferentes de
um mesmo produto. Cada usurio encontra algumas vantagens ou desvantagens em
suas distribuies. Se voc no tiver qualquer preferncia ou distribuio, o autor
recomenda o uso da distribuio mandriva que bastante amigvel ao iniciante e possui
uma excelente compatibilidade com hardware.
Porque linux?
Disponibilidade de softwares: Os softwares de redes mais usados do mundo so
linux. O servidor DNS, o Bind, nativo para linux. O apache, embora possua verso para
Windows, tem desempenho muito superior no linux, assim como o php, que possui mais
da metade da programao dinamica em nmero de sites na web. As verses mais
avanadas dos softwares de gerenciamento padro dos equipamentos de rede no tem
verses Windows.
O Windows tambm no possui softwares padronizados e de ampla aceitao para
roteamento de pacotes. Finalmente o Windows no implementa a rede nativamente, no
nvel do ncleo do sistema operacional, mas atravs de uma camada de software
chamada WinSock. Isso causa um overhead no desempenho de comunicao.
Estruturas de pastas:
Para nossos estudos, precisamos conhecer as seguintes pastas:
/etc
a pasta onde ficam os arquivos de configurao
/etc/init.d
a pasta que contem os comandos dos daemons e servidores
/var/log
em geral, logs estaro nessa pasta. Importante para consultar erros.
/home/seu_nome este seu home_dir, a pasta que contem seus arquivos pessoais
/tmp
essa pasta de arquivos temporrios e tudo que estiver aqui pode
ser apagado a qualquer momento!
/hosthome
dentro do Netkit, ela equivale a seu home_dir. o meio mais fcil de
enviar um arquivo de dentro de uma mquina virtual para fora.
/hostlab
a pasta que contem os arquivos dos labs.
No laboratrio do CISC, voc deve considerar tambm as seguintes pastas:
/export/home/seu_nome essa sua pasta de usurio no ICMC. Ela tem tamanho
limitado por quota. Limpe-a periodicamente. Pelo tamanho
limitado ela no adequada para hospedar os labs que
podem ocupar um bom espao enquanto estiverem em
execuo..
Comandos importantes:
pwd
cp
mv
cd
ls
rmdir
mkdir
tar
man
INSTALAO DO NETKIT
Documento verso 0.2
Maro / 2010
Instalao do Netkit
O Netkit distribudo 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
.
O comando tar descompacta o arquivo, extraindo seu contedo na pasta
corrente. As opes tem o seguinte significado:
x
permite que o contedo do pacote seja extrado
j
indica que o arquivo est compactado usando bzip2
S
Indica ao tar para lidar com arquivos esparsos de forma mais eficiente
f
Indica o arquivo que ser descompactado
Os comandos acima iro 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/seu_nome/netkit
[seu_nome@suamaquina ~]$ export MANPATH=:$NETKIT_HOME/man
[seu_nome@suamaquina ~]$ export PATH=$NETKIT_HOME/bin:$PATH
possvel verificar que a sada de exemplo retornou uma falha nos pacotes lsof e
tunctl. necessrio instalar estes pacote, bem como os demais listados para que o netkit
possa ser executado.
Cada mquina virtual do netkit cria, por padro, um arquivo de 10Gb em sua
pasta de usurio chamado NOMEPC.disk. Os laboratrios que voc ir baixar
tem uma configurao para que estes arquivos sejam criados na pasta /tmp.
Isso permite que seu perfil de usurio, no caso de uso no CISC, no seja
sobrecarregado. Entretanto a verso 2.7 do Netkit tem um bug que impede
que essa configurao seja efetuada num laboratrio. O fix no oficial corrige
este bug, alm de outros ajustes adequados para o uso do netkit dentro dos
laboratrios da USP e na sua mquina pessoal.
Entretanto, o mesmo fix ainda no ajusta o comando lclean que apaga todos
os arquivos temporrios dos laboratrios, e a excluso dos mesmos dever ser
feita manualmente.