Utilizando o emulador Common Open Research Emulator CORE































- Slides: 31
Utilizando o emulador Common Open Research Emulator (CORE) Prof. Eduardo Maroñas Monks
Sumário • • • Apresentação Introdução Emulação/Simulação de Redes Emulador CORE Cenários – – Endereçamento e ferramentas básicas Roteamento estático Roteamento dinâmico com OSPF Aplicações • Considerações finais • Referências CORE Network Emulator – prof. Eduardo Maroñas Monks 2
Apresentação • Administrador de Redes – UCPEL, UFPEL (+20 anos) • Docente do curso Superior em Tecnologia de Redes de Computadores (Faculdade SENAC Pelotas) – Curso reconhecido com conceito 4 (MEC) • • Mestre em Ciência da Computação na área de Redes (UFRGS) Doutorando em Ciência da Computação (UFPEL) Certificações: Cisco CCAI, CCNA e LPIC 1 Redes sociais: – Blog – http: //multicaststorm. blogspot. com – Youtube – http: //www. youtube. com/emmonks CORE Network Emulator – prof. Eduardo Maroñas Monks 3
Introdução • Emulação e simulação de redes – Facilidade em criar cenários complexos – Análise de “toda” a rede – Uso de recursos computacionais comuns – Acesso a dispositivos de fabricantes (Cisco, Hauwei) – Aceitos na comunidade acadêmica – Laboratório de redes portátil CORE Network Emulator – prof. Eduardo Maroñas Monks 4
Emulação/Simulação de Redes • Simulação de Redes Uso de modelos abstratos Baseado em eventos Definição da simulação por meio de linguagem de programação – Coleta de dados e geração de gráficos (póssimulação) – Validação de protocolos, planejamento de capacidade, testes de desempenho – Exemplos: NS-2, NS-3, Opnet Network Simulator, Mininet – – – CORE Network Emulator – prof. Eduardo Maroñas Monks 5
Emulação/Simulação de Redes • Emulação de Redes – Uso de modelos baseados em dispositivos e sistemas operacionais reais – Tentativa de reproduzir o ambiente real e em tempo real – Ambiente gráfico e interação do usuário – Laboratório para ensino e aprendizagem de administração/projeto de redes e protocolos – Possibilidade de integração com a rede real – Exemplos: Cisco Packet Tracer, GNS 3, Hauwei e. NSP, CORE, IMUNES CORE Network Emulator – prof. Eduardo Maroñas Monks 6
Emulador CORE • Histórico – Derivado do projeto IMUNES, desenvolvido Curiosidades: na universidade de Zagreb (Croácia), A empresa patrocinado pelas empresas Boeing e Boeing possui duas divisões, Ericsson em 2004 sendo uma de – O projeto CORE (Core Open Research pesquisa na área onde surgiu o Emulator) utiliza a licença BSDmilitar, e é liderado interesse em por Jeff Ahrenholz (Boeing) emuladores de rede – NRL (Naval Research Laboratory), Marinha americana atualmente, hospeda o projeto. A possui diversos projetos de – O projeto CORE, começou em 2008 • Está na versão 4. 8 (2015), versão comunicação 5 em Beta sem fios para fins (2018) militares – Disponível em Linux e Free. BSD CORE Network Emulator – prof. Eduardo Maroñas Monks 7
Emulador CORE • Objetivos – Facilidade de uso • Em poucos cliques, o usuário deve ter uma rede em funcionamento – Eficiência e escalabilidade • Um nó deve ser leve • Ser possível ter dezenas de nós com recursos modestos de hardware – Reuso de software • Não reinventar a roda, usar implementações de código existentes – Foco em emulação de Redes • Oferecer meios de interconectar com redes reais e outros emuladores (atualmente NS 3 e Emane) – Hackable • • O código-fonte é disponível Fácil de entender e modificar CORE Network Emulator – prof. Eduardo Maroñas Monks 8
Emulador CORE • Arquitetura – Baseado em virtualização leve, com o uso de containers • Em Linux: Linux Network Namespaces (netns, LXC) • Em Free. BSD: jails – Isolamento da pilha de rede entre as VMs • Compartilhamento do sistema de arquivos – Cada nó é uma VM Configuração do Apache no node 11 • Cada nó compartilha as aplicações do hospedeiro, com as configurações separadas • Exemplo: /tmp/pycore. 35446/n 11. conf/etc. apache 2 – Utiliza um serviço (core-daemon) para a execução da emulação e uma interface gráfica para montagem dos cenários e interação do usuário • A criação do cenário pode ser feita e executada Arquitetura somente com o core-daemon e a API em Python CORE Network Emulator – prof. Eduardo Maroñas Monks 9
Emulador CORE • Tipos de nós Rede Wireless Hub Host Wireless (Linux) Host (Linux) Switch Roteador CORE Network Emulator – prof. Eduardo Maroñas Monks Conexão com a rede real 10
Emulador CORE • Interface gráfica – Montagem do cenário Seleção Controle da emulação Links Hosts e roteadores Hubs e Switches (camada de Enlace) Marcações e Textos CORE Network Emulator – prof. Eduardo Maroñas Monks 11
Emulador CORE • Interface gráfica – Serviços no nó Configurações do Quagga Serviços e Aplicações Protocolos de roteamento Firewall e VPN CORE Network Emulator – prof. Eduardo Maroñas Monks 12
Emulador CORE • Interface gráfica – Cenário em execução Seleção Parar a emulação Inspecionar os nós Gerar gráficos dos links Criar anotações Executar ping/traceroute entre dois nós Executar comandos quaisquer nos nós CORE Network Emulator – prof. Eduardo Maroñas Monks 13
Emulador CORE • Interface gráfica – Cenário em execução Shell do nó N 1 CORE Network Emulator – prof. Eduardo Maroñas Monks 14
Emulador CORE • Funcionalidades – Criação automática de topologias • Tools Topology generator CORE Network Emulator – prof. Eduardo Maroñas Monks 15
Emulador CORE • Funcionalidades – Uso de papel de parede • Canvas Wallpaper CORE Network Emulator – prof. Eduardo Maroñas Monks 16
Emulador CORE • Funcionalidades – Customização dos nós • Session Node types É possível criar nós customizados, a partir dos tipos existentes. CORE Network Emulator – prof. Eduardo Maroñas Monks 17
Emulador CORE • Funcionalidades – Conexão entre cenários em hospedeiros distintos • Link-layer nodes tunnel tool Dica: modificar o arquivo /etc/core. conf para permitir conexões remotas (listenaddr = 0. 0) CORE Network Emulator – prof. Eduardo Maroñas Monks 18
Emulador CORE • Funcionalidades – Uso distribuído • Session Emulation Servers Dica: modificar o arquivo /etc/core. conf para permitir conexões remotas (listenaddr = 0. 0) CORE Network Emulator – prof. Eduardo Maroñas Monks 19
Emulador CORE • Funcionalidades – Gerador de tráfego • Tools Traffic CORE Network Emulator – prof. Eduardo Maroñas Monks 20
Emulador CORE • Funcionalidades – Exportar o cenário em um script Python • File Export Python script CORE Network Emulator – prof. Eduardo Maroñas Monks 21
Emulador CORE • Instalação – Instruções disponíveis em http: //downloads. pf. itd. nrl. navy. mil/docs/corehtml/install. html • Além dos pré-requisitos, devem ser instalados os pacotes do core-daemon e core-gui • Os demais serviços e aplicações devem ser instalados no host hospedeiro (Quagga, Openvpn, Wireshark, Iperf e etc. ) – Pacotes e VM (Vmware Player e Virtual Box), disponíveis em http: //downloads. pf. itd. nrl. navy. mil/core/ – Na VM, usuário core e senha core CORE Network Emulator – prof. Eduardo Maroñas Monks 22
Emulador CORE • VM do minicurso – CORE versão 4. 8 – Disponível em Meus. Documentos – Vmware Workstation Player 12 – Na VM, usuário core e senha core – Roteiros e cenários disponíveis na pasta Roteiros, dentro da VM CORE Network Emulator – prof. Eduardo Maroñas Monks 23
Cenários • Endereçamento e ferramentas básicas CORE Network Emulator – prof. Eduardo Maroñas Monks 24
Cenários • Roteamento estático CORE Network Emulator – prof. Eduardo Maroñas Monks 25
Cenários • Roteamento dinâmico com o protocolo OSPF CORE Network Emulator – prof. Eduardo Maroñas Monks 26
Cenários • Aplicações CORE Network Emulator – prof. Eduardo Maroñas Monks 27
Considerações finais • Emuladores de redes são apenas ferramentas – Deve haver conhecimento por parte do operador • CORE possui algumas limitações: – VLANs – Limitações para execução de aplicações (customização) – Documentação – Alguns bugs na interface CORE Network Emulator – prof. Eduardo Maroñas Monks 28
Considerações finais • CORE é uma ferramenta com diversas funcionalidades interessantes – Uso de aplicações reais em ambiente emulado – Fácil uso e montagem de cenários Emuladores de redes são – Possibilidade de ser adaptado e ferramentas essenciais para o expandido (código-fonte aberto) aprendizado. – Pouco consumo de recursos O CORE é uma das melhores computacionais opções! – Network in a box CORE Network Emulator – prof. Eduardo Maroñas Monks 29
Referências • • • • Open Source Network Simulators - http: //www. brianlinkletter. com/open-sourcenetwork-simulators/ Network Simulators - http: //nil. uniza. sk/network-simulation-and-modelling/networksimulators-list CORE (Common Open Research Emulator) http: //www. nrl. navy. mil/itd/ncs/products/core Quagga routing software suite. Disponível em: http: //www. nongnu. org/quagga/ GNS 3 - Dynamips. Disponível em: http: //www. gns 3. net/dynamips/ KUROSE, J. F. ; ROSS, K. W. Redes de Computadores e a Internet: uma abordagem top-down. 5ª edição. São Paulo: Addison Wesley, 2013. CCNA ICND 2 : guia oficial de certificação do exame. ODOM, Wendell Rio de Janeiro Alta Books, 2008. NEMETH, Evi. Manual Completo do Linux: guia do Administrador. 2. ed. São Paulo. Pearson Prentice Hall, 2007. MORIMOTO, Carlos E. Servidores Linux, Guia Prático. Porto Alegre. GDH Press e Sul Editores, 2008. FILHO, João Eriberto Mota. Análise de Tráfego em Redes TCP/IP - Utilize tcpdump na análise de tráfegos em qualquer sistema operacional. Editora Novatec, 2013. SHIMONSKI, Robert. Wireshark Guia Prático - Análise e resolução de problemas de tráfego em rede. Editora Novatec, 2013. Equipe IPv 6. br. Laboratório de IPv 6 - Aprenda na prática usando um emulador de redes. Editora Novatec, 2015. BRITO, Samuel Henrique Bucke. Laboratórios de Tecnologias Cisco em Infraestrutura de Redes - 2ª Edição. Editora Novatec, 2014. CORE Network Emulator – prof. Eduardo Maroñas Monks 30
Perguntas FACULDADE DE TECNOLOGIA SENAC PELOTAS Rua Gonçalves Chaves, 602 Pelotas - RS (53) 3225 -6918 fatecpelotas@senacrs. com. br Contato: Eduardo Monks (emmonks@gmail. com) Blog: http: //multicaststorm. blogspot. com Canal do Youtube: http: //www. youtube. com/emmonks CORE Network Emulator – prof. Eduardo Maroñas Monks 31