quarta-feira, 29 de abril de 2015

Instalação Manual do Emulador GNS3 no Linux

Olá Pessoal.

Neste artigo irei apresentar ao leitor os procedimentos para instalação da nova versão do emulador GNS3 1.3.2 no Linux Ubuntu (Debian) de maneira manual, através dos pacotes disponibilizados para download. Atualmente esse procedimento é importante porque a versão mais recente do software ainda não está atualizada nos repositórios APT, embora haja comentários nas listas de discussão de que em breve o repositório deve ser atualizado com uma versão mais recente, ainda sem nenhuma previsão. A propósito, a instalação do GNS3 via PPA é bastante simples de ser realizada através dos comandos abaixo. O problema atual deste procedimento é que o usuário irá instalar a antiga versão 0.8.7 do software, compatível apenas com os laboratórios legados que possuem extensão .net

sudo add-apt-repository ppa:gns3/ppa
sudo apt-get update
sudo apt-get install dynamips gns3

Pois bem, vamos aos procedimentos para instalar manualmente a nova versão 1.3.2. O primeiro passo é o usuário acessar a plataforma GNS3 Jungle (www.gns3.com) para baixar o arquivo fonte da versão mais recente do emulador, que atualmente é o arquivo denominado GNS3-1.3.2.source.zip. Uma observação desnecessária é que para acessar a plataforma o usuário deverá cadastrar uma conta ou fornecer suas credenciais. ;-)



Antes de manipular o arquivo baixado, é necessário instalar uma série de dependências relacionadas ao GNS3 (primeiro bloco) e ao Dynamips (segundo bloco), através dos seguintes comandos:

sudo apt‐get install python3‐setuptools
sudo apt‐get install python3‐pyqt4
sudo apt‐get install python3‐ws4py
sudo apt‐get install python3‐zmq
sudo apt‐get install python3‐tornado
sudo apt‐get install python3‐netifaces

sudo apt-­get install cmake
sudo apt‐get install libelf‐dev
sudo apt‐get install uuid‐dev
sudo apt‐get install libpcap‐dev

Depois de baixado o pacote com os arquivos fonte, o usuário pode utilizar qualquer ferramenta de sua preferência para extrair os arquivos para um diretório qualquer. A extração deste arquivo vai criar um diretório denominado GNS3-1.3.2.source com os seguintes arquivos:

  • dynamips-0.2.14.zip
  • gns3-gui-1.3.2.zip
  • gns3-server-1.3.2.zip
  • iouyap-0.95.zip
  • vpcs-0.6.zip

Cada um destes arquivos zipados é um componente importante da suíte GNS3, por isso estarei tratando individualmente a instalação de cada um deles, destacando que os blocos de comandos abaixo devem ser realizados a partir do diretório GNS3-1.3.2.source onde foram extraídos os arquivos baixados na primeira etapa. O usuário pode utilizar sua conta tradicional de usuário, sendo que as execuções que requerem privilégios administrativos iniciam com "sudo".

###--- Instalação do Dynamips
cd GNS3-­1.2.1-­source
unzip dynamips-­0.2.14.zip
cd  dynamips­-0.2.14
mkdir build
cd build
cmake ..
make
sudo make install
sudo setcap cap_net_admin,cap_net_raw=ep /usr/local/bin/dynamips

###---Instalação do GNS3 Server
unzip gns3­-server-­1.2.1.zip
cd gns3­-server-­1.2.1
sudo python3 setup.py install

###--- Instalação do GNS3 GUI (Interface Gráfica)
unzip gns3­-gui-­1.2.1.zip
cd gns3­-gui­-1.2.1
sudo python3 setup.py install

Até este ponto o GNS3 já está instalado e preparado para emular as imagens dos roteadores Cisco a partir do emulador Dynamips. Agora basta executar o GNS3 através do comando gns3, destacando que ao executar o aplicativo no Ubuntu o usuário pode fixar facilmente seu ícone no menu lateral.

Na sequência iremos instalar os demais emuladores que fazem parte da ferramenta para que ela possa ser totalmente explorada. Repare no destaque em amarelo que durante a instalação do IOU é necessário que o usuário tenha uma conta no GitHub para conseguir sincronizar o diretório /iniparser.

###--- Instalação do IOU (+ Dependências)
sudo apt­-get install libssl1.0.0:i386
sudo ln ­-s /lib/i386-­linux-­gnu/libcrypto.so.1.0.0 /lib/libcrypto.so.4
sudo apt-­get install bison
sudo apt­-get install flex
sudo apt­-get install git
git clone http://github.com/ndevilla/iniparser.git
cd iniparser
make
sudo cp libiniparser.* /usr/lib/
sudo cp src/iniparser.h /usr/local/include
sudo cp src/dictionary.h /usr/local/include
cd ..
unzip iouyap-­0.95.zip
cd iouyap­-0.95
sudo make install
sudo cp iouyap /usr/local/bin

###--- Instalação do VPCS
unzip vpcs­-0.6.zip
cd vpcs-­0.6/src
./mk.sh
sudo cp vpcs /usr/local/bin/

Pronto! Depois de instalado o software, o diretório GNS3-1.3.2.source utilizado durante os procedimentos já pode ser removido. Há menos de 2 dias escrevi um post sobre a versão 1.3.1 e hoje já estamos discutindo a instalação da versão 1.3.2, por isso fiquem sempre atentos às novas versões disponibilizadas na GNS3 Jungle.

Samuel.

11 comentários:

  1. * ATENÇÃO *

    Os laboratórios avançados da segunda edição do livro "Laboratórios de Tecnologias Cisco em Infraestrutura de Redes" já foram convertidos para o novo formato .gns3 e atualizados no repositório do blog. Fiquem atentos...

    ResponderExcluir
    Respostas
    1. Samuel,
      Quero fazer a instalação do GNS3, o procedimento ainda é o mesmo?

      Excluir
  2. Parabéns Samuel, ótimo tutorial.
    Estou estudando para o 200-120 e gostaria de saber qual o melhor roteador Cisco para emular com o GNS3. Antecipadamente agradeço ;)

    ResponderExcluir
    Respostas
    1. Você pode usar as imagens que estão disponíveis no blog e que utilizo no meu livro "Laboratórios de Tecnologias Cisco" (plataformas 3600 e 7200). Apenas fique atento que o suporte às features IPv6 somente estão disponíveis a partir do IOS 15.

      Excluir
  3. eae, estou com a 0.8.7 ainda notei que o dynamips é o mesmo assim como alguns dos outros pacotes sinceramente acho que só o gns3 server mudou algo e o IO, estranho quemeu ubuntu não acha alguns pacotes....

    root@TuX:/# apt-get install libelf‐dev
    Lendo listas de pacotes... Pronto
    Construindo árvore de dependências
    Lendo informação de estado... Pronto
    E: Impossível encontrar o pacote libelf‐dev

    ResponderExcluir
  4. tento instalar e me da este erro:
    Please install the PyQt5.QtSvg module

    ResponderExcluir