Dynamips + Dynagen - Emulando Vlans com router on stick no Linux

Neste pequeno artigo, pretendo mostrar na prática como criar um ambiente no Dynamips/Dynagem onde trabalha-se com switches e vlans, fazendo com que o roteamento entre as vlans seja feito pelo hospedeiro Linux.

[ Hits: 37.766 ]

Por: Rodrigo Capelini em 03/08/2009


Por que implementar isso?



Bem, como eu sou um cara idealista que gosto bastante do que faço, vou colocar como primeiro motivo, o prazer em ver essa coisa rodar, que é bem bacana.

No aspecto mercadológico, sabemos que "cisco" é bastante usado por aí, e certificações deles são um diferencial, e o que vamos fazer aqui é um bom primeiro passo para quem quer tirar a primeira certificação do mundo cisco CCNA, já que podemos montar vários tipos de ambiente para estudar os quesitos requisitados pelo exame.

No aspecto técnico, Vlans são bacanas, pois confinam os domínios de broadcast dando performance para a rede, e para a administração é uma mão na roda, pois segmenta a rede e organiza nomeando cada Vlan, sem contar na segurança, pois poderá gerenciar seus usuários, departamentos ou servidores em cada Vlan.

Agora, sabendo disso, vamos começar?

O que vamos precisar

Muitos sabem que o Dynamips/Dynagen roda em Linux, Unix, Windows etc, mas nesse artigo usaremos o Linux, distro Ubuntu versão 9.04, Dynamips versão 0.2.8-RC2-x86, Dynagen versão 0.11.0, uma imagem de ios que suporte o módulo NM-16ESW (usei a c3620-is-mz.123-15.bin), criar uma interface virtual tap0, e (neste caso) duas subinterfaces, pois teremos apenas duas VLANs.

Já temos todos os ingredientes, vamos agora colocar a mão na massa!

1° passo - Instalando o Dynamips e Dynagen

No Ubuntu 9.04 tive um pequeno problema na instalação do Dynagen, que na verdade parece ser um problema na versão do repositório, então fiz um pequeno work around, mas o Dynamips instalou bonitinho.

Para instalar o Dynamips:

# apt-get install dynamips

Já para instalar o Dynagen tive que baixar o tarball, mas não precisei compilar, apenas precisaremos executá-lo com o interpretador Python, que veremos mais à frente. Então vamos baixar o pacote do Dynagen:

# wget http://sourceforge.net/projects/dyna-gen/files/dynagen%20source%20_%20Linux/dynagen%200.11.0/dynagen-0.11.0.tar.gz/download

Depois de baixado, mova-o para um diretório à sua escolha, utilizarei aqui o /opt:

# mv dynagen-0.11.0.tar.gz /opt

Vá para o /opt e descompacte o pacote:

# cd /opt
# tar -zxvf dynagen-0.11.0.tar.gz


Tendo descompactado, entre no diretório que foi criado e dê permissões de execução ao Dynagen:

# cd /opt/dynagen-0.11.0/
# chmod +x dynagen


Pronto, simples assim, só para entender, porque não usar o Dynagen que é instalado pelo apt?

Se você tentar executar o Dynagen que é instalado pelo apt, dá esse erro:

dynagen /home/rodrigo/dynamips/lab1/lab1.net
Traceback (most recent call last):
File "/usr/bin/dynagen", line 28, in <module>
from console import Console
File "/var/lib/python-support/python2.6/console.py", line 34, in <module>
from confConsole import AbstractConsole, confHypervisorConsole, confConsole
ImportError: No module named confConsole

Pesquisei pelo Google afora e não encontrei nenhuma solução, por isso fiz dessa forma, mas se alguém conseguir fazer o Dynagen do apt funcionar, acrescente nos comments! =)

Bom, estamos com o Dynamips e Dynagen prontos, agora vamos fazer a interface "tap" funcionar e vamos habilitar o 802.1q nela.

    Próxima página

Páginas do artigo
   1. Por que implementar isso?
   2. 2° e 3° passos
   3. 4° passo
   4. Reclamações sugestões e agradecimentos
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Linux em Router Wireless (WRT54G Vs OpenWrt)

Monitoramento de MSN com imsniff

Configurando um servidor DNS rápido e fácil

Virtual Host com Apache

Instalando Apache 1.3.33 com suporte a PHP no Slackware

  
Comentários
[1] Comentário enviado por dropall em 03/08/2009 - 15:56h

Caro,

A título de informação: A bastante tempo existe suporte nativo no Linux a VLANs.
Basta carregar o modulo "8021q", criar as VLANs com o comando: vconfig e configurar as interfaces das VLANs com o ifconfig
# modprobe 8021q
# vconfig eth0 5
# vconfig eth0 10
# ifconfig eth0.5 10.0.5.1 netmask 255.255.255.0
# ifconfig eth0.10 10.0.10.1 netmask 255.255.255.0

[2] Comentário enviado por rodrigo.capelini em 03/08/2009 - 16:05h

Exato, a única diferença neste caso aqui, é que criamos uma interface tap e fizemos as vlans nela, já que as interfaces de vlan, vão interagir com o ambiente virtual e o dynamips pelo que testei até agora, só faz este bridging com interfaces tap.

E tivemos que instalar o pacote vlan, pois como descrevi no início do artigo, usamos o ubuntu, e não vêm instalado por padrão.

um abraço.

[3] Comentário enviado por cleber.ribeiro em 03/08/2009 - 22:32h

Rodrigo, Meus parabens pelo artigo.
Abrçs

[4] Comentário enviado por tomassoni em 05/08/2009 - 09:45h

Cara interessante seu artigo, Porém acho que faltou um pouco mais de explicações sobre as configurações. Ficaria muito legal se fosse mais completinho.

[5] Comentário enviado por nariz em 31/12/2009 - 20:14h

já usei na época da facu..
é muito bom !

[6] Comentário enviado por BenyPereira em 09/03/2010 - 11:38h

Esta é minha primeira participação neste site que sempre uso para consultas.
Abaixo coloco um pequeno script no intuito de automatizar as ações deste tópico.
Acredito que não preciso explicar o que fazer com ele [kkkkkkkkkkk]...

Nome do arquivo a ser salvo: instala-dinamips.sh
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#!/bin/bash
echo
echo
echo Dynamips + Dynagen - Emulando Vlans com router on stick no Linux
echo Script para automatizar a instalação e implementação do que foi
echo explicado neste artigo do rodrigo capelini
echo
echo http://www.vivaolinux.com.br/artigo/
echo Dynamips-+-Dynagen-Emulando-Vlans-com-router-on-stick-no-Linux/
echo
echo Script feito por Beny Pereira: benybelo-#arroba#-ig.com.br
echo tel.: 21-9129-3508 - Rio de Janeiro
echo
echo este script foi criado para utilização no ubuntu
echo se voce for utilizar outra distro, faça as devidas alterações
echo
echo

echo iniciando ...
echo

echo passo 01-a - instalar dynamips
echo
apt-get install dynamips
echo

echo passo 01-b - baixar dynagen
echo
wget http://sourceforge.net/projects/dyna-gen/files/dynagen%20source%20_%20Linux/dynagen%200.11.0/dynagen...
echo

echo passo 01-c - instalar dynagen
echo
mv dynagen-0.11.0.tar.gz /opt
cd /opt
tar -zxvf dynagen-0.11.0.tar.gz
d /opt/dynagen-0.11.0/
chmod +x dynagen
echo
ecno obs: se voce tentar executar o dynagen pelo apt,
echo . . .sera apresentada uma mensagem de erro ainda nao documentada.
echo

echo passo 02 - Criando a interface tap0, fazendo ela funcionar como trunk
echo . . . . . .e habilitando o 802.1q nela.
echo
echo ... instalando uml-utilities...
echo
apt-get install uml-utilities vlan
echo
echo ... subindo modulos...
echo
modprobe tun
modprobe 8021q
echo
echo ... criando e subindo a interface tap0...
echo
tunctl
ifconfig tap0 up
echo
echo ... Criando as Vlans e subindo as sub-interfaces...
echo
vconfig add tap0 10
vconfig add tap0 20
ifconfig tap0.20 192.168.20.254 netmask 255.255.255.0 up
ifconfig tap0.30 192.168.30.254 netmask 255.255.255.0 up
echo

echo passo 03 - volte ate a pagina 2 do artigo no site vivaolinux
echo . . . . . .e leia o este topico com atenção
echo . . . . . . -- Estudando a topologia e criando o arquivo lab1.net --
echo
echo http://www.vivaolinux.com.br/artigo/
echo Dynamips-+-Dynagen-Emulando-Vlans-com-router-on-stick-no-Linux/?pagina=2
echo
echo passo 04 - Configurando os ativos e as vlans não se falam,
echo . . . . . .habilitando o roteamento e todos se falam
echo
echo http://www.vivaolinux.com.br/artigo/
echo Dynamips-+-Dynagen-Emulando-Vlans-com-router-on-stick-no-Linux/?pagina=3
echo
echo ... subindo o dynamips
echo
dynamips -H 7200
python /opt/dynagen-0.11.0/dynagen /home/rodrigo/dynamips/lab1/lab1.net
echo

echo . . . . . .verifique na pagina do passo 04 as configurações
echo . . . . . .do arquivo .net . la voce vai encontrar um modelo
echo . . . . . .com as configurações ja prontas para todo o ambiente
echo . . . . . .se comunicar. se quiser fazer um bom exercicio
echo . . . . . .personalize o ambiente para novos testes
echo
echo . . . script encerrado.
echo


^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


[7] Comentário enviado por removido em 07/03/2011 - 18:35h

Ótimo artigo, o Dynamips e o Dynagen são emuladores Exelentes, estou utilizando-os para a Faculdade, são muito bons.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts