Diogo Santos

É sobre um cara aprendendo a fazer chover :)

Archive for maio, 2009

Redirecionando portas para uma máquina virtual com VirtualBox

leave a comment

Afim de criar um servidor pessoal de desenvolvimento, instalei o Ubuntu 8.10 x64 numa máquina virtual usando o VirtualBox para Mac e redirecionei algumas portas do Mac para esta máquina virtual.

O redirecionamento foi preciso porque a rede da máquina virtual é configurada com NAT, ou seja, a máquina virtual consegue acessar qualquer computador na rede, mas nenhum computador consegue acessá-la.

Escolhi o VirtualBox para criar a máquina virtual, pois já havia lido um artigo que dizia que ele tem uma ferramenta, o VBoxManage, que permite configurar redirecionamento de portas para máquinas virtuais criadas por ele.

O primeiro redirecionamento que fiz foi para porta 22 da minha máquina virtual, para acessá-la via SSH. Não querendo comprometer o SSH do meu Mac, utilizei a porta 2222 para redirecionar para porta 22 da máquina virtual.

Executei os seguintes comandos no Terminal do Mac, veja:

VBoxManage setextradata <guestname> \"VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort\" 2222
VBoxManage setextradata <guestname> \"VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort\" 22
VBoxManage setextradata <guestname> \"VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol\" TCP

É necessário trocar “<guestname>” pelo nome da máquina virtual e no meu caso usei a string “/pcnet/”, porque a minha máquina virtual usa uma placa de rede da pcnet. Se a sua máquina virtual não usa placa de rede da pcnet, eu não sei o que você deverá informar no lugar de “/pcnet/”, talvez “/intel/” se for uma placa da Intel, mas não estou certo disto.

A string “/ssh/” foi informada simplesmente para fins de identificação da configuração, portanto, se estivesse criando um redirecionamento para a porta 80, teria informado algo como  ”/web/” ou “/httpd/”.

É também possível rodar um outro comando com o VBoxManage para ver as configurações feitas para uma máquina virtual:

VBoxManage getextradata <guestname> enumerate

Mais uma vez, é necessário trocar “<guestname>” pelo nome da máquina virtual. E caso haja alguma configuração que queira excluir, basta executar um comando de configuração sem informar qualquer valor:

VBoxManage setextradata <guestname> \"VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort\"

Uma vez tendo executado comandos de configuração com o VBoxManage, é necessário dar um “Shutdown” na máquina virtual – eu tentei um “Restart”, mas não funcionou.

Written by Diogo Santos

maio 13th, 2009 at 5:53 pm

Get Adobe Flash playerPlugin by wpburn.com wordpress themes