Arquivo da Categoria ‘Ubuntu’

MRTG em 5 minutos no Debian

quarta-feira, 23 de setembro de 2009

Eu sempre gosto de instalar um MRTG pra medir a velocidade do link, na verdade não para medir, por que isso eu posso fazer com o bmon ou iptraf, mas pra ver o gráfico que ele gera, é mais visual na minha opinião.
De tanto eu instalar instalar o MRTG, eu já acho automático, e faço isso em 5 minutos, então vou compartilhar com vocês, como faço, talvez alguém ache útil.

Lembro que resolvi fazer este post depois que instalei mais uma vez, e por que eu gosto do MRTG.

O que vou mostrar nessa instalação mostra em gráficos somente o tráfego de rede nas interfaces de rede, mas ele pode mostrar muito mais coisas, extraídas via SNMP.

Esta dica funciona em Debian e derivados.

Espero também que esteja com seu sources.list configurado adequadamente.

Então mãos a obra!!!!

Instalar o apache2, snmp e o mrtg:

aptitude install mrtg snmp snmpd apache2 -y

Edite /etc/snmpd.conf  e comente a linha 61 e descomente a 62:

#com2sec paranoid default                  public

com2sec readonly default                     public

Feito isso reiniciar o snmp:

/etc/init.d/snmpd restart

Criar o arquivo de configuração do mrtg:

cfgmaker public@localhost > /etc/mrtg.cfg

Editar o mrtg.cfg  e descomentar a linha 17:

Options[_]: bits,growright

Crie o diretório do mrtg no DocumentRoot do servidor web que instalamos:

mkdir /var/www/mrtg

Mude o dono do diretório para o www-data:

chow www-data /var/www/mrtg

Crie o arquivo index.html para visualizar os gráficos:

indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

Execute o mrtg:

env LANG=C /usr/bin/mrtg

Prontinho, só acessar sua página com os gráficos do mrtg:

http://ip.da.sua.máquina/mrtg/

Não se preocupe em criar agendamento para execução do MRTG no crontab por que quando você instala ele já cria este agendamento pra você, por padrão ele vai criar os gráficos de 5 em 5 minutos.

  • Google Bookmarks
  • Technorati Favorites
  • Twitter
  • Facebook
  • Google Buzz
  • LinkedIn
  • FriendFeed
  • Identi.ca
  • Orkut
  • Tumblr
  • Delicious
  • Reddit
  • WordPress
  • Share/Bookmark

Apresentação ao Planeta GNOMEBR

segunda-feira, 3 de agosto de 2009

Olá rapaziada e moçada!

Ou seria melhor rapazes e moças ?

Não faz diferença. Este post foi criado simplesmente para fazer uma pequena apresentação sobre mim ao Planeta GNOMEBR, foi uma sugestão que recebi quando abri o bug no Bugzilla, e eu só vi hoje quando fui lá verificar outras coisas.

Pois bem, sou o Flamarion Jorge, um cara bacana, bonito, cheiroso, inteligente, charmoso, sensual e modesto pra caramba :D ….pelo menos minha namorada acha hehe.

Brincadeiras a parte, este post é para agradecer a oportunidade de poder participar desta equipe fantástica que faz o GNOME ser um ambiente de trabalho sensacional e, de algumas versões pra cá, 100% traduzido para o Português do Brasil, e também para me apresentar.

Como já havia dito, sou o Flamarion, estou envolvido com o software livre desde o século XX, mas comecei a tomar gosto pela coisa foi mesmo depois de 2004.

Desta época pra cá tive o prazer de trabalhar com algumas distribuições, que no meu julgamentos, eram, e algumas ainda são, muito bacanas, tais como:

- Conectiva (6,7,8,9 e 10)
- Red Hat (Antes de virar Enterprise e hoje nas versões Enterprise)
- Debian (É a que mais me identifico hoje)

Desta lista, a distro que uso atualmente é a Debian, na verdade desde 2005, e também é distribuição onde conheci o GNOME.

Sou formado em um curso que foi criado na época onde o Software Livre estava dando seus primeiros passos aqui no Brasil, o nome do curso “era” Gestão de Software Livre na UNI-BH, foi bacana demais, tirando que fomos a turma cobaia da faculdade, mas foi legal assim mesmo.

Comecei uma pós graduação na UFMG em Redes de Telecomunicações, mas não terminei.

Tenho uma pequena certificação LPIC1 e atualmente estou fazendo um MBA em Gerenciamento de Projetos na Fortium, aqui em Brasília.

Trabalho em uma boa empresa, a Bull, e administro alguns servidores e storages da Dell e Blade Center com algumas lâminas e storages da IBM, todos com o Red Hat instalados.

Sou de “BelZonte” (pra quem não entendo o mineirês, significa Belo Horizonte), mas atualmente moro em Brasília.

Também ajudo em alguma coisinha na tradução do GNOME e de alguns po-debconf no Debian.

Basicamente é isso, este sou eu.

Espero poder contribuir mais, na medida que o tempo for sobrando.

Um abraço!

  • Google Bookmarks
  • Technorati Favorites
  • Twitter
  • Facebook
  • Google Buzz
  • LinkedIn
  • FriendFeed
  • Identi.ca
  • Orkut
  • Tumblr
  • Delicious
  • Reddit
  • WordPress
  • Share/Bookmark

Cisco VPN Client no Debian

sábado, 4 de julho de 2009

Hi, i’m here again….. let’s talk.

Ha algum tempo eu tenho que usar uma conexão VPN com a sede da empresa onde trabalho. Adivinhem pra quê? Se você acha que é pra trabalhar em casa, você está completamente CERTOOOO!!!!.

Tudo quase bem até ai, por que até pouco tempo atrás eles me passaram um ip, usário e senha e me disseram que usavam PPTP. Mentira, me deram um client qualquer ai pra eu conectar, mas esse cliente era um .exe, como eu não queria criar caso com o cara lá de Sampa, eu só perguntei qual protocolo eles usavam para fechar a VPN, ele me disse e eu me virei lá em casa com meu Debian, e tudo funcionava.

Aí, no mes passado, me chega um email dizendo que o servidor da vpn ia ser desativado, não sei por que, e que eu teria que preencher uma solicitação para o novo acesso.
Ótimo, depois de um mês que foi dito isso, eu precisei acessar a VPN, e ainda não havia enviado o tal papel.
Pra resumir a história, eu scaneei o papel, enviei e ele me enviou um Client VPN da CISCO, novamente um .exe.
Perguntei se não tinha um pra “linux”. O rapazinho disse que não, não tinha.
Era bem capaz de eu instalar um sistema de “janelas” lá em casa pra usar isso, fui pesquisar.
Descobri que a propria Cisco disponbilizava o client para o “linux”, fui lá com meu usuário e senha e tentei baixar, necatibiriba não, não tinha previlégios suficiente, enviei o link pro rapazinho e ele baixou e me enviou o client.

Em seguida fui instalar.

A instalção é super tranquila, apesar de não ser um software livre, o instalador é super amigavel, um script bem bolado, com duas perguntas somente.

Para não extender muito, vou colocar os passos que seguir:

Baixe o client de algum lugar que você achar na internet… talvez eu coloque em algum servidor, quando sobrar menos preguiça.

Aí está o client.

flamarion@desktop:~$ ls
Desktop Documentos driver_samsung examples.desktop Imagens Modelos Músicas PDF tmp Vídeos vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz

Descompacte.

flamarion@desktop:~$ tar -zxvf vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz
vpnclient/
vpnclient/libvpnapi.so
vpnclient/vpnapi.h
vpnclient/cisco_cert_mgr
vpnclient/vpnclient
vpnclient/ipseclog
vpnclient/cvpnd
vpnclient/vpn_install
vpnclient/vpnclient_init
vpnclient/vpn_uninstall
vpnclient/driver_build.sh
vpnclient/sample.pcf
vpnclient/vpnclient.ini
vpnclient/license.txt
vpnclient/license.rtf
vpnclient/interceptor.c
vpnclient/linuxcniapi.c
vpnclient/linuxcniapi.h
vpnclient/vpn_ioctl_linux.h
vpnclient/IPSecDrvOS_linux.c
vpnclient/linux_os.h
vpnclient/frag.h
vpnclient/frag.c
vpnclient/linuxkernelapi.c
vpnclient/GenDefs.h
vpnclient/mtu.h
vpnclient/IPSecDrvOSFunctions.h
vpnclient/IPSecDrvOS_linux.h
vpnclient/Cniapi.h
vpnclient/unixcniapi.h
vpnclient/unixkernelapi.h
vpnclient/config.h
vpnclient/libdriver64.so
vpnclient/libdriver.so
vpnclient/Makefile
flamarion@desktop:~$

Instale as ferramentas de compilação e os headers do kernel.

flamarion@desktop:~$ sudo aptitude install build-essential linux-headers-$(uname -r)

Instalação:

flamarion@desktop:~$ cd vpnclient/
flamarion@desktop:~/vpnclient$ ls
cisco_cert_mgr driver_build.sh interceptor.c ipseclog license.rtf linuxkernelapi.c sample.pcf vpnclient vpn_ioctl_linux.h
Cniapi.h frag.c IPSecDrvOSFunctions.h libdriver64.so license.txt linux_os.h unixcniapi.h vpnclient.ini vpn_uninstall
config.h frag.h IPSecDrvOS_linux.c libdriver.so linuxcniapi.c Makefile unixkernelapi.h vpnclient_init
cvpnd GenDefs.h IPSecDrvOS_linux.h libvpnapi.so linuxcniapi.h mtu.h vpnapi.h vpn_install

Serão feitas algumas perguntas, tais como, onde quer que coloque o binário e se é este lugar mesmo que estão os headers do kernel, o software é até inteligente, mas se quiser mudar algo, fique a vontade, eu deixei o padrão mesmo!

flamarion@desktop:~/vpnclient$ sudo ./vpn_install
Cisco Systems VPN Client Version 4.8.02 (0030) Linux Installer
Copyright (C) 1998-2006 Cisco Systems, Inc. All Rights Reserved.

By installing this product you agree that you have read the
license.txt file (The VPN Client license) and will comply with
its terms.

Directory where binaries will be installed [/usr/local/bin] <- Pergunta

Automatically start the VPN service at boot time [yes] <- Outra pergunta

In order to build the VPN kernel module, you must have the
kernel headers for the version of the kernel you are running.

Directory containing linux kernel source code [/lib/modules/2.6.28-13-generic/build] <- Mais uma pergunta

* Binaries will be installed in “/usr/local/bin”.
* Modules will be installed in “/lib/modules/2.6.28-13-generic/CiscoVPN”.
* The VPN service will be started AUTOMATICALLY at boot time.
* Kernel source from “/lib/modules/2.6.28-13-generic/build” will be used to build the module.

Is the above correct [y] <- Ultima. É isso mesmo ? Então aperte "enter"

Making module
make -C /lib/modules/2.6.28-13-generic/build SUBDIRS=/home/flamarion/vpnclient modules
make[1]: Entrando no diretório `/usr/src/linux-headers-2.6.28-13-generic’
CC [M] /home/flamarion/vpnclient/linuxcniapi.o
CC [M] /home/flamarion/vpnclient/frag.o
CC [M] /home/flamarion/vpnclient/IPSecDrvOS_linux.o
CC [M] /home/flamarion/vpnclient/interceptor.o
CC [M] /home/flamarion/vpnclient/linuxkernelapi.o
LD [M] /home/flamarion/vpnclient/cisco_ipsec.o
Building modules, stage 2.
MODPOST 1 modules
WARNING: could not find /home/flamarion/vpnclient/.libdriver.so.cmd for /home/flamarion/vpnclient/libdriver.so
CC /home/flamarion/vpnclient/cisco_ipsec.mod.o
LD [M] /home/flamarion/vpnclient/cisco_ipsec.ko
make[1]: Saindo do diretório `/usr/src/linux-headers-2.6.28-13-generic’
Create module directory “/lib/modules/2.6.28-13-generic/CiscoVPN”.
Copying module to directory “/lib/modules/2.6.28-13-generic/CiscoVPN”.
Already have group ‘bin’

Creating start/stop script “/etc/init.d/vpnclient_init”.
/etc/init.d/vpnclient_init
Enabling start/stop script for run level 3,4 and 5.
Creating global config /etc/opt/cisco-vpnclient

Installing license.txt (VPN Client license) in “/opt/cisco-vpnclient/”:
/opt/cisco-vpnclient/license.txt

Installing bundled user profiles in “/etc/opt/cisco-vpnclient/Profiles/”:
* New Profiles : sample

Copying binaries to directory “/opt/cisco-vpnclient/bin”.
Adding symlinks to “/usr/local/bin”.
/opt/cisco-vpnclient/bin/vpnclient
/opt/cisco-vpnclient/bin/cisco_cert_mgr
/opt/cisco-vpnclient/bin/ipseclog
Copying setuid binaries to directory “/opt/cisco-vpnclient/bin”.
/opt/cisco-vpnclient/bin/cvpnd
Copying libraries to directory “/opt/cisco-vpnclient/lib”.
/opt/cisco-vpnclient/lib/libvpnapi.so
Copying header files to directory “/opt/cisco-vpnclient/include”.
/opt/cisco-vpnclient/include/vpnapi.h

Setting permissions.
/opt/cisco-vpnclient/bin/cvpnd (setuid root)
/opt/cisco-vpnclient (group bin readable)
/etc/opt/cisco-vpnclient (group bin readable)
/etc/opt/cisco-vpnclient/Profiles (group bin readable)
/etc/opt/cisco-vpnclient/Certificates (group bin readable)
* You may wish to change these permissions to restrict access to root.
* You must run “/etc/init.d/vpnclient_init start” before using the client.
* This script will be run AUTOMATICALLY every time you reboot your computer.

Tem uma coisa chata, a Cisco fez com que a instalação colocasse o módulo necessário para o client funcionar, em um diretório diferente do diretório onde normalmente ficariam os módulos.
Você pode coloca-lo lá, mas eu quis carrega-lo na mão.

flamarion@desktop:~$ sudo insmod /lib/modules/2.6.28-13-generic/CiscoVPN/cisco_ipsec.ko
flamarion@desktop:~$

Só pra garantir, veja se o módulo foi carregado de fato!

flamarion@desktop:~$ lsmod | grep cisco
cisco_ipsec 603868 0

Com o módulo carregado, ta meio caminho andado, é só criar um arquivo de perfil para sua conexão e fazer a conexão, no diretório onde eu criei meu arquivo .pcf, existe um sample.pcf que você pode seguir como base, mas as configurações abaixo no meu caso foram suficientes.

Então crie seu arquivo .pcf, ou meu vai se chamar empresa.pcf

flamarion@desktop:~$ sudo vi /etc/CiscoSystemsVPNClient/Profiles/empresa.pcf

[main]
Description=Empresa onde trabalho <- apenas um comentário, pode haver espaço
Host=200.200.200.200 <- IP ou hostmane onde vocẽ deseja conectar-se
AuthType=1 <- Valor booleano, 1 ativa autenticação, 0 desativa
GroupName=nomedogrupo <- Aqui você vai colocar o nome do grupo
Username=flamarion <- Nome de usuário
SaveUserPassword=1 <- Quer salvar sua senha ? 1 sim, 0 não

Feito o arquivo de configuração, agora é hora de conectar-se a vpn da sua empresa, ou do servidor, ou do lugar que tem a conexão esperando a ser feita.
Você vai usar para conectar-se o nome do arquivo sem o .pcf, no meu caso “empresa”.
Serão feitas algumas perguntas, que você tem que saber, ou que o administrador de sistemas/redes da sua empresa lhe passou.
Vou comenta-las, no dialogo a seguir.

flamarion@desktop:~$ vpnclient connect empresa
Cisco Systems VPN Client Version 4.8.02 (0030)
Copyright (C) 1998-2007 Cisco Systems, Inc. All Rights Reserved.
Client Type(s): Linux
Running on: Linux 2.6.28-13-generic #45-Ubuntu SMP Tue Jun 30 19:49:51 UTC 2009 i686
Config file directory: /etc/opt/cisco-vpnclient

Enter a group password: <- Aqui você informa a senha do grupo
Initializing the VPN connection.
Contacting the gateway at 200.213.248.9
User Authentication for empresa…

The server has requested the following information to complete the user authentication:

Username [flamarion]: <- Se você colocou o usuário correto, só aperte "enter"
Password []: <- Sua senha
Save Password (Y/N) [Y]: Y <- Quer salvar a senha?
Authenticating user.
Negotiating security policies.
Securing communication channel.

Your VPN connection is secure.

VPN tunnel information.
Client address: 172.21.10.18
Server address: 200.213.248.9
Encryption: 256-bit AES
Authentication: HMAC-MD5
IP Compression: None
NAT passthrough is active on port UDP 4500
Local LAN Access is disabled

Se você chegou aqui a sua conexão com a vpn foi feita com sucesso.
Existe mais un inconveniente, o client não vai para background, então você vai ter que colocalo em background na mão.
Ps.: Como é um script de conexão interativo, não tente inicia-lo com “&” para coloca-lo em background automaticamente, que não vai funcionar.
Para coloca-lo em bacground você pode colcoar o processo em stop, com ctrl+z, e em seguida coloca-lo em background, de acordo com o exemplo:

“ctrl+z”

^Z
[1]+ Stopped vpnclient connect bull

Colocando em background:

flamarion@desktop:~$ bg “%vpnclient”
[1]+ vpnclient connect bull &

Prontinho, desta maneira seu terminal estará liberado e você pode até fechalo.
Como saber se a conexão está ativa.
Se você fizer um ifconfig, deve existir uma inteface diferente das suas eth’s, ath’s ou wlan’s, que tem o no me de “cipsec0″.

flamarion@desktop:~$ ifconfig
cipsec0 Link encap:Ethernet Endereço de HW 00:0b:fc:f8:01:8f
inet end.: 172.21.10.23 Masc:255.255.0.0
endereço inet6: fe80::20b:fcff:fef8:18f/64 Escopo:Link
UP RUNNING NOARP MTU:1356 Métrica:1
pacotes RX:46587 erros:0 descartados:2 excesso:0 quadro:0
Pacotes TX:50471 erros:0 descartados:16 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:32746478 (32.7 MB) TX bytes:6595401 (6.5 MB)

E se você pedir para mostrar as rotas, verá todas as rotas definidas pelo sysadmin para seu perfil.

flamarion@desktop:~$ sudo route -n
Tabela de Roteamento IP do Kernel
Destino Roteador MáscaraGen. Opções Métrica Ref Uso Iface
200.213.248.9 10.2.4.10 255.255.255.255 UGH 0 0 0 eth0
192.90.68.0 172.21.10.18 255.255.255.0 UG 0 0 0 cipsec0
10.2.0.0 172.21.10.18 255.255.0.0 UG 0 0 0 cipsec0
10.98.0.0 172.21.10.18 255.255.0.0 UG 0 0 0 cipsec0
10.6.0.0 172.21.10.18 255.255.0.0 UG 0 0 0 cipsec0
10.7.0.0 172.21.10.18 255.255.0.0 UG 0 0 0 cipsec0
129.185.0.0 172.21.10.18 255.255.0.0 UG 0 0 0 cipsec0
10.4.0.0 172.21.10.18 255.255.0.0 UG 0 0 0 cipsec0
10.102.0.0 172.21.10.18 255.255.0.0 UG 0 0 0 cipsec0
172.18.0.0 172.21.10.18 255.255.0.0 UG 0 0 0 cipsec0
129.181.0.0 172.21.10.18 255.255.0.0 UG 0 0 0 cipsec0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
192.168.0.0 172.21.10.18 255.255.0.0 UG 0 0 0 cipsec0
172.21.0.0 0.0.0.0 255.255.0.0 U 0 0 0 cipsec0
0.0.0.0 10.2.4.10 0.0.0.0 UG 0 0 0 eth0
flamarion@desktop:~$

E assim você terá uma conexão VPN, por IPSEC, com o Client da Cisco na sua distribuição baseada em Debian / Gnu Linux.

Comentários.
Existem maneiras de automatizar a grande maioria do processo de carga do módulo e conexão através de scripts shell.
Em outro momento, eu digo como fazer para fazer com que o módulo seja carregado na inicialização do seu sistema, e fazer um script bacana para passar todos os parametros de conexão e já colocar em background o client, assim que a conexão terminar.
Espero que preste, por que fiz este post rapidão…. nem conferi muito o português, nem pontuação, só conferi que funciona a solução.

  • Google Bookmarks
  • Technorati Favorites
  • Twitter
  • Facebook
  • Google Buzz
  • LinkedIn
  • FriendFeed
  • Identi.ca
  • Orkut
  • Tumblr
  • Delicious
  • Reddit
  • WordPress
  • Share/Bookmark

Fazendo Atheros 242x funcionar no Ubuntu 8.04

quarta-feira, 17 de setembro de 2008

Um amigo do trabalho me disse que queria instalar um linux em seu notebook para estudos, tudo bem, indiquei para ele o ubuntu, pois, este é mais amigavel e funcinoa praticamente tudo na primeira instalação.
Ainda bem que disse a ele que funcionava praticamente tudo, por que num é que a placa de rede sem fio dele não funcionou…. puxa vida, fiquei triste, mas sabia que tinha jeito de fazer funcionar.
Então sugeri que ele me entregasse o notebook que faria funcionar a tal placa para ele e assim ele não seria mais um que abandonaria o linux, por que acha que nada funciona.
La foi eu….

Primeira coisa foi identificar a placa que ele tinha….nada que um lspci não resolvesse.

$lspci
01:00.0 Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)

Bacana, descobri que era uma Atheros AR242X.
Pensei deve ser o modulo que não está carregado, mas qual era o modulo para esta placa??? então fui conferir.
O modulos é o ath_pci, e num era que o danado estava carregado, puxa vida que que tava rolando??
Resolvi recorrer ao oraculo, google, hehe, ele sempre te mostra coisas que você nem imagina.
Em uma dessas pesquisas encontrei uma solução simples.
Aplicando um simples patch a placa funcionaria muito bem. então agora vou mostrar como se faz.
Os créditos são de um blog de portugal que no fim do post vou colocar como referência.

Primeiro vamos baixar o patch daqui http://primepage.de/downloads/stuff/misc/madwifi_patch.tar.bz2

Recomendo criar uma pasta madwifi_patch, pois diferente da maioria dos tarball’s este não cria sua pasta, descompacta tudo solto no lugar onde está, a não ser que voce indique o caminho.

Em seguida descompactar.

cd madwifi_patch

tar -jxvf madwifi_patch.tar.bz2

Depois de descompactado ele cria uma pasta madwifi e te da de presente um script que faz todo trabalho sujo hehe, o script é simples.

e te fala tudo que vc tem que fazer, vou colocar o conteudo do script aqui caso queira fazer passo a passo.

#!/bin/sh
#
# description: This script contains latest madwifi trunk from today
# including the patch from Sam
# (http://people.freebsd.org/~sam/ath_hal-20080528.tgz)
# To get AR3435 / AR5007EG chipset running.
# @author: Alexander Hagenah
# @created: 06/04/2008

## removing ndiswrapper

sudo ndiswrapper -e net5211
sudo modprobe -r ndiswrapper
sudo aptitude remove –purge ndiswrapper-common ndiswrapper-utils ndisgtk

## install and load madwifi into modules

cd ./madwifi
sudo make install BINDIR=/usr/bin MANDIR=/usr/share/man
sudo depmod -ae
sudo modprobe ath_pci
echo ath_hal | sudo tee -a /etc/modules
echo ath_pci | sudo tee -a /etc/modules

echo ‘#######################################################################################’
echo ‘NOW GO TO “System” -> “Administration” -> “Hardware Drivers” AND ENABLE ATHEROS DRIVER.’
echo ‘-> REBOOT THE SYSTEM TO ACTIVE ATHEROS DRIVER’
echo ‘#######################################################################################’

Primeira coisa que o script faz é desinstalar o ndiswarpper, o ndiswarpper funciona, mas vc tem que ter varias peças para motar o quebra-cabeça, coisa que com o madwifi é desnecessário.

Em seguida ele entra na pasta madwifi que foi criada.
Até ai tudo bem, mas para quem está acostumado a compilar os fontes de um programa, vai sentir falta do configure para montar o Makefile.
Neste caso, você pode passar as opções diretamente para o comando make install, no script ele faz isso para voce, caso queira mudar as opções de isntalação, modifique o script ou faça na mão mesmo.
Em seguida ele executa o comando depmod com algumas opções, o comando depmod no manual tem esta descrição;
” depmod — program to generate modules.dep and map files”
Ta bem claro o que ele faz né, para saber mais acesse o man do depmod e veja.
Em segiuda ele carrega o modulo da placa atheros, como eu havia falado antes é o ath_pci.
Logo apóos o que ele faz e colocar os modulos ath_pci e ath_hal dentro do arqiuvo /etc/modules para que sejam carregados na inicialização!
Fechou… ta instalado o patch e agora é somente reinicializar o sistema que seu wifi com a placa atheros AR242X vai estar funcionando direitinho.

Referencias : http://andretorgal.com/blog/2008/07/19/como-ligar-wireless-atheros-ar5007eg-ou-ar242-em-ubuntu-804/#comment-3354

Os erros de português eu concerto outra hora.

  • Google Bookmarks
  • Technorati Favorites
  • Twitter
  • Facebook
  • Google Buzz
  • LinkedIn
  • FriendFeed
  • Identi.ca
  • Orkut
  • Tumblr
  • Delicious
  • Reddit
  • WordPress
  • Share/Bookmark

Emulando Cisco com Dynamips e Dynagen no Ubuntu

quinta-feira, 10 de julho de 2008

Bom eu tenho estudado a algum tempo formas para configurar efetivamente roteadores Cisco, principalmente para conhecimento e preparação para um futuro CCNA.
A questão é que nem todo mundo é rico o suficiente para ter em casa roteadores da Cisco e construir seu próprio laboratório.
Dai como todo bom entusiasta fui pesquisar e encontrei o Dynamips, Dynagen e o GNS3, mas aqui vamos falar somente do Dynampis e Dynagem o GNS3 fica pra outra hora que eu animar.
Já existem alguns tutoriais em inglês e em português, mas algumas coisas que eu acho desnecessária e que pra mim não fizeram diferença na hora de emular os roteadores, então vou ser bem simples na minha explicação.

Sistema que será instalado Ubuntu 8.04.1

Primeiro passo:

Instalando o dynamips.
O dynamips que vamos usar não está em um mirror oficial do ubuntu, então teremos que adicionar algumas linhas no nosso sources.list.

$sudo echo “deb http://gpl.code.de/ubuntu gutsy/”>>/etc/apt/sources.list
$sudo aptitude update

O dynamips tem como dependências a libpcap e libc6, provavelmente a libc6 ja deve estar instalada no seu sistema, então vamos instalar o resto.

$sudo aptitude install dynamips libpca0.8

Após isto o dynamips está instalado.

Segundo passo:

Instalando o dynagen.

O dynagem tem como dependências o python, python-support, dynamips e python-configopj, algumas dessas dependências também ja devem estar instaladas no seu sistemas, tais como python e o dynamips que ja instalamos anteriormente
Mas para garantir vamos instalar tudo.

$sudo aptitude install dynagen python-support python-configobj

Após isto o dynagen estará instalado.

Pronto agora o dynamips e o dynagem estão instalados.

Para executar o dynagem você terá que ter o dynamips em execução, um arquivo de configuração e algum Cisco IOS.
Um detalhe importante é desconpactar a imagem, isso mesmo, descompactar a imagem.
Mas a imagem é um arquivo bin? é verdade mas ela está compactada.
No meu caso eu descompactei com o unzip, ele reclama mas descompacta.

$unzip c3620-js56i-mz_120-9.bin
Archive: c3620-js56i-mz_120-9.bin

warning [c3620-js56i-mz_120-9.bin]: 19408 extra bytes at beginning or within zipfile
(attempting to process anyway)

inflating: C3620-JS.BIN

Bacana, agora vamos renomear a imagem para fins de identificação e para manter o padrão de nomes das imagens

$mv C3620-JS.BIN c3620-js56i-mz_120-9.bin

Muito bom agora que temos a imagem desconpactada e renomeada vamos construir nosso arquivo de configuração
Vou dar um exemplo de configuração simples usando a imagem IOS do roteador Cisco 3620, este arquivo esta configurado para 3 roteadores interconectados por interfaces seriais.

$ cat 3-routers-3620.net

[localhost]
[[3620]]

image = /caminho/para/imagens/cisco/IOS

ram = 64


[[ROUTER R1]]

S1/0 = R2 S1/0

S1/1 = R3 S1/1

console = 3001

model = 3620

[[router R2]]
S1/1 = R3 S1/0

console = 3002

model = 3620

[[ROUTER R3]]
console = 3003

model = 3620

Como você viram o meu arquivo chama-se 3-routers-3620.net .

Beleza, mas cadê meus roteadores??? Caaaaaaaaaaalma, agora que vem a coisa em si.
Vamos emular então….

O dynamips é um emulador de Roteadores Cisco 7200 e 3600 no seu computador, como fala no manual.
Legal, mas no vamos executar o dynamips no modo Hypervisor. Diz o manual, que com modo hypervisor você pode rodar simultaneamente varias instancias de roteadores virtais.
Para executar o dynamips no modo hypervisor execute:

$dynamips -H 7200 &
[1] 31680
Cisco Router Simulation Platform (version 0.2.7-x86)
Copyright (c) 2005-2007 Christophe Fillot.
Build date: Jun 19 2007 18:19:08

Hypervisor TCP control server started (port 7200).

Assim colocamos o dynamips executando em segundo plano.

Bacana, agora vamos pro dynagem e ver os roteadores funcionando.
Para isso vamos usar aquele arquivo que eu mencionei mais acima, o 3-routers-3620.net

$dynagem 3-routers-3620.net

Eu não vou colocar a saida aqui proque é muito grande, mas se não tiver nenhum problema você estará com um prompt do dynagen.
Após isso seu ambiente para emulação está pronto, porém normalmente o dynagem consome 100% de cpu, vejam só:

336 flamario 20 0 588m 301m 286m S 195 30.1 4:51.55 dynamips

Cara ele passou dos limites ta consumindo 195 heheh…. mas vamos dar um jeito nisso.
No console do dynagen nos temos uma serie de comandos, para ve-los digite ?

Dynagen management console for Dynamips
Copyright (c) 2005-2007 Greg Anuzelli

=> ?

Documented commands (type help ):
========================================
capture console export hist list py save show suspend
clear disconnect filter idlepc no reload send start telnet
confreg exit help import push resume shell stop ver

Vamos começar com o list.

=> list
Name Type State Server Console
R1 3620 running localhost:7200 3001
R2 3620 running localhost:7200 3002
R3 3620 running localhost:7200 3003

Legal todos roteadores em execução, mas ainda estamos com o problema do consumo de cpu, vamos resolver agora.
Com o domando idlepc você consegue manipular instruções para o cpu, então vamos trabalhar com esse cara pra gente diminuir o consumo do nosso cpu.
Para isso vamos parar o roteador R2 e R3

=> stop R2

C3600 ‘R2′: stopping simulation.
100-VM ‘R2′ stopped
=> stop R3

C3600 ‘R3′: stopping simulation.
100-VM ‘R3′ stopped

Agora deixamos somente o roteador R1 em execução então vamos calcular o valor idlepc adequado para ele e consequentemente para os outros, o idlepc get faz isso pra gente.

=> idlepc get R1
Please wait while gathering statistics…

Please wait while gathering statistics…

Done. Suggested idling PC:
0x603721b8 (count=70)
0x6045293c (count=57)
0x604529bc (count=30)
0x60422f00 (count=26)
0x60423e4c (count=46)
0x60423e80 (count=34)
0x6042588c (count=57)
0x60425a28 (count=61)
0x60425a60 (count=45)
0x6036dc58 (count=72)
Restart the emulator with “–idle-pc=0x603721b8″ (for example)
1: 0x603721b8 [70]
* 2: 0x6045293c [57]
3: 0x604529bc [30]
4: 0x60422f00 [26]
5: 0x60423e4c [46]
6: 0x60423e80 [34]
* 7: 0x6042588c [57]
8: 0x60425a28 [61]
9: 0x60425a60 [45]
10: 0x6036dc58 [72]
Potentially better idlepc values marked with “*”
Enter the number of the idlepc value to apply [1-10] or ENTER for no change: 2
Applied idlepc value 0x6045293c to R1

Alem de calcular o valor ideal ele ainda sugere através do * qual valor você pode utilizar para
melhorar as coisas, vamos usar o 2, somente informe o numero desejado onde o cursor está esperando.

Agora vamos replicar o valor selecionado para os outros roteadores, para isso vamo inicia-los:

Então faça assim:

==> start R2
==> idlepc set R2 0x6045293c
Applied idlepc value 0x6042588c to R2

==>start R3
==>idlepc set R3 0x6045293c
Applied idlepc value 0x6042588c to R3

Pronto agora olha só o consumo de cpu:

336 flamario 20 0 598m 307m 291m S 16 30.7 35:36.90 dynamips

Agora vamos configurar roteador Cisco…
Para acessar a console dos roteadores faça o seguinte

=> console R1

=> console R2
=> console R3
ou
=> console /all

Agora que resolvemos os probleminhas pode começara a configurar, estudar, brincar com roteadores Cisco.

Algumas referencias:

Cisco IOS : http://servito.com.ar/ios/
Labs : http://www.routerlabs.de/http://blog.ccna.com.br/2008/05/15/tutorial-dynamips-no-linux-ubuntu/
Blog CCNA : http://blog.ccna.com.br/2008/05/15/tutorial-dynamips-no-linux-ubuntu/

Qualquer coisa:
Jabber: flamarion@jabber.org
ICQ: 152899881
MSN: flamarion_jorge@hotmail.com
Gtalk: jorge.flamarion@gmail.com

Flamarion Jorge

  • Google Bookmarks
  • Technorati Favorites
  • Twitter
  • Facebook
  • Google Buzz
  • LinkedIn
  • FriendFeed
  • Identi.ca
  • Orkut
  • Tumblr
  • Delicious
  • Reddit
  • WordPress
  • Share/Bookmark