dynamips, dynagen e gns3. emuladores para …jamhour/rss/tccrss09a/jefferson... · os candidatos...

22
Dynamips, Dynagen e GNS3. Emuladores para dispositivos de rede. Jefferson Rosa. Curso de Especialização em Redes e Segurança de Sistemas. Pontifícia Universidade Católica do Paraná. Curitiba, 17 Novembro de 2010. Resumo. O artigo descreve como os estudantes e profissionais da área de redes de computadores poderão criar laboratórios virtuais utilizando imagens para emular dispositivos de redes como roteadores. Os candidatos que estão estudando para as certificações Cisco Certified Network Associate, Cisco Certified Network Professional ou Cisco Certified Internetwork Expert sabem que as provas possuem cenários interativos sendo imprescindível o acesso prático nos equipamentos de networking. Atualmente esse acesso pode ser feito de três formas: adquirindo um roteador, comprando simuladores ou utilizando emuladores de imagens para criar cenários de redes.

Upload: vanngoc

Post on 09-Aug-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Dynamips, Dynagen e GNS3.

Emuladores para dispositivos de rede.

Jefferson Rosa.

Curso de Especialização em Redes e Segurança de Sistemas.

Pontifícia Universidade Católica do Paraná.

Curitiba, 17 Novembro de 2010.

Resumo.

O artigo descreve como os estudantes e profissionais da área de redes de computadores

poderão criar laboratórios virtuais utilizando imagens para emular dispositivos de redes

como roteadores.

Os candidatos que estão estudando para as certificações Cisco Certified Network Associate,

Cisco Certified Network Professional ou Cisco Certified Internetwork Expert sabem que as

provas possuem cenários interativos sendo imprescindível o acesso prático nos equipamentos

de networking.

Atualmente esse acesso pode ser feito de três formas: adquirindo um roteador, comprando

simuladores ou utilizando emuladores de imagens para criar cenários de redes.

1 - Introdução.

A certificação Cisco Certified Network Associate é a primeira certificação da Cisco Systems,que está dividido em quatro módulos.

1) Noções básicas de redes.2) Conceitos e protocolo de encaminhamento.3) LAN switching e wireless.4) Acesso à WAN.

Para os candidatos que desejam fazer o exame, a criação dos cenários práticos são essenciaispara o sucesso na aprovação.Esse artigo tem como objetivo demonstrar a instalação e a utilização dos softwaresemuladores conhecidos como Dynamips, Dynagen e GNS3, utilizando o sistema operacionalLinux Fedora 11 de uma forma totalmente gratuita.Para criação dos cenários práticos, serão utilizados três roteadores denominados como R1, R2e R3 interconectados via conexões seriais.No artigo serão demonstrados tutoriais dos cenários práticos e como adquirir uma imagem doroteador cisco série 3620.O documento está organizado da seguinte forma:Seção 2 programas emuladores.Seção 3 sistema operacional e softwares.Seção 4 instalação Dynagen e Dynamips.Seção 5 cenário prático.Seção 6 instalação do GNS3.Seção 7 Avaliação dos emuladores Dynamips, Dynagen e GNS3 .Seção 8 conclusão.

2 - Programas Emuladores.

Os emuladores Dynamips, Dynagen e GNS3 são softwares que reproduzem as funções de umdeterminado ambiente. No caso desse trabalho um ambiente de redes de computadores.O Dynamips é um software utilizado para emular dispositivos de redes, como os roteadoresda Cisco séries 1700, 2600, 3600, 7200, permitindo que estudantes e profissionais executemtestes sem a necessidade de dispositivos de redes reais. [1]O Dynagen é um software front-end, baseado em texto que usa um hypervisor paracomunicação com Dynamips. Utiliza um método simples de arquivo que permite especificaras configurações de hardware e a interconexão de redes, fornecendo uma interface paragerenciar a console dos dispositivos. [2]O Graphical Network Simulador GNS3 é um software que permite criar topologias de redesatravés de uma interface gráfica. [3]Para os candidatos dos exames Cisco Certified Network Associate, Cisco Certified NetworkProfessional ou Cisco Certified Internetwork Expert são programas ideais já que podemosconfigurar e “estourar” os roteadores sem termos maiores problemas.

3 - Sistema Operacional e Softwares.

Sistema operacional:• Linux Fedora 11 Leonidas.

Softwares:• Dynamips 0.2.8-RC2 .• Dynagen 0.11.0.• GNS3 GNS3-0.7.2

3.1 - Arquivo de configuração.

O Dynagen utiliza o arquivo de configuração chamado simple1.net para armazenar asconfigurações dos dispositivos e interconexões de rede.O arquivo de configurações está localizado no diretório /opt/Dynamips/dynagen-0.10.1/sample_labs/simple1, seguindo as seguintes seções.

[] localhost.• Especifica o host que está sendo executado pelo Dynamips.

[[3620]].• Essa seção define a instância do roteador.

Por padrão o Dynagen vem configurado para trabalhar com a imagem do roteadorCisco série 7200.

Imagem = /opt/Dynamips/images/c3620-is-mz.122-32.bin• Identifica o caminho do diretório onde está armazenada a imagem que será executada peloDynamips.

Memória RAM.• Quantidade de memória utilizada para executar a imagem do roteador pelo Dynamips.

[[Router [R1]]• Identifica o nome do roteador que será utilizado para o cenário prático.

Model = 3620• Identifica o modelo da instância que deverá ser inserida em cada roteador.

S1/0 = R2 S1/0• Permite a conexão serial entre as interfaces dos roteadores.

O arquivo de configuração simple1.net após ser editado deverá ser configurado conforme omodelo apresentado abaixo, para criação e conexão entre três roteadores.

[localhost][[3620]]image = /opt/Dynamips/images/c3620-is-mz.122-32.binram = 256

[[router R1]]

model=3620s1/0 = R2 s1/0

[[router R2]]model=3620

[[router R3]]model=3620

3.2 - Recursos.

O Dynamips por ser um emulador de imagem utiliza uma grande quantidade de memória eCPU, porém existem artifícios para reduz o consumo conforme será explicado na Seção 5cenário prático.

3.3 - Console de Serviços.

O Dynagen possui uma interface que permite visualizar uma série de comandos que a consolesuporta para acessar a imagem do roteador.Nesse artigo serão explicados os comandos básicos para montar os cenários propostos.

= > list• Lista os comandos e a quantidade de instância dos roteadores que estão em funcionando.

= > start R1.• Inicia instância do roteador R1.

= > stop R1• Finaliza instância do roteador R1.

= > idlepc get R1• Comando utilizado para verificar um valor de instância que o sistema fornece pararedução da carga da CPU.

= > idlepc save R1• Salva as alterações dos valores da instância para o roteador R1.

= > telnet R1• Acessa a imagem do roteador chamado R1.

4 - Instalação Dynamips e Dynagen. [4], [5]

Nessa seção serão demonstrados os procedimentos para instalação dos emuladores, osarquivos Dynamips e Dynagen poderão ser baixados nos endereços indicados.

http://www.ipflow.utc.fr/blog/ Dynamips 0.2.8-RC2.http://sourceforge.net/projects/dyna-gen/files/Dynagen 0.11.0.

[root@localhost ~]# mkdir /opt/Dynamips[root@localhost Dynamips]# tar zxvf dynagen-0.11.0.tar.gz[root@localhost]# cd /opt/Dynamips/dynagen-0.11.0

Verifique no arquivo README.txt a versão do Dynamips que é requerida para está versão doDynagen.

[root@localhost dynagen-0.11.0]# less README.txt

This version of Dynagen requires at least version 0.2.8-RC2 of Dynamips

Deveremos alterar a permissão do arquivo Dynamips-0.2.8-RC1-x86.bin e criar links entre odiretório sbin e os arquivos Dynamips-0.2.8-RC1-x86.bin e Dynagen -0.10.1.[root@localhost Dynamips]# chmod 755 Dynamips-0.2.8-RC1-x86.bin[root@localhost Dynamips]# cd /usr/sbin[root@localhost sbin]# ln -s /opt/Dynamips/Dynamips-0.2.8-RC1-x86.bin Dynamips[root@localhost sbin]# ln -s /opt/Dynamips/dynagen-0.10.1/dynagen dynagen

Agora criaremos um diretório para armazenarmos a imagem do roteador Cisco série 3620 quepode baixada no site http://www.ccna.com.br, disco virtual IOS.

[root@localhost sbin]#mkdir /opt/Dynamips/images[root@localhost sbin]#cd /opt/Dynamips/images[root@localhost images]# tar zxvf c3620-is-mz.122-32.bin

Para executar o Dynamips é preciso configurar o arquivo simple1.net que está no diretório/opt/Dynamips/dynagen-0.10.1/sample_labs/simple1/

[root@localhost images]# cd /opt/Dynamips/dynagen-0.10.1/sample_labs/simple1/[root@localhost simple1]# vi simple1.net

O firewall deverá ser desativado para permitir acesso na porta de console do roteador virtual.

[root@localhost /]# service iptables stop

Agora o Dynamips e o Dynagen estão prontos para serem executados, podemos acessar osroteadores utilizando o comando telnet, IP loopback e o endereço de console.

[root@localhost dynagen-0.10.1]# Dynamips -H 7200 &[root@localhost simple1]# dynagen simple1.net

[root@localhost]# telnet 127.0.0.1 2000

Observação pressione enter para acessar a imagem.Would you like to enter the initial configuration dialog? [yes/no]: no

4.1 - Configuração Interface Lógica. [4]

Como visto na seção 4 o Dynagen permite executar conexões via porta de console.Nessa seção iremos configurar uma interface virtual para acessar o roteador R1.Para conectarmos a interface virtual do computador TAP0 com a interface ethernet doroteador, precisamos editar o arquivo de configuração simple1.net e incluir os parâmetros deconexão.

[[router R1]]model=3620f0/0 = NIO_tap:tap0

Incluído os parâmetros no arquivo de configuração simple1.net, teremos que instalar econfigurar uma interface virtual no Linux.

[root@localhost]#yum search tunctl[root@localhost]# yum install tunctl.i586[root@localhost]# modprobe tun[root@localhost]# tunctl[root@localhost]# ifconfig tap0 10.10.10.1 netmask 255.255.255.0 up[root@localhost]# ifconfig

Instalado e configurado a interface virtual vamos inicializar o Dynamips e acessar a imagemdo roteador R1.

[root@localhost]#Dynamips –H 7200 &

=> dynagen simple1.net

[root@localhost]# telnet 127.0.0.1 2000

Acessando a imagem do roteador R1 vamos configurar a interface f0/0, permitindo acomunicação com a interface virtual TAP0 do Linux.

R1> enableR1# configure terminalR1(config)# interface f0/0R1(config-if)# ip address 10.10.10.2 255.255.255.0R1(config-if)# no shutdownR1(config-if)# exitR1(config)#exitR1# show running-configR1# ping 10.10.10.1

Para acessar o roteador R1 pela porta ethernet, devemos habilitar a sessão telnet e restringir oacesso por senha.

R1# configure terminalR1(config)# enable secret ciscoR1(config)# line vty 0 4R1(config-line)# password ciscoR1(config-line)# login[root@localhost]# telnet 10.10.10.2

4.2 - Configuração Interface Física. [4]

Também podemos configurar a interface física para conectarmos o Dynamips pela rede local,permitindo que remotamente seja acessado o roteador R1.Para conectarmos a interface física do computador com a interface ethernet do roteador,precisamos editar o arquivo de configuração simple1.net e incluir os parâmetros de conexão.

[[router R1]]model=3620f0/0 = NIO_gen_eth:eth0

Incluído os parâmetros no arquivo de configuração simple1.net, temos que configurar ainterface física local e o default gateway no Linux.

[root@localhost]# ifconfig eth0 0.0.0.0[root@localhost]# route add default gw 192.168.1.1[root@localhost]# netstat -rn

[root@localhost]# ifconfig

Observe que a interface eth0 não possui endereço IP configurado, a razão para remover o IPda interface eth0 é que o Linux somente vai usar a interface que está enviando o tráfego.

[root@localhost jefferson]#Dynamips –H 7200 &

=> dynagen simple1.net

[root@localhost]# telnet 127.0.0.1 2000

Acessando a imagem do roteador R1 vamos configurar a interface f0/0, permitindo acomunicação com a interface física.

R1# configure terminal.R1(config)# int f0/0R1(config-if)# no shutdownR1(config-if)# ip address 192.168.1. 2 255.255.255.0R1(config-if)# exitR1(config)# exitR1# ping 192.168.1.1

Com essa configurações o roteador R1 possui comunicação com a rede local.

5 – Cenário Prático. [6]

No cenário prático proposto para o artigo serão configurados três roteadores denominadoscomo R1, R2 e R3 que serão conectados via conexões seriais.Os roteadores poderão ser acessados pelas interfaces de console, virtual ou física permitindo aconfiguração e execução de testes de conectividades.

5.1 – Mapeamento de Seriais.

Serão executados os mapeamentos das seriais S1/0 e S1/1 para comunicação entre osroteadores R1, R2 e R3.

Edite o arquivo de configuração sample1.net para mapear as interfaces entre os roteadores.

Mapeamento R1.R1 serial 1/0 <=> R2 serial 1/0.R1 serial 1/1 <=> R3 serial 1/1.

Mapeamento R2.R2 serial 1/1 <=> R3 serial 1/0.

Mapeamento R3.Não é necessário mapear as interfaces porque as conexões já estão feitas no R1 e R2.

Configuração do arquivo sample1.net.

[localhost][[3620]]image = /opt/Dynamips/images/c3620-is-mz.122-32.binram = 256

[[router R1]]model=3620f0/0 = NIO_tap:tap0s1/0 = R2 s1/0s1/1 = R3 s1/1

[[router R2]]model=3620s1/1 = R3 s1/0

[[router R3]]model=3620

Após mapear as conexões entre as interfaces, inicialize o servidor Dynamips e execute oarquivo simple1.net.Na console execute o comando list e verifique se as instâncias dos roteadores estão sendoexecutadas.

=> list

5.2 – Otimização de Recursos.

O Dynamips consome uma grande quantidade de memória e cpu, também permite que sejautilizados meios para otimizar os recursos utilizando o comando idlepc.

Devemos executar os seguintes comandos na console do Dynagen para otimizar os recursos.

=> stop R2=> stop R3

[root@localhost]# telnet 127.0.0.1 2000

Pressione CRTL-C para ir direto a console do roteador e não tecle ENTER, deixando os logsda console aparecerem.Na console do Dynagen digite o comando que ira buscar um valor que otimize a utilização daCPU.

=> idlepc get R1

A opção marcada com * menor valor deverá ser escolhida.

* 1: 0x60451d8c [59]2: 0x60451e0c [37]3: 0x604231fc [68]4: 0x6042322c [71]* 5: 0x6042438c [54]6: 0x6036cc18 [80]7: 0x6036cc78 [59]8: 0x6036ccac [26]9: 0x6036ccbc [56]10: 0x60424e08 [57]

Enter the number of the idlepc value to apply [1-10] or ENTER for no change: 5Applied idlepc value 0x6042438c to R1

O valor idlepc deverá ser salvo para a instância dos roteadores R1, R2 e R3.

=> idlepc save R1=> start R2=> idlepc get R2 0x6042438c=> idlepc save R2=> start R3=> idlepc get R3 0x6042438c=> idlepc save R3

Não encerre a sessão do Dynagen e Dynamips.

5.3 – Configuração do roteadores (R1)

Após mapeado as interfaces seriais e otimizado os recursos de memória e cpu, devemosexecuta a configuração lógica entre os roteadores.A interface virtual deverá ser configurada para conexão com a porta ethernet do roteador R1

[root@localhost jefferson]# ifconfig tap0 10.10.10.1 netmask 255.255.255.0[root@localhost]# telnet 127.0.0.1 2000

Configurando interface fastEthernet f0/0 com TAP0.R1> enableR1# configure terminalR1(config)# interface f0/0R1(config-if)# ip address 10.10.10.2 255.255.255.0R1(config-if)# no shutdownR1(config-if)# exitR1(config)#exitR1# ping 10.10.10.1

Configurando interface R1 serial 1/0 <=> R2 serial 1/0.R1>enableR1#conf terminalR1(config)#interface serial 1/0R1(config-if)#ip address 192.168.10.1 255.255.255.0R1(config-if)#no shutdownR1(config-if)#encapsulation pppR1(config-if)#exitR1(config)#ip route 192.168.12.0 255.255.255.0 192.168.10.2R1(config)#exit

Configurando interface R1 serial 1/1 <=> R3 serial 1/1.R1>enableR1#conf terminalR1(config)#interface serial 1/1R1(config-if)#ip address 192.168.13.1 255.255.255.0R1(config-if)#no shutdownR1(config-if)#encapsulation pppR1(config-if)#exitR1(config)#ip route 192.168.13.0 255.255.255.0 192.168.13.2R1(config)#exit

Liberando Acesso Telnet para o Roteador R1.R1# configure terminalR1(config)# enable secret ciscoR1(config)# line vty 0 4R1(config-line)# password ciscoR1(config-line)# loginR1(config)#exit

5.4 – Configuração do Roteadores (R2)

[root@localhost]# telnet 127.0.0.1 2001

Configurando interface R2 serial 1/0 <=> R1 serial 1/0.R2>enableR2#conf terminalR2(config)#interface serial 1/0R2(config-if)#ip address 192.168.10.2 255.255.255.0R2(config-if)#no shutdownR2(config-if)#encapsulation pppR2(config-if)#exitR2(config)#ip route 192.168.10.0 255.255.255.0 192.168.10.1R2(config)#exit

Configurando interface R2 serial 1/1 <=> R3 serial 1/0.R2(config)#interface serial 1/1R2(config-if)#ip address 192.168.12.1 255.255.255.0R2(config-if)#no shutdownR2(config-if)#encapsulation pppR2(config-if)#exitR2(config)#ip route 192.168.13.0 255.255.255.0 192.168.12.2R2(config)#exit

Liberando Acesso Telnet para o Roteador R2.R2# configure terminalR2(config)# enable secret ciscoR2(config)# line vty 0 4R2(config-line)# password ciscoR2(config-line)# loginR2(config)#exit

5.5 – Configuração do Roteadores (R3)[root@localhost]# telnet 127.0.0.1 2001

Configurando interface R3 serial 1/0 <=> R2 serial 1/1R3>enableR3# configure terminalR3(config)# interface serial 1/0R3(config-if)# ip address 192.168.12.2 255.255.255.0R3(config-if)# no shutdownR3(config-if)# encapsulation pppR3(config-if)# exitR3(config)# ip route 192.168.10.0 255.255.255.0 192.168.13.1R3(config)#exit

Configurando interface R3 serial 1/1 <=> R1 serial 1/1.R3(config)#interface serial 1/1R3(config-if)#ip address 192.168.13.2 255.255.255.0R3(config-if)#no shutdownR3(config-if)#encapsulation pppR3(config-if)#exitR3(config)#ip route 192.168.12.0 255.255.255.0 192.168.12.1R3(config)#

Liberando Acesso Telnet para o Roteador R3.R3# configure terminalR3(config)# enable secret ciscoR3(config)# line vty 0 4R3(config-line)# password cisco

R3(config-line)# loginR2(config)#exit

5.6 – Execução de teste entre os roteadores.

Configurado os roteadores R1, R2 e R3 teremos que confirmar se existe comunicação.Utilizaremos os comandos ping e telnet para verificar a conectividade entre os roteadores.

Roteador R1R1> enableR1# ping 10.10.10.1 => TAP0R1# ping 192.168.10.2 => serial 1/0 R2R1# telnet 192.168.10.2 => serial 1/0 R2R1# ping 192.168.13.2 => serial 1/1 R3R1# telnet 192.168.13.2 => serial 1/0 R3

Roteador R2R2>enableR2# ping 192.168.10.1 => serial 1/0 R1R2# telnet 192.168.10.1 => serial 1/0 R1R2# ping 192.168.12.2 => serial 1/0 R3R2# telnet 192.168.12.2 => serial 1/0 R3

Roteador R3R2>enableR3# ping 192.168.12.1 serial 1/1 R2R3# telnet 192.168.12.1 serial 1/1 R2R3# ping 192.168.13.1 serial 1/1 R1R3# telnet 192.168.13.1 serial 1/1 R1

6 - Instalação GNS3.

Para instalar o software devemos instalar e configurar os pacotes PyQt4, Dynamips e oGNS3.

[root@localhost] # yum install PyQt4.

Os arquivos Dynamips e Gns3 poderão ser baixados nos endereços indicados.http://www.ipflow.utc.fr/blog/ Dynamips 0.2.8-RC2.http://www.gns3.net/ GNS3-0.7.2-src.tar.gz

Deveremos descompactar e alterar as permissões do pacote do GNS3 e mover o Dynamipspara o diretório GNS3-0.7.2-src.

[root@localhost opt]# tar zxvf GNS3-0.7.2-src.tar.gz[root@localhost opt]# chmod 755 -r GNS3-0.7.2-src[root@localhost opt]# cd GNS3-0.7.2-src[root@localhost Dynamips]# cp Dynamips-0.2.8-RC1-x86.bin /opt/GNS3-0.7.2-src

6.1 - Configuração GNS3.

Após instalado executar e configurar o GNS3 arrastando os roteadores r1,r2 e r3 para área detrabalho.

[root@localhost GNS3-0.7.2-src]# ./gns3

Para configurar o GNS3, ir em editar preferências, Dynamips e identificar o diretório ondeestá o programa Dynamips.

Teremos que adicionar a imagem do roteador, em editar imagens IOS identificar o diretórioonde está localizada a imagem.

Criar e inicializar as conexões seriais entre os roteadores.

Finalizando o cenário prático devemos acessar os roteadores via portas de console ,executarmos as configurações dos roteadores r1, r2 e r3 conforme foi explicado na seção 5

root@localhost]# telnet localhost 2000

7 - Avaliação do Dynamips, Dynagen e GNS3

Os emuladores como Dynamips, Dynagen e o GNS3 permitem que sejam criados complexoscenários de redes virtuais com algumas vantagens e desvantagens:

Vantagens.• Gratuito.• Simplicidade para instalar e configurar os arquivos.• Executa diversos tipos de imagem de roteadores em diferentes plataformas como Cisco eJuniper

Desvantagens.• Quanto maior a complexidade do cenário maior será a exigência de hardware.• Imagens dos roteadores não são gratuitas.• Quando alterado o arquivo de configuração é necessário reiniciar o serviço.

8 - Conclusão.

Nesse artigo verifiquei que os emuladores se tornaram uma realidade na área da tecnologia.Emuladores que podem executar vários serviços, programas ou até mesmo emular imagens deequipamentos.Alguns centros especializados em treinamento para certificações, já disponibilizamlaboratórios virtuais utilizando o Dynagen.Concluí que é possível, de forma simples criar cenários de alta complexidade utilizandoemuladores de imagens freeware.Devido aos altos valores para comprar um equipamento, os emuladores de imagens são umaboa alternativa para criar laboratórios virtuais para estudos.

Seção 9 - Referências.

[1] Dynamips / Dynagen Tutorial. Disponível em http://dynagen.org/tutorial.htm

[2] Dynagen The network configuration. Disponível em http://dynagen.org/

[3] GNS3 Graphical Network Simulador. Disponível em http://www.gns3.net/

[4] Cisco – Using Dynamips as your personal Internet router. Disponível em

http://www.blindhog.net/cisco-using-Dynamips-your-personal-internet-router/

[5] Blindhog. Disponível em http://www.blindhog.net/tutorials/dynagen-linux-install.htm

[6] Blog Cisco Certified. Disponível em http://blog.ccna.com.br/

[7] http://www.4shared.com/account/home.jsp