segunda-feira, 31 de agosto de 2009

Criando bridge de interface de Rede no Debian for Virtualbox

Olá pessoal,
um problema que eu tive e queria compartilhar a sua resolução...
Instalei o Virtualbox no Ubuntu 9.04 (Minha estação de trabalho) para instalar o Debian (Virtual) para testes. O problema é que o Virtualbox não cria um bridge automaticamente para a maquina virtual participar da rede normalmente como uma máquina a mais dentro dela. O jeito foi fazer a configuração do bridge na mão para simular em uma única placa de rede física duas placas de rede virtuais (uma para responder as requisições da máquina física e outra da máquina virtual). Vamos a configuração do bridge então:

O primeiro passo é instalar os pacotes bridge-utils e uml-utilities, como estava usando o Ubuntu instalei pelo seu gerenciador de pacotes:
# apt-get install bridge-utils uml-utilities

Primeiro temos que carregar o módulo que da suporte a criação de interface de rede virtual
# modprobe tun

Para verificar se o módulo foi levantado digite liste o conteúdo do diretório /dev/net e veja se a interface tun foi criada:

# ls -l /dev/net
crw-rw-rw- 1 root root 10, 200 2009-08-04 18:10 tun -> saída

Depois dê permissão de leitura e escrita na interface:
# chmod 666 /dev/net/tun

Depois disso crie a interface br0 que será a interface que faz o bridge entre as interfaces (físicas e virtuais)
# brctl addbr br0

Então coloque a interface eth0 (a usada no seu sistema) em modo promíscuo para aceitar todas as requisições (também as direcionadas a outros IP's):
# ifconfig eth0 0.0.0.0 promisc

Depois disso adicione a sua interface de rede a interface de bridge:
# brctl addif br0 eth0

Configure a rede para a interface de bridge (br0), como no exemplo:
# ifconfig br0 192.168.1.41 netmask 255.255.255.0
# route add default gw 192.168.1.1 dev br0

Crie uma interface virtual chamada tap1 dando permissão para seu usuário:
# tunctl -t tap1 -u seuusuario

Depois adicione ela, também, ao bridge e a levante:

# brctl addif br0 tap1
# ifconfig tap1 up

Pronto, depois disso o bridge é criado depois disso é só atribuir um ip normalmente para sua interface física. As configurações de rede na interface virtual (tap1) é feita pela maquina virtual que estará rodando nessa interface

Para configurar o Virtualbox para usar essa interface virtual vá em:
Configurações > Rede
Na aba Adaptador1 deixe a opção habilitar placa de rede marcada e em "Conectado a" selecione a opção "interface do hospedeiro". No painel abaixo: "Placas de Rede do Hospedeiro" selecione a placa virutual criada (tap1). Gere um endereço Mac para ela e use esse endereço para procurar a interface de rede criada no sistema virtual, como explicado no tutorial abaixo.

É isso, qualquer dúvida ou crítica é só colocar aí no comentário :)