Meu sistema operacional host é o Ubuntu 12.04 e estou executando uma pilha LAMP lá. Tenho várias máquinas virtuais Windows (XP e Windows7) rodando no Virtual Box para poder testar IE6, IE7, etc.
Frequentemente movo este laptop entre algumas redes sem fio e às vezes fico sem conexão com a Internet. Faço uma pausa e salvo o estado de execução da VM. Independentemente disso, quero que as máquinas virtuais possam acessar os sites que estou hospedando localmente no Ubuntu. As máquinas virtuais não precisam de acesso regular à Internet. No host posso apontar o navegador para localhost ou qualquer subdiretório que o apache esteja servindo e visualizar as páginas que já configurei. Qual é a melhor configuração para isso?
Devo usar adaptadores virtuais Bridged ou NAT e os convidados devem usar IPs estáticos ou DHCP? Também considerei usar redes ad-hoc entre convidados e host, mas acho que isso exigirá que o host se desconecte de quaisquer outras redes (com acesso à Internet).
Responder1
Use uma configuração NAT. Então você deve obter uma rede virtual onde todas as suas VMs e seu host tenham uma NIC conectada entre si. O host também está encaminhando para uma Internet mais ampla, embora você não precise disso. Ele deve funcionar de forma transparente com conexões indo e vindo de qualquer maneira, a menos que algum outro software o quebre (o NetworkManager às vezes faz coisas estranhas se você usar isso).
Configure o Apache para ouvir apenas a NIC virtual (ou seu endereço. Esqueci como o Apache gosta) e certifique-se de iniciar o Apachedepoisconfigurando a rede. A maioria das configurações terá o endereço da NIC do host estático com um número baixo no grupo final. Os clientes podem usar DHCP ou não, o que for mais fácil de configurar, não importa (você não quer que o site que você faz funcione apenas para IPs específicos, não é?).
Cole o endereço do host no /etc/hosts
arquivo das máquinas convidadas para que você possa acessar o servidor com um nome de domínio sem executar ou registrar-se em um servidor DNS.
Editar:
Supondo que você use o VirtualBox conforme marcado, você pode querer usar a configuração "Somente host", já que a configuração NAT que ele faz suporta apenas um cliente por rede (pelo menos parece que sim. O VMware faz os dois da mesma maneira, mas pula o encaminhamento somente para host. O mesmo se aplica se você mesmo configurar a rede.).
Crie uma rede em File-> Preferences-> Network, escolha o endereço do host e configure o DHCP. Selecione a mesma rede para todas as máquinas convidadas. Lucro.
A NIC do host aparecerá quando você executar ip addr
um shell, provavelmente chamado vboxnet0
, pronto para o Apache começar a escutar. Você também pode configurar iptables
o encaminhamento se decidir que deseja acesso à Internet a partir das VMs.