segunda-feira, 16 de junho de 2008

Fazendo uma conexão bridge no VirtualBox

Olá amiguinhos,

Muita gente gosta de usar o VirtualBox por ser leve e prático e ser opensource. Mas um problema é que ele não faz conexão por bridge, sendo assim, impossível o seu sistema operacional se comunicar com o sistema operacional virtualizado. Mas, sempre existe um esqueminha né? Fiz esses testes no Ubuntu e no Debian e funcionou perfeitamente. Vamos lá.

Instale os seguintes pacotes:

# aptitude install bridge-utils uml-utilities


Agora vamos criar as interfaces que farão a conexão bridge. Vamos utilizar a interface eth0 para fazer o bridge. Se você possui uma conexão pppoe utilize ela, ou qualquer outra interface que esteja recebendo a conexão. Execute o seguinte comando:

# tunctl -t tap1 -u anderson


Com esse comando, criamos a interface tap1 para ser usada pelo usuário anderson. Essa interface que será usada no VirtualBox. Agora vamos criar uma interface de bridge com o seguinte comando:

# brctl addbr br0


Vamos colocar a eth0 (ou sua interface de conexão escolhida) em modo promiscuo, para aceitar conexãoes de outros MACs. Execute o seguinte comando:

# ifconfig eth0 0.0.0.0 promisc


Agora vamos adicionar a interface eth0 a interface de bridge. Execute:

# brctl addif br0 eth0


Preciamos definir um IP para nossa interface de bridge. Seja por DHCP ou estático:

# dhclient3 br0


ou

# ifconfig br0 192.168.0.10


Adicionamos a interface virtual a interface bridge:

# brctl addif br0 tap1


Terminamos a configuração da nossa conexão bridge, vamos levantar a interface tap1:

# ifconfig tap1 up


Agora vamos configurar o VirtualBox para receber essa conexão. Abra seu VirtualBox. Nas preferências de sua máquina virtual, clique em Rede:



Na opção Ligado a, escolha Interface do Hospedeiro. Vai abrir uma caixa de texto abaixo denominado Nome da Placa de Rede, digite tap1:



Clique em OK. Agora antes de inicializar a máquina virtual, é preciso dar permissão de escrita em dois arquivos:

# chmod 666 /dev/net/tun
# chown root:vboxusers /dev/net/tun


Agora inicie a sua máquina virtual. Se estiver com o DHCP configurado, provavelmente ele vai pegar o IP da rede e as máquinas conseguirão pingar na sua máquina virtual.

Espero ter ajudado.

Enjoy...

2 comentários:

Peres Julião disse...

Olá, Clayton

Estou usando Ubuntu 8.10 em ambas partes, tanto como hospedeiro de minha máquina virtual como na máquina virtual. Após seguir suas configurações não consegui ter acesso a rede, penso que pode ser por que tenho acesso a internet a uma rede sem fio. Isso pode atrapalhar em alguma coisa?

Anderson Clayton disse...

Olá,

Creio que sim, acho que esse esquema não funciona muito em com rede sem fio, mas quando eu testei, a rede funcionou dentro do virtualbox, mas não fora dele. Então, provavelmente, haja problemas com rede sem fio.

Abraços.