Sábado, 17 de Maio de 2008

Habilitando a rede do VirtualBox com NAT no Linux

Até hoje - 17/05/2008 - não havia configurado a rede na maquina virtual do VirtualBox. Então resolvi fazer a configuração, mas me deparei com 3 escolhas providas pelo VirtualBox: Network Address Translation [NAT], Host Inferface [Bridge] e Internal Networking [Bridge Seguro].

Pesquisando um pouco no oráculo, encontrei no blog da Kessia Pinheiro um ótimo post sobre o assunto, VirtualBox, configurações de rede.

Escolhi o mais fácil(rsrsr) Network Address Translation [NAT]. Até por que evita ter que configurar IP externo, fica transparente para a rede externa, não utilizo muito a maquina virtual, etc, etc, ...

Para configurar a maquina virtual basta escolher a opção "NAT" em "Attached to" na sessão "Network" do "Settings" da maquina virtual, como mostrado na figura ao lado.

Para configurar o NAT no Linux segui o How-to do VirtualBox para redes.

Para facilitar criei um script que já faz o trabalho:

#!/bin/sh
#
# Habilita e desabilita o NAT na interface escolhida
# (utilizado p/ utilizar rede no VirtualBox)
#
#Author: Oscar Costa <oscarcosta at gmail dot com>
#Date: 17/07/2008
#

# programas utilizados
MODPROBE='sudo /sbin/modprobe'
IPTABLES='sudo /usr/sbin/iptables'

# verifica parametros
if [ "$#" != "2" ]
then
    echo "utilizacao: $0 [enable|disable] "
    exit
fi

# habilita ou desabilita a interface desejada
if [ "$1" = "enable" ]
then
    echo "enabling NAT..."
    $MODPROBE iptable_nat
    $IPTABLES -t nat -A POSTROUTING -o $2 -j MASQUERADE
    echo 1 | sudo tee -a /proc/sys/net/ipv4/ip_forward
elif [ "$1" = "disable" ]
then
    echo "disabling NAT..."
    $IPTABLES -t nat -F
    echo 0 | sudo tee -a /proc/sys/net/ipv4/ip_forward
fi

Segunda-feira, 12 de Maio de 2008

Alterando o proxy do firefox de forma mais inteligente

Hoje, dia 12 de maio de 2008, quando me ví alterando o proxy do navegado pela terceira vez no dia, resolvi buscar um programa para automatizar isso. Pensei logo em algum add-on para o Firefox.

Após fazer uma busca por proxy no site anteriormente referido. Encontrei vários complementos que visavam esconder a navegação utilizando proxies transparentes, etc...

Um que me chamou a atenção, ate mesmo por ter uma tarja de recomendado e depois pela primeira frase da descrição "FoxyProxy is a free, open-source advanced proxy management tool that completely replaces Firefox's limited proxying capabilities.", foi o FoxyProxy.

Fica ai a dica para as pessoas que precisam alterar o proxy do navegador pelo menos 2 vezes por dia.

Domingo, 11 de Maio de 2008

Configurando o Slackware para acessar uma rede wireless com criptografia wpa

A combinação "Nerd + Tempo ocioso" é igual a alguma coisa configurada!

Não foi por menos. Como a rede wireless de minha casa estava utilizando criptografia WEP que, funciona, é legal, fácil de configurar, porém pode ser quebrada em minutos (!), resolvi configurar o roteador com criptografia WPA. Que, é mais segura se utilizar chaves grandes e com caracteres aleatórios.

Configuração do Roteador


A configuração WPA do roteador é bem mais simples que a WEP. Basta digitar a chave de pré compartilhamento (Preshare Key)!

Configuração do Slackware


A configuração do Slackware não é tão trivial como a WEP, porém é simples. A seguir estão todos passos, lembrando que devem ser executados como root.

Geração da WPA PSK

Execute o comando a seguir, substituindo o essid pelo essid da sua rede, e a chave_compartilhada pela chave de pré compartilhamento, que foi configurada no roteador ou access point.

# wpa_passphrase essid chave_compartilhada
network={
ssid="essid"
#psk="chave_compartilhada"
psk=fb24f845137bfc161a9cc2e7ffdb3a2eb96cce5688b7ee3ef017eb4b20a66de8
}


Configuração do wpa_supplicant.conf

Edite o arquivo /etc/wpa_supplicant.conf incluindo nele a saída do wpa_passphrase. Na maioria das vezes basta executar um redirecionamento do comando anterior para o arquivo da seguinte forma:

# wpa_passphrase essid chave_compartilhada > /etc/wpa_supplicant.conf

Porém como estou utilizando o ndiswrapper com uma placa de rede wireless não muito confiável, preferi editar o arquivo na mão. Segue o arquivo configurado, com os campos editados em negrito:

# See /usr/doc/wpa_supplicant-0.5.10/wpa_supplicant.conf.sample
# for many more options that you can use in this file.

# This line enables the use of wpa_cli which is used by rc.wireless
# if possible (to check for successful association)
ctrl_interface=/var/run/wpa_supplicant
# By default, only root (group 0) may use wpa_cli
#ctrl_interface_group=0
eapol_version=1
ap_scan=2
fast_reauth=1

# WPA protected network, supply your own ESSID and WPAPSK here:
network={
scan_ssid=0
ssid="essid"
proto=WPA RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk=fb24f845137bfc161a9cc2e7ffdb3a2eb96cce5688b7ee3ef017eb4b20a66de8
}

O campo #ctrl_interface_group=0 não é necessário, pois está DEPRECATED.
O campo ap_scan=2 foi alterado para 2 para forçar encontrar o SSID.
O campo ssid="essid" foi preenchido com o nome da rede wireless.
O campo psk=fb24f845137bfc161a9cc2e7ffdb3a2eb96cce5688b7ee3ef017eb4b20a66de8 foi preenchido com a senha gerada pelo wpa_passphrase.

Inicializando a rede

Após tudo configurado, basta utilizar o comando wpa_supplicant para subir a interface já autenticada na rede.

# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -D wext -Bw

Após isso é preciso configurar a rede com IP fixo, via ifconfig, ou com IP dinâmico, via dhcpcd.

Script de conexão

Para não ter que abrir um terminal toda vez que quero utilizar a rede, e para não inicializar a rede no boot, resolvi criar um script para isso:

#!/bin/bash
#
# Script para inicialiar a rede wireless com wpa_supplicant no Slackware
# author: Oscar Costa
#

# Comandos de rede e wpa
IFCONFIG='sudo /sbin/ifconfig'
DHCPCD='sudo /sbin/dhcpcd'
WPASUPPLICANT='sudo /usr/sbin/wpa_supplicant'

# Configurações locais
DEVICE='wlan0'
WPACONF='/etc/wpa_supplicant.conf'
WPADRIVE='wext'

# Executa o wpa_supplicant
$WPASUPPLICANT -i $DEVICE -c $WPACONF -D $WPADRIVE -Bw

# Sobe a interface de rede
# $IFCONFIG $DEVICE up

# Recupera o IP via DHCP
$DHCPCD -t 10 $DEVICE

# Verifica se a rede wireless inicializou
if [ -z '$IFCONFIG $DEVICE | grep "inet addr:"' ]
then
echo 'ERRO: não conseguiu obter IP!'
fi


Enquanto não tomo coragem para configurar o wifi-radar ou o NetWorkManager este script vai me servir bem!

Quarta-feira, 2 de Abril de 2008

Compartilhamento no VirtualBox

Uma feature bem interessante no VirtualBox, também presente em outras máquinas virtuais, é o compartilhamento de pastas entre hospedeiro e hospedes.

Compartilhamento no VirtualBox

Sei que estes passos estão bem divulgados na Internet. Encontrei 546.000 páginas no google utilizando o termo de busca virtualbox share e 35.900 páginas para o termo virtualbox compartilhamento. Más como estou postando as minhas impressões sobre esta ferramenta, esta será mais uma página indexada nas ferramentas de busca. ;)

A configuração deste compartilhamento é muito fácil, não sendo necessária nenhuma configuração de rede IP ou mesmo de rede Samba (caso os SOs sejam bem diferentes). O processo é realizado em três passos:

1. Compartilhar a pasta no hospedeiro.


O processo de compartilhamento pode ser realizado através da interface gráfica de forma muito intuitiva. Ou através do comando
VBoxManage sharedfolder add [maquina-virtual] -name [nome-do-compartilhamento] -hostpath [caminho-da-pasta].

2. Instalar os Guest Additions no hospede.


Para realizar esta instalação basta clicar em "Devices" e em "Install Guest Additions..." na barra de menus do VirtualBox no hospede.

3. Mapear a unidade de rede no hospede.


Este é o passo mais difícil, pois depende de cada SO. No Windows XP, deve-se abrir uma janela do Windows Explorer, clicar em "Ferramentas" e em "Mapear Unidade de Rede...". Após isso preencher o caminho da pasta com \\vboxsvr\[nome-do-compartilhamento] Ou abrir um terminal e digitar o comando
net use X: \\vboxsvr\[nome-do-compartilhamento].

Sexta-feira, 28 de Março de 2008

VirtualBox no Slackware 12

A pouco tempo instalei e configurei o Windows XP em uma máquina virtual, utilizando o VirtualBox. Como muitas pessoas me perguntam da dificuldade de instalar aplicativos no Slackware, por este não ter gerenciadores de pacotes como o apt-get e o yum, resolvi compartilhar as dificuldades (?!) da instalação e configuração do VirtualBox no Slackware 12.

Download


O primeiro passo consiste em fazer o download do VirtualBox, no endereço: http://www.virtualbox.org/wiki/Downloads

1. Escolha a verão já compilada clicando no link Binaries (all plataforms).
2. Na próxima tela escolha a versão Linux i386, concorde com o termo de licença e clique em Continue.
3. Agora, basta clicar com o botão direito no link VirtualBox_1.5.6-1_Linux_x86.run e salvar em qualquer lugar de sua escolha.


Instalação


O segundo passo consiste na instalação do VirtualBox.

1. Como root entre do diretório onde o instalador foi salvo e de permissão de execução para ele com o comando:
chmod +x VirtualBox_1.5.6-1_Linux_x86.run
2. Execute o instalador com o comando:
./VirtualBox_1.5.6-1_Linux_x86.run
3. Para finalizar, inclua seu usuário, ou o(s) usuário(s) que ter[á|ão] permiç[ão|ões] para utilizar o VirtualBox.
3.1. Esta etapa pode ser feita ao modo tradicinal, editando o arquivo /etc/groups (de preferência utilizando o vi) e incluindo o(s) usuário(s) no grupo vboxusers. Ou através de qualquer ferramenta gráfica que faça isso.


Execução


Para executar o VirtualBox, execute o comando VirtualBox em um terminal, ou crie um link para utilizar o mouse para fazer isso. ;)

Conclusões


A maior dificuldade que tive foi sem sombra de dúvidas baixar o VirtualBox certo. ;)

Antes que eu me esqueça, a configuração de uma maquina virtual é muito simples, toda realizada através de uma interface bem intuitiva. E a instalação de um Sistema Operacional na maquina virtual é idêntica a instalação de um SO em um computador normal.

Este é o resultado:
Win XP virtualizado

Domingo, 17 de Fevereiro de 2008

IBM developerWorks Live!

Dia 11 de Março tem início mais uma série de palestras do IBM developerWork Live! Os temas desta vez são Segurança para aplicações coorporativas e Gerenciamento de mudanças e distribuição.

O local do evento (em Belo Horizonte) será:
Hotel Mercure
Av. do Contorno, 7315, Lourdes
Belo Horizonte, Minas Gerais, Brazil

O evento também ocorrerá dia 13 de Março em Curitiba e dia 18 de Março em São Paulo. As inscrições são gratuitas e as vagas limitadas.

Mais informações e inscrição neste link.

Quarta-feira, 13 de Fevereiro de 2008

Freelancer...

Saiu no IDG NOW alguns dos resultados da pesquisa realizada pela Freelances Witch com 3700 Freelancers em todo o mundo. A pesquisa aborda questões relacionadas a salário, tempo, satisfação, entre outras.

Um ponto interessante que a pesquisa original aponta e que, a reportagem do idg não traz é a informação de que 49,7% dos entrevistados trabalham menos agora, como freelancer, do que quando trabalhavam como empregados. Isso deve influenciar o fato de que 89% dos entrevistados estão mais felizes como freelancer.

A reportagem brasileira também não disse que quem respondeu ao questionário concorria a prêmios "simbólicos", como um fone de ouvido de $50,00 (dólares), um livro de exercícios (mentais, é claro), um hd externo (pequeno, mas muito útil) e um nintendo wii... Já estou esperando o questionário de 2008!

Isso, se eu me tornar freelancer, o que é difícil. Principalmente pela segurança que um emprego fixo proporciona - senti isso na pele, ou melhor no apêndice, ano passado. Mesmo recebendo menos pelo mesmo trabalho, as leis trabalhistas brasileiras "ainda" ajudam o proletariado.

Uma opção, que muitos adotam no Brasil e, acredito que, no mundo, é manter seu emprego fixo e pegar trabalhos como freelancer. Porém a idéia de sair de uma empresa as 18:00 e entrar em outra (ou ate mesmo continuar trabalhando em casa) logo em seguida, não me agrada.

Pena que a jornada de trabalho para os profissionais de TI é fixa e um tanto quanto rígida, como para quase todos os outros profissionais. Enquanto as empresas -e as leis- não evoluem, flexibilizando as coisas. Nós vamos seguindo em frente...