Arquivo da Categoria ‘Linux’

Palestra 2º FSLBH

sábado, 28 de novembro de 2009

Bom, o FLSBH não é um evento grande ainda, mas já teve duas versões, e dessa eu tive a oportunidade participar e falar sobre como traduzir o GNOME.

Eu saí de Brasília, onde moro atualmente, viajei 750 KM de carro, pra poder chegar na minha terra natal e poder falar de uma coisa que eu gosto para os meus coterraneos, vai gostar assim lá longe heim hehe… É, de fato eu gosto muito do GNOME e de BH.

Eu creio que a palestra foi bem bacana, a sala estava com cerca de 15 pessoas, ninguém saiu no meio da palestra no horário normal, e mesmo depois de atrasar 10 minutos todos permaneceram.

Foi uma experiência legal, pois eu já queria ter falado disso em público desde o ano passado quando auxiliei o VladmirMelo em sua palestra num evento em Brasília ( que me esqueci do nome agora), e dessa vez quem pode me auxiliar e me ajudar foi do Djavan Fagundes.

Tenho que esperar agora um feedback da galera para ver onde eu falhei para em outra oportunidade poder fazer melhor.

Mas estou muito satisfeito.

Preciso disponibilizar a palestra no Wiki do GNOME BR também, mas a principio vou deixa-la disponível aqui, e é quase certo que no site do FSLBH vai estar disponivel também.

Obrigado a todos que participaram da palestra, e obrigado a organização do FSLBH pela oprtunidade de falar do GNOME onde KDE era o foco (O evento estava associado ao KDE-MG).

Se quiser baixar a palestra e me xingar ou elogiar pelo conteúdo é só clicar aqui:

PALESTRA II FSLBH

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

Removendo MUITOS arquivos duplicados

quinta-feira, 22 de outubro de 2009

Você é daqueles, assim como eu, que baixa uma música, esquece que baixou e baixa novamente?

Você é daqueles, assim como eu, que as vezes se perde nos diretórios onde guarda seus documentos e tem que ficar fazendo buscas para achar as cópias ?

Você é daqueles, assim como eu, que quer dar uma geral no file system e deixar todos seus arquivos com somente uma versão e não ficar maluco procurando?

Pois é, você, assim como eu, pode usar uma ferramentinha bacaninha que encontrei nas andanças, ou naveganças, pela internê.

Alguns vão dizer:

Pô, mas isso eu faço com uma regex.

Ou dirão:

Eu faço um script que gera o hash e apago tudo.

Pois bem, que digam e que façam, por que eu achei muito mais prático usar o “fdupes“.

Realmente é uma aplicação que deve fazer exatamente o que essas pessoas dirão, eu não vi o código por isso não posso dizer, mas posso dizer que funciona.

E me pergunto por que não conheci esse cara antes heim? É sério, é tão simples e pelo que me parece existe empacotado para quase todas as distros, além de haver ports para o FreeBSD e Mac OS X, pelo menos é o que diz o Jefferson Alexandre, em seu blog.

O fato é que funciona e pode ser instalado facilmente. Vou dar alguns exemplos do uso.

Dessa forma o programa vai simplesmente identificar os arquivos duplicados naquele diretório.

fdupes /path/to/your/files

Assim o programa vai varrer os subdiretórios (recursive) em busca de arquivos duplicados, assim também ele vai somente identificar os arquivos duplicados.

fdupes -r /path/to/your/files

Aqui já é mais punk, ele vai varrer os subdiretórios, identificar os arquivos duplicados, triplicados ou *cados e vai te perguntar quantas versões você quer manter deste arquivo ou até mesmo se você quer manter todas as versões.

fdupes -r -d /path/to/your/files

Se você, assim como eu, tiver uns 10000 mp3 e tiver que responder arquivo por arquivo, você ta enrolado. Vai ter que responder muita pergunta. E é por isso que existe uma opção que por padrão não te pergunta P… nenhuma e mantém somente uma versão dos seus aruquivos, que é assim que se usa:

fdupes -r -d -N /path/to/your/files

Claro eu fiz isso com músicas, se você usar para manter somente uma versão de algo muito importante o ideal é usar uma iteração, que o terceiro exemplo te proporciona.

Mas para encurtar a conversa eu te digo que existem muitas opções legais desse aplicativo, e existe um jeito super fácil para você saber quais são, e esse jeito é dar uma olhadinha no manual do aplicativo.

Então boa sorte e divirtam-se.

Créditos: Jefferson Alexandre no seu post que me mostrou esse aplicativo.

http://www.midstorm.org/~jalexandre/blog/2009/10/removendo-arquivos-duplicados-com-o-fdupes/
  • Google Bookmarks
  • Technorati Favorites
  • Twitter
  • Facebook
  • Google Buzz
  • LinkedIn
  • FriendFeed
  • Identi.ca
  • Orkut
  • Tumblr
  • Delicious
  • Reddit
  • WordPress
  • Share/Bookmark

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

Atualizando meu gtranslator – impressões e ações

sexta-feira, 31 de julho de 2009

Olá pessoal,

Vou tentar relatar pra vocês a minha experiência com o gtranslator que está disponível nos repositórios do debian.

Primeiramente é importante dizer que eu havia colocado em hold meu gtranslator por não ter gostado na nova versão, se não me engano 1.9.5, e depois de alguns meses eu resolvi atualizar meu programa para a tal versão.

Eu tinha ouvido falar, na verdade eu li em algum post do Leonardo Fontenelle, que o gtranslator tinha ficado mais bacana…. não me lembro bem se ele elogiou ou criticou, mas lembro de ter lido sobre uma boa impressão. Na época eu tentei compilar, já que ainda não estava disponível pré compilado para a distribuição que uso.

Enfim, atualizei.

Resultado, me lasquei. Não sei por que cargas d’agua o bendito (para não dizer maldito) do programa não usa as configurações que a versão anterior usava, ou seja tive que reconfigurar todo o programa, inclusive refazer o cabeçalho padrão com minhas informações, que particularmente é um saco, mas fiz e configurei.

A primeira impressão não foi boa, ter que refazer toda configuração do programa foi bem chato, e dei andamento, digo, continuei a usar o programa.

A interface é beeeeeeeeeeeem diferente da versão anterior, bastante assustador para quem estava acostumado com a outra versão, mas com a utilização fui me acostumando.

Algumas coisas que eu não gostei principalmente:

As teclas de atalho mudaram, não são mais “alt+direita” e “alt+esquerda” as teclas que navegam pelas mensagens.
As teclas de atalho para a próxima mensagem aproximada da até medo de tentar, “shift+ctrl+page_down” ou “page_up“…
Isso já havia me chateado.
A disposição das janelas não deixa claro o que não está traduzido e o que está parcialmente traduzido, na outra versão tínhamos um frame na lateral esquerda, que dividia em um menu as mensagens traduzidas, aproximadas e não traduzidas, na nova versão você tem que entender os símbolos…

Estas foram as coisas que me chatearam.

Alguns vão pensar “que cara preguiçoso, só mudaram algumas coisas estéticas”, é verdade, mas quem usa uma ferramenta a bastante tempo e a ferramenta sofre uma mudança “estética” brusca, sente dificuldade em produzir.

Foi o meu caso.

Como se não bastasse, fui usando e me acostumando, então percebi que em algumas situações o programa simplesmente fechava, de repente, do nada, como se alguém fosse lá e fechasse o programa.

Primeiro eu achei que havia uma alma perdida tentando me atrapalhar, mas foi só eu executar o programa em um terminal que ganhei de presente um baitasegmentation fault“, que por sinal só acontecia quando eu usava as “novas” teclas de atalho…. eu já estava ficando puto, tudo que eu traduzia era perdido se eu não salvasse a cada mensagem traduzida.

Por fim, vi que o programa estava bugado mesmo e resolvi executa-lo com o dbg, ou gdb, não me lembro.
Mas ai sim constatei o problema que resultou em um bug aberto no Debian.
Não sei se existem patch‘s de alguém do debian no gtranslator, então abri o bug lá mesmo, depois vou saber de alguém que sabe esta informação se devo abrir no bugzilla do gnome mesmo, mas enfim, desinstalei esse @$%¨&*() do gtranslator 1.9 e voltei para o meu antiguinho 1.7 e ta tudo beleza.

Mas também houveram algumas coisas boas, uma memória de tradução que funciona de fato, um banco de dados de mensagens que se baseia em arquivos .po de um determinado diretório.

Outra ótima funcionalidade é que se a mensagem traduzida não estiver exatamente com as marcações da mensagens original, você nem consegue avançar, isso vai economizar alguns msgfmt‘s …

Mas apesar de tudo minha experiências não foi legal e eu não gostei nada, e o que fiz para resolver o meu problema foi reverter a versão até que eu ache novamente que devo fazer a atualização.

Então vou ficar com o gtranslator em hold por um bom tempo, até que eu leia em algum lugar alguém dizendo que tem algo que realmente valha a pena para que seja feito este upgrade!

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

Obtendo dados via SNMP

domingo, 19 de julho de 2009

Olá pessoal,

Vira e mexe eu vejo a questão, recorrente, sobre como obter OID’s, MIB’s e dados vi snmp.
O lance é o seguinte, sem entender pelo menos o mínimo é muito complicado realmente, extrair dados via snmp.
Então vou colocar aqui uma dica de como extrair o mínimo para você configurar os seus itens no zabbix com o snmp.

1.

snmpwalk – retrieve a subtree of management values using SNMP GETNEXT requests

2.

snmpget – communicates with a network entity using SNMP GET requests

Com estes dois programinhas que fazem parte do pacote net-snmp* (RHEL based) e snmp* (Debian based), fica muito tranquilo configurar os itens.

O que você tem que saber é simplesmente o IP do seu equipamente e a comunidade com previlégios de leitura que ele usa para ler os dados snmp.
Com estas informações montei duas linhas super simples para você obter os dados necessários.
O conjunto das informações obtidas de um equipamento via snmp é chamado de MIB, e cada informação desta é chamada de OID, então o que precisamos são dos OID’s.
Em equipamentos proprietários as MIB’s são fornecidos por seus fabricantes.

Como obter os OID’s ?

O snmpwalk pode nos ajudar:
Então vou dar um exemplo de como obter estas informações de um equpamento CISCO.

snmpwalk -On -v

No meu caso ficou assim:

snmpwalk -On -v 1 -c public 10.1.1.1 (ip de exemplo)

E obtive o seguinte resultaso (Como é muito extenso peguei somente uma parte)

[root@monitor ~]# snmpwalk -On -v 1 -c public 10.1.1.1

.1.3.6.1.2.1.1.1.0 = STRING: Cisco IOS Software, C2960 Software (C2960-LANBASE-M), Version 12.2(35)SE5, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Thu 19-Jul-07 20:06 by nachen
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.9.1.696
.1.3.6.1.2.1.1.3.0 = Timeticks: (513090803) 59 days, 9:15:08.03
.1.3.6.1.2.1.1.4.0 = STRING:
.1.3.6.1.2.1.1.5.0 = STRING: SWT-05
.1.3.6.1.2.1.1.6.0 = STRING:
.1.3.6.1.2.1.1.7.0 = INTEGER: 2
.1.3.6.1.2.1.1.8.0 = Timeticks: (0) 0:00:00.00
.1.3.6.1.2.1.2.1.0 = INTEGER: 28
.1.3.6.1.2.1.2.2.1.1.1 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.1.4 = INTEGER: 4
[...]

De posse destas informações vamos criar um arquivo com todas estas informações, pode demorar algum tempo dependendo do equipamento.

[root@monitor ~]# snmpwalk -On -v 1 -c public 10.1.1.1 | tee CISCO-snmpwalk-bruto

Este comando vai exibir na tela o resultado e criar o arquivo CISCO-snmpwalk com as infomrações.

Mas é meio obscuro saber o que significa cada número daquele, apesar de haver uma descrição na frente, muitas vezes é muito chato de “decifra-los”, e outras vezes até sabemos qual OID exatamente queremos, mas não sabemos exatamente qual sequencia numérica daquelas é a que queremos, até por que em cada equipamento ai ser diferente.

Para tornarmos isso um pouco menos traumático, tesmo o snmpget para nos ajudar!!!
Ele transforma estes números em algo mais “entendivel” (essa palavra eu inventei), mas o fato é que fica mais fácil de saber o que é cada item daquele.

.1.3.6.1.2.1.1.1.0 = STRING: Cisco IOS Software, C2960 Software (C2960-LANBASE-M), Version 12.2(35)SE5, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Thu 19-Jul-07 20:06 by nachen

O que nos interessa é tudo que está antes do “=”, então para usarmos o snmp get fariamos assim:

snmpget -On -v 1 -c public 10.1.1.1 .1.3.6.1.2.1.1.1.0

E o resultado seria este:

.1.3.6.1.2.1.1.1.0 = STRING: Cisco IOS Software, C2960 Software (C2960-LANBASE-M), Version 12.2(35)SE5, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Thu 19-Jul-07 20:06 by nachen

Ótimo, mas se analisarmos o arquivo que criamos, veremos que existem centenas, talvez milhares, destes OID’s, então para facilitar as coisas vamos separar somente o que nos interessa e colocar em outro aquivo.

Esta linha faz isso pra gente, o que fiz foi usar o “cut” para pegar tudo antes do ” ” (espaço).

snmpwalk -On -v 1 -c public 10.1.1.1 | cut -d ” ” -f1 | tee CISCO-snmpwalk

Beleza, se analizarmos o aquivo CISCO-snmp, que foi criado, veremos agora somente números, digo, OID’s.

[root@monitor ~]# less CISCO-snmpwalk
.1.3.6.1.2.1.1.1.0
.1.3.6.1.2.1.1.2.0
.1.3.6.1.2.1.1.3.0
.1.3.6.1.2.1.1.4.0
.1.3.6.1.2.1.1.5.0
.1.3.6.1.2.1.1.6.0
.1.3.6.1.2.1.1.7.0
[...]

Ótimo, agora para fazermos as coisas ficarem um pouco mais “entendiveis” (outra palavra inventada), vamos usar uma linha no bash para nos ajudar a automatizar, as coisas.
Eu não vou explicar a linha completa, mas ela le cada linha do arquivo e cria outro arquivo com as informações que precisamos.

A linha é esta:

[root@monitor ~]# for i in $(cat CISCO-snmpwalk); do snmpget -v 1 -c public 10.1.1.1 $i | tee CISCO-snmpget; done

Agora temos os dados que precisamos:

[root@monitor ~]# less CISCO-snmpget
SNMPv2-MIB::sysDescr.0 = STRING: Cisco IOS Software, C2960 Software (C2960-LANBASE-M), Version 12.2(35)SE5, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Thu 19-Jul-07 20:06 by nachen
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.696
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (513123093) 59 days, 9:20:30.93
SNMPv2-MIB::sysContact.0 = STRING:
SNMPv2-MIB::sysName.0 = STRING: SWT-05
SNMPv2-MIB::sysLocation.0 = STRING:
SNMPv2-MIB::sysServices.0 = INTEGER: 2
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
IF-MIB::ifNumber.0 = INTEGER: 28
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.4 = INTEGER: 4

Bacaninha….. prontinho….. agora é só analizar o arquiv e saber qual é exatamente que você quer obter via snmp e usar os OID’s para obte-la.

Ps.: No ZABBIX isto é uma mão na roda…

Espero que tenha ajudado.

Ps2.: Veja também sobre snmptranslate…. Só uma palinha sobre ele com o mesmo OID:
[root@monitor ~]# snmptranslate .1.3.6.1.2.1.1.1.0
SNMPv2-MIB::sysDescr.0
[root@monitor ~]#

  • 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

Relatos do FISL10

domingo, 28 de junho de 2009
Depois de muito tempo sem participar do FISL, este ano com o apoio da empresa onde trabalho, pude ir e participar do melhor de todos que já havia participado.
O último FISL que participei foi o 6, e já havia sido ótimo. Este me surpreendeu.
Das muitas coisas que achei bacana demais, 3 foram especiais.
A primeira foi a presença do Lula, conhecer as pessoas que somente conhecia pelo irc, twitter, jabber, gtalk ou identica e rever velhos amigos da minha cidade natal.
Vou colocar algumas fotos que tirei pelo FISL, e vou fazendo uma legenda em cada uma.

De FISL10

Lombra e eu

De FISL10

Mad Dog, Faw e Eu

De FISL10

Lombra, Gnuuuuuuuuu (Cascardo) e Eu

De FISL10

Lombra, Sene, Mussi e Eu

De FISL10

Lincoln ou Linconl… eu nunca sei

De FISL10

Na sequencia da direita para esquerda: Gabirel, Licio, Dudanogueira, Ceolin e Eu

De FISL10
Bons amigos de Linux-BH, Belo Horizonte e FISL… muitas histórias Global, Ceolin e Eu

De FISL10

Aqui é o povo de BH no samba…

De FISL10

eth0, Ulisses e eu

De FISL10

Um cara careca que não sei quem é e o Pretto

De FISL10

Tradutores do gnome, donoway e eu

De FISL10

Ursinha e eu

De FISL10

Aqui pra minha surpresa um ex aluno e agora amigo, apareceu em Porto Alegre…. Marcos ou Marcus e eu !

De FISL10

Lucas, Licio e eu (Ubunteros)

De FISL10

John Wendell, Eu, Vdepizzol e Lucas (Gnomeiros)

De FISL10

Marcelo Branco e Eu

De FISL10

O safado do Leleobhz e, adivinhem … EU

Daqui pra frente vou parar de colocar “EU”.

De FISL10

Eriberto (debian), saimos de Brasília para nos encontrar em Porto Alegre…

De FISL10

Denis Faria e Dani (Obrigado Presleyson por me ajudar a recordar o nome dela).

De FISL10

Este não é meu amigo, mas pelo menos assinou minha chave gpg hehehe, Bdale Garbee the grand father of debian.

De FISL10

Andrelop e Eriberto…

De FISL10

Corinto Meffe.

Esta foi só uma amostra do tanto de gente que eu encontrei lá em Porto Alegre no FISL deste ano.
Queria muito agradecer todos que pude encontrar, conhecer e rever por estes dias…. foram ótimos.
Aqui eu coloquei todas as fotos que tirei lá em Porto Alegre, claro que não falei de todo mundo que conheci lá, e não quero que fiquei bravos comigo, mas principalmente o pessoal de BH, queria dizer que foi muito bom estar com você estes poucos dias.
Este ano ainda vai ter o EMSL, talvez eu reveja mais pessoas caso eu vá, mas por hora foi muito bom.
Tirando tudo isso que já disse, destaco também a festa de assinatura de chaves e algumas poucas palestras legais.
Mas pra mim o auge do evento foi a oportunidade de ver pessoas.
Por hora é só.
Aqui vou deixar o link das fotos do evento.

http://picasaweb.google.com/jorge.flamarion/FISL10#

Obrigado

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

domingo, 21 de junho de 2009

Essas foi a primeira coisa que eu conseguir fazer, que envolve uma figura…… e melhor, foi no gimp.

Eu andei lendo algumas coisas sobre o gimp e vou brincar mais com gimp, pois gostei muito de conseguir criar algo que envolva cores e formas.
Eu particularmente, não tenho muita criatividade, pra dizer a verdade, não tenho criatividade nenhuma.
O que eu fiz foi usar um tutorial do RazGriz e criei esse quadrado coloriddo heheheheh, ficou da hora….mas feio pra caracolis. azar ta e ta postado.
Um abraço assim que eu evoluir nessa parade de criar coisas eu volto a postar aqui.
  • Google Bookmarks
  • Technorati Favorites
  • Twitter
  • Facebook
  • Google Buzz
  • LinkedIn
  • FriendFeed
  • Identi.ca
  • Orkut
  • Tumblr
  • Delicious
  • Reddit
  • WordPress
  • Share/Bookmark

O Último Fisl em Porto Alegre?

segunda-feira, 8 de junho de 2009

O Último Fisl em Porto Alegre?

Shared via AddThis

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