INTRODUÇÃO AO NETKIT



Documentos relacionados
INTRODUÇÃO AO NETKIT

LABORATÓRIO I. UMA REDE DE DIFUSÃO SIMPLES USANDO HUB COMO DOMÍNIO DE COLISÃO Documento versão 0.2. Aluno: Paulo Henrique Moreira Gurgel #

LABORATÓRIO III. ROTEAMENTO ESTÁTICO Documento versão 0.1. Aluno: Paulo Henrique Moreira Gurgel #

Laboratório II Nossa rede ganhou um switch.

LABORATÓRIO VI DNS E BIND. Baseado no laboratório oficial disponível em

Roteiro 3: Sistemas Linux arquivos e diretórios

Professor: Gládston Duarte

VIRTUAL PRIVATE NETWORKS

Lazarus pelo SVN Linux/Windows

Escrito por Júlio Oliveira Ter, 30 de Junho de :06 - Última atualização Seg, 17 de Agosto de :25

Lógica de Programação

Trabalho de Sistema de Informações. Instalação e configuração aplicativo Ocomon

Comandos Linux Comando tcpdump, guia de referência e introdução. Sobre este documento

TUTORIAL VMWARE WORKSTATION 8. Aprenda a instalar e configurar corretamente uma máquina virtual utilizando VMware Workstation com este tutorial

LABORATÓRIO V. NAT E FIREWALL Documento versão 0.1. Aluno: Paulo Henrique Moreira Gurgel #

Instalação rápida do Expresso

MANUAL DE CONFIGURAÇÃO DO BACKUP

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 03. Prof. Gabriel Silva

ENDEREÇOS DE REDE PRIVADOS até até até Kernel

UNIVERSIDADE FEDERAL DE GOIÁS CERCOMP (CENTRO DE RECURSOS COMPUTACIONAIS) TUTORIAL DE USO DO WEBMAIL - UFG

Você pode testar se está tudo OK, abrindo um navegador no Debian Linux e acessando qualquer site.

LABORATÓRIO X. ROTAS E MRTG Documento versão 0.1. Aluno: Paulo Henrique Moreira Gurgel #

Instalando o Debian em modo texto

Instalação do VOL Backup para Sistemas Unix-Like

ZS Rest. Manual Profissional. Instalação do Software. v2011

Informática. Aula 03 Sistema Operacional Linux. Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos

LABORATÓRIO XII. PORTSCAN & FOOTPRINTING Documento versão 0.1. Paulo Henrique Moreira Gurgel #

Configuração de um servidor FTP. Campus Cachoeiro Curso Técnico em Informática

Manual. Configuração do. Samba. Compartilhamento e Servidor Samba Linux. Produzido por: Sergio Graças Desenvolvedor do Projeto GNU/Linux VRlivre

BH PARK Software de Estacionamento

Manual Captura S_Line

LABORATÓRIO VIII. Introdução ao SNMP e Logging pt. I Documento versão 0.1. Aluno: Paulo Henrique Moreira Gurgel #

Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos

Como Instalar Programas no GNU/Linux. Elexsandro Rangel dos Santos

Google Drive: Acesse e organize seus arquivos

Sistema Operacional LINUX

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO

Projeto Integrador Projeto de Redes de Computadores

Manual de Instalação PIMSConnector em Linux

Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços

02 - Usando o SiteMaster - Informações importantes

Redes de Computadores. Guia de Laboratório Configuração de Redes

COMO INSTALAR O CATÁLOGO

No Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:

Gerenciamento de sistemas GNU/Linux: do computador pessoal à rede corporativa

Organização do Curso. Instalação e Configuração. Módulo II. Pós Graduação em Projeto e Gerencia de Redes de Computadores

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

Universidade Federal do Rio Grande do Norte

Instalando o WordPress em localhost

Partição Partição primária: Partição estendida: Discos básicos e dinâmicos

2. O AMBIENTE DE PROGRAMAÇÃO EM C

Entendendo como funciona o NAT

Librix...3. Software Livre...3. Manual Eletrônico...3. Opções de Suporte...3. Configuração de Dispositivos Básicos...4

GUIA INTEGRA SERVICES E STATUS MONITOR

IPTABLES. Helder Nunes

SOFTWARE LIVRE. Distribuições Live CD. Kernel. Distribuição Linux

Planejamento e Projeto de Redes de Computadores. Eduardo Barrére

MINISTÉRIO DA EDUCAÇÃO

Projeto de Redes de Computadores. Servidor Radius

Projeto e Instalação de Servidores Introdução a Servidores

Redes de Computadores

Operador de Computador. Informática Básica

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade

Arquitetura de Rede de Computadores

P L A N O D E D I S C I P L I N A

Manual UNICURITIBA VIRTUAL para Professores

Manual de Instalação PIMSConnector em Windows

Sistema Operacional Saber Gnu/Linux Prefeitura de São Paulo

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.

Acesso Remoto Placas de captura

Software Livre. Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar

Curso de Linux Básico

LABORATÓRIO VII. LAMP Server Documento versão 0.1. Aluno: Paulo Henrique Moreira Gurgel #

AUXÍLIO COMPUTACIONAL

Trabalhando com arquivos de som. Prof. César Bastos Fevereiro 2008

Emulação de redes IPv6. GTER 26 7 de novembro de 2008 Antonio M. Moreiras moreiras@nic.br

Considerações a serem feitas antes da implantação.

Atualizaça o do Maker

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

MÓDULO 8 Modelo de Referência TCP/IP

SISTEMAS DISTRIBUÍDOS

Aula 02. Introdução ao Linux

Administração de Redes Redes e Sub-redes

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes

Aula prática. Objetivo IPCONFIG. Prof. Leandro Pykosz Informa a configuração atual de rede da máquina;

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Desenvolvendo Websites com PHP

LABORATÓRIO ZERO. INTRODUÇÃO AO NETKIT Documento versão 0.1. Aluno: Paulo Henrique Moreira Gurgel #

Sistemas Operacionais Aula 01

Manual comandos Básicos para instalar e desinstalar Firebird em Sistema operacional Linux

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER

Manual do Teclado de Satisfação Online WebOpinião

Uso do Netkit no Ensino de Roteamento Estático

TUTORIAL DE INSTALAÇÃO DA MÁQUINA VIRTUAL VIRTUALBOX COM INSTALAÇÃO DA VERSÃO DO SISTEMA OPERACIONAL UBUNTU

Gerência de Redes: Modelos de Gerência de Redes: Modelo FCAPS: Ferramentas de Gerência de Redes:

Nesse artigo abordaremos os principais aspectos de instalação e uso do NTOP no Fedora Core 4.

Transcrição:

INTRODUÇÃO AO NETKIT Documento versão 0.3 Aluno: Paulo Henrique Moreira Gurgel #5634135 Orientado pela Professora Kalinka Regina Lucas Jaquie Castelo Branco Março / 2010

Introdução ao netkit Motivação Não é uma tarefa trivial estudar redes de computadores. É possível aprender redes através de livros, revistas, fóruns especializados, mas a experimentação prática é importante. O problema aparece quando é preciso realizar experimentos pois este é um processo custoso, envolvendo a disponibilidade de diversos equipamentos e privilégios para modificar configurações de quaisquer um deles, inclusive com a possibilidade de travá-los. Num laboratório acadêmico, existe a chance do aluno acidentalmente realizar uma configuração que irá impedir a utilização imediata posterior do laboratório gerando a necessidade de efetuar a manutenção e possivelmente atrapalhando o andamento das aulas da turma seguinte. Entrementes, muitas vezes não existe a disponibilidade dos equipamentos para executar os diversos experimentos de rede pois tais equipamentos são muitas vezes caros. De modo análogo, é importante considerar que, diferente de outras disciplinas, o estudante de redes não tem muitas vezes possibilidade de realizar os experimentos domesticamente, pois não há sentido em investir em equipamentos para simular todo e qualquer tipo de laboratório de redes. Resultado do trabalho conjunto de diversos profissionais do laboratório de redes de computadores da Roma Tre University, e do grupo de usuários de linux LUG Roma 3, o software Netkit permite a realização destes experimentos através de máquinas, enlaces e outros equipamentos virtualmente em um computador hospedeiro. Apresentação do Netkit O software Netkit é um emulador de redes que permite a criação de experimentos de redes de computadores virtuais, incluindo os dispositivos de hardwares necessários para seu suporte como roteadores, servidores, switches, e da criação dos enlaces. Além do hardware, estes equipamentos virtuais são inicializados com softwares reais que em execução oferecem experiência real ao estudante para a realização de diversos estudos, mesmo que tenha apenas um computador em seu domicílio. O Netkit utiliza softwares de código aberto, principalmente licenciados pela GPL, usando em suas máquinas uma variação do kernel Linux chamada UML (User Mode Linux). Para montar uma rede o Netkit usa um conjunto de arquivos de configurações e pastas, que formam um laboratório virtual. Um laboratório também pode ser inicializado através de scripts ou através da linguagem NetML que é uma linguagem baseada em XML para descrição de redes. Uma máquina virtual iniciada pelo netkit é um computador completo rodando uma distribuição mono usuário da distribuição Debian GNU/Linux. Para transformar essa máquina num dispositivo específico basta executar o software adequado.

Recursos do Netkit Entre os recursos que podemos experimentar no Netkit, podemos verificar: Recursos e protocolos Camada física: Camada física Ethernet Camada de enlace: Protocolo 802.1D ponte e brctl Configuração de VLANs (802.1Q) Protocolo PPP Comutação de pacotes MPLS manipulação de pilhas de rótulos Distribuição de rótulos via LDP Camada de redes: Resolução ARP e RARP Controle de mensagens por ICMP Roteamento Ipv4 e Ipv6 Camada de transporte Protocolo TCP Protocolo UDP Camada de aplicação DHCP DNS (Servidor e Cliente) Email POP / IMAP / SMTP FTP HTTP NFS Telnet Samba SSH Squid Roteamento Comutação de pacotes por MPLS Protocolos de roteamento BGP OSPF RIP Balanceamento de carga Multicast PIM-SM Ferramentas de segurança IPSec, ESP e AH IKE Sistema de detecção de intrusão Radius Manipulação de pacotes Encapsulamento Tunneis GRE e MPLS Captura e análise 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

Conclusão O Netkit permite o estudo de redes das mais variadas complexidades sem ônus técnico ou investimento alto em infra-estrutura e equipamentos. Por este motivo, está sendo desenvolvido no ICMC/USP este trabalho de montagem do laboratório virtual de ensino de redes com a expectativa de propiciar aos docentes ferramentas de experimentação prática dos laboratórios, e aos discentes experiência real ao ligar com softwares reais através da virtualização, experiência essa que seria custosa para ser obtida de outro meio.

GUIA DE REFERÊNCIA DO LINUX COISAS QUE VOCÊ DEVE SABER ANTES DE EXECUTAR OS PRÓXIMOS LABS Documento versão 0.1 Aluno: Paulo Henrique Moreira Gurgel #5634135 Orientado pela Professora Kalinka Regina Lucas Jaquie Castelo Branco Maio / 2010

Conceitos básicos de linux Este documento visa passar orientações básicas sobre o uso do Linux, necessário para estas práticas. Este é um documento que deverá evoluir aos poucos. Qualquer apostila de introdução ao linux provavelmente será melhor do que este documento se você nunca teve nenhum contato. Entretanto este servirá como um guia rápido de referencia caso você queira se aventurar pelos labs de rede imediatamente. Distribuições: O Linux possui varias distribuições, que é como se fossem marcas diferentes de um mesmo produto. Cada usuário encontra algumas vantagens ou desvantagens em suas distribuições. Se você não tiver qualquer preferência ou distribuição, o autor recomenda o uso da distribuição mandriva que é bastante amigável ao iniciante e possui uma excelente compatibilidade com hardware. Porque linux? Disponibilidade de softwares: Os softwares de redes mais usados do mundo são linux. O servidor DNS, o Bind, é nativo para linux. O apache, embora possua versão para Windows, tem desempenho muito superior no linux, assim como o php, que possui mais da metade da programação dinamica em número de sites na web. As versões mais avançadas dos softwares de gerenciamento padrão dos equipamentos de rede não tem versões Windows. O Windows também não possui softwares padronizados e de ampla aceitação para roteamento de pacotes. Finalmente o Windows não implementa a rede nativamente, no nível do núcleo do sistema operacional, mas através de uma camada de software chamada WinSock. Isso causa um overhead no desempenho de comunicação.

Estruturas de pastas: Para nossos estudos, precisamos conhecer as seguintes pastas: /etc é a pasta onde ficam os arquivos de configuração /etc/init.d é a pasta que contem os comandos dos daemons e servidores /var/log em geral, logs estarão 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 temporários e tudo que estiver aqui pode ser apagado a qualquer momento! /hosthome dentro do Netkit, ela equivale a seu home_dir. É o meio mais fácil de enviar um arquivo de dentro de uma máquina virtual para fora. /hostlab é a pasta que contem os arquivos dos labs. No laboratório do CISC, você deve considerar também as seguintes pastas: /export/home/seu_nome essa é sua pasta de usuário no ICMC. Ela tem tamanho limitado por quota. Limpe-a periodicamente. Pelo tamanho limitado ela não é adequada para hospedar os labs que podem ocupar um bom espaço enquanto estiverem em execução.. Comandos importantes: pwd cp mv cd ls rmdir mkdir tar man mostra a pasta corrente, onde você estiver. é o comando utilizado para copiar é o comando utilizado para mover arquivos é o comando para mudar a pasta corrente é o comando para ver os arquivos que estão na pasta corrente é o comando para apagar uma pasta vazia é o comando para criar uma pasta vazia é o comando para (des)compactação e (des)empacotamento de arquivos permite a leitura do manual de um determinado comando ou software Para consultar como utilizar estes e outros comandos: http://focalinux.cipsga.org.br/

INSTALAÇÃO DO NETKIT Documento versão 0.2 Aluno: Paulo Henrique Moreira Gurgel #5634135 Orientado pela Professora Kalinka Regina Lucas Jaquie Castelo Branco Março / 2010

Tutorial de Instalação do Netkit. Importante Este tutorial de instalação do Netkit se baseia no pressuposto que você está familiarizado com o básico de um ambiente Linux. Você deverá saber, através do ambiente bash, criar e administrar pastas e arquivos, bem como utilizar algum editor de modo texto, preferencialmente o vi. Todos os comandos são demonstrados em negrito. Instalação do Netkit O Netkit é distribuído em 3 pacotes, o software base, o kernel e o sistema de arquivos. A última versão deve ser baixada no site http://wiki.netkit.org. Os links dos pacotes utilizados são: 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 são as versões mais recentes no momento do desenvolvimento deste material. O material será atualizado se sair nova versão, mas até que o mesmo seja atualizado será preferível utilizar as versões 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 Após descompactar os arquivos, baixe no site http://www.paulogurgel.com.br/ ou http://www.grad.icmc.usp.br/~paulogur/ o arquivo nk_unnoficial_fix.tar.bz2 e salve-o. Use o comando a seguir para extrair. [seu_nome@suamaquina ~]$ tar -xf nk_unnoficial_fix.tar.gz./bin. O comando tar descompacta o arquivo, extraindo seu conteúdo na pasta corrente. As opções tem o seguinte significado: x permite que o conteúdo do pacote seja extraído 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 irão criar uma pasta chamada netkit em sua pasta de usuário. Supondo que seu usuário 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

O comando export cria variáveis de ambiente que são exigidas por programas para seu funcionamento. A variável NETKIT_HOME é usada pelo netkit para encontrar seus arquivos. A variável MANPATH permite que o man encontre mais entradas de manual. Já a variável PATH permite que os comandos do netkit sejam executados de qualquer pasta. Estes comandos poderão ser acrescidos ao seu arquivo.bash_rc para que sejam executados automaticamente quando você iniciar seu ambiente bash (terminal). Use o editor de sua preferência (kate, gedit gráficos, vi em modo texto) para criar ou editar o arquivo.bash_rc (isso mesmo, o arquivo começa com um ponto, pois é um arquivo oculto). Acrescente as 3 linhas de comando de export nele. Feche e abra o terminal e você não precisará usar sempre estes comandos. A partir da home_dir, 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 saída: > 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 basename date dirname find getopt grep head id kill ls lsof : error: cannot find any executable for this tool ps readlink wc port-helper tunctl : error: cannot find any executable for this tool uml_mconsole uml_switch failed! *** 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. É possível verificar que a saída de exemplo retornou uma falha nos pacotes lsof e tunctl. É necessário instalar estes pacote, bem como os demais listados para que o netkit possa ser executado.

Numa distribuição baseada em Debian, use apt-get install pacotes, onde pacotes é o nome dos pacotes, separado por espaços, para completar a instalação. Neste exemplo apt-get install tunctl lsof. No caso de uma distribuição mandriva, o comando é urpmi tunctl lsof e deve ser executado como root. Uma segunda execução pode mostrar que os pacotes não estão disponíveis no path adequado e a própria mensagem de saída fornece as alternativas para a correção. Ao instalar corretamente todas as dependências, você deverá receber a mensagem: [ READY ] Congratulations! Your Netkit setup is now complete! Enjoy Netkit! Você provavelmente desejará instalar também através de seu gerenciador de pacotes a ferramenta wireshark (anteriormente conhecida como ethereal) que será usada em diversos labs para analisar os pacotes. Verifique se a mesma está instalada e se não tiver, use o gerenciador de pacotes de sua distribuição para instalá-lo. Várias distribuições amigáveis possuem gerenciadores gráficos de pacotes. Você pode usar o gerenciador gráfico para verificar se os pacotes estão instalados. No Mandriva Linux, é a opção adicionar e remover programas. No Ubuntu e outras debian based, é chamado Synaptic; Cada máquina virtual do netkit cria, por padrão, um arquivo de 10Gb em sua pasta de usuário chamado NOMEPC.disk. Os laboratórios que você irá baixar tem uma configuração para que estes arquivos sejam criados na pasta /tmp. Isso permite que seu perfil de usuário, no caso de uso no CISC, não seja sobrecarregado. Entretanto a versão 2.7 do Netkit tem um bug que impede que essa configuração seja efetuada num laboratório. O fix não oficial corrige este bug, além de outros ajustes adequados para o uso do netkit dentro dos laboratórios da USP e na sua máquina pessoal. Entretanto, o mesmo fix ainda não ajusta o comando lclean que é apaga todos os arquivos temporários dos laboratórios, e a exclusão dos mesmos deverá ser feita manualmente.