Acessando o VirtualBox de fora

VirtualBox é um emulador de PCs,e assim como o VMware é capaz de criar máquinas virtuais que permitem rodar N sistemas operacionais ao mesmo tempo. A diferença entre os dois é que o VirtualBox é livre (possui versão paga) , e o vmware é totalmente fechado e caro. Ok, podem me chamar de traidor do movimento, mas o VMware comanda, em todos os sentidos ele é melhor que o VirtualBox, por isso sou beta tester e não pago por ele 😛

O grande problema do VirtualBox é a dificuldade de se fazer coisas simples, como configurar uma Bridge entre o sistema real e o virtual, enquanto no vmware ou parallels tudo é ridiculamente simples, no virtualbox chega quase a ser um parto, duvida ?

O sistema usado para os testes foi o debian lenny , segue a instalação dos pacotes de bridge, estou assumindo que o seu virtualbox já está rolando :


apt-get install bridge-utils iproute iptables

Use os seguintes comando no terminal para ativar o bridge :


# Configurando a interface virtual Tap1
tunctl -t tap1 -u
ip link set up dev tap1

No campo coloque o nome do usuário que vai fazer a ponte.


# Criando a ponte
brctl addbr br0
brctl addif br0 tap1

Finalmente arrumando os IPs:


# set the IP address and routing
ip link set up dev br0
ip addr add 10.1.1.1/24 dev br0
ip route add 10.1.1.0/24 dev br0

O IP 10.1.1.1 é o ip do Host que a máquina virtual vai usar como gateway, ou seja, sua máquina virtual vai ter que usar um ip da mesma rede do gateway.

Agora o mais divertido, configurando o iptables para rotear uma porta da máquina virtual para a máquina real :

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i eth0 -p tcp -d xxx.xxx.xxx.xxx --dport 8080 -j DNAT --to 10.1.1.2:8080
iptables -A FORWARD -i eth0 -p tcp -d xxx.xxx.xxx.xxx --dport 8080 -j ACCEPT

No lugar de xxx.xxx.xx.xxx.xxx use o IP da sua máquina real. Agora a porta 8080 da máquina virtual é acessível de fora, ou seja da porta 8080 máquina real

Pra finalizar, você deve configurar o seu VirtualBox para usar uma Host Interface nas configurações de rede, o Device a ser usado deve ser a tap1, e mais uma coxisse que deve ser corrigida, as permissões dos devices que o VirtualBox usa :


chmod 666 /dev/vboxdrv /dev/net/tun

Sem isso nada vai funcionar, alias o programa vai dar um erro -3100, mensagem nada intuitiva.

Na boa, VirtualBox é um programa muito mal acabado, sua interface aparentemente simples esconde verdadeiras armadilhas para um usuário comum ou alguém com pouco tempo livre para pesquisar em fóruns por soluções. Eu gastei umas duas horas lendo a documentação oficial em PDF e só perdi meu tempo. Apesar de tudo ele tem um desempenho decente, mas como disse, não é um software pronto, e com concorrentes como vmware e parallels sua viabilidade economica está correndo perigo.

E viva o qemu !!!

2 thoughts on “Acessando o VirtualBox de fora

  1. Kram3r

    Ae liquuid, seria bem legal você re-escrever o post. já viu como está o VB novo(3.0.4)? Não deixa a desejar em nada (pelo menos pra mim).
    O que ficou fácil e que eram as principais reclamações?
    Virtualização me modo texto (para instalação em servidores remotos)
    Utilização de recursos 3D das placas de video (ATI funfou beleza)
    Configuração das placas de rede (bridge e nat de forma simples)
    entre outras coisas que me fizeram realmente voltar a utilizar o Vbox.
    Porém, para servidores ainda continuo com o XEN.

  2. liquuid Post author

    Me recuso a retocar um post de 2008 ! 😛

    Quando escrevi isso o Vbox era 1.x ehhee e as reclamações eram bem válidas … fica ai registrado para fins históricos o quanto o Virtual Box foi anti usuário.

Comments are closed.