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.
Há tempos eu venho tentando mudar de vez pro 