Seu problema básico (ter um IP estático) não está relacionado à VM. Em vez de usar uma interface de rede bridged > (ou seja, o sistema guest faz sua própria rede), você poderia, em teoria, usar NAT e redirecionamento de porta e configurar o sistema host para ter um IP estático.
Infelizmente, não é possível configurar um endereço IPv4 estático. Em uma rede IPv4, cada nó possui sua própria tabela de roteamento. Normalmente, a maioria dos nós enviará tráfego para sua rede local (começando com 192.168., 10. ou 172.16-31. *) Diretamente para o PC de destino. Infelizmente, os endereços usados na rede podem ser qualquer um dos itens acima e seu endereço preferido já pode ser usado.
Isso nos deixa com um endereço IPv4 global. O roteamento para aqueles é configurado no núcleo da Internet e esse roteamento deve ser configurado pelo ISP e pelo gateway local para a Internet. Isso não é viável e não permite a readmissão dinâmica.
O padrão IP móvel que permitiria esse reencaminhamento não teve uma implementação generalizada. O IPv4 móvel funciona com um sistema que gerencia seu endereço IPv4 global e redireciona-o para sua localização atual.
Você pode conseguir algo assim hoje usando uma VPN : Configurar uma VPN servidor com um IP estático em algum lugar da Internet, e tenha sua VM do Ubuntu Server conectada a ele. Em seguida, redirecione as portas em questão do servidor VPN para o cliente.
Se uma constante nome que mapeia o endereço IP atual for suficiente, você pode usar um serviço dyndns . Eles fornecem um nome de domínio que você pode atualizar com um utilitário cliente executado em sua VM. Dessa forma, você pode apontar my-ubuntu-vm.dyndns-provider.net
para o endereço local atual em uso.
Em vez de registrar um nome DNS global, você também pode usar DNS multicast com avahi . Após a configuração , sua VM estará acessível sob um nome como my-ubuntu-vm.local
. Infelizmente, o DNS multicast requer software adicional. Embora muitos sistemas Linux e Mac OS X o suportem de imediato, os sistemas Windows não o suportam. Você pode instalar o Bonjour da Apple (também oferecido juntamente com Apple Safari ) nesses sistemas.
Se o dyndns não funcionar para você (você realmente precisa de um IP, e não um nome, ou os tempos de atualização são muito irregulares), e você tem uma conexão de internet quase constante, recomendo mover o sistema VM para um host que tem um endereço IP global. Isso tem as mesmas desvantagens da solução VPN (não funciona quando você não está conectado à Internet e você terá que pagar pelo servidor e pelo endereço global), mas é relativamente fácil de configurar.
Se você quiser acessar a VM somente a partir do próprio host , basta usar NAT e Port Forwarding (agora disponível na GUI para, via Devices
- > Network Adapters
) . Redirecione as portas (por exemplo, redirecione o servidor HTTP do cliente da porta 80 no convidado para a porta 2080 no host) e use a porta modificada. Passo-a-passo:
- Vá para a guia de rede. Se a VM estiver em execução, selecione
Devices
- > %código%. Se não estiver, clique com o botão direito do mouse, selecione Configurações (ou clique no botão Configurações) e vá para a guia Rede. - Verifique se há apenas um adaptador e se ele está definido como NAT. (Se você mudar alguma coisa aqui, você precisa reconfigurar a VM)
- Abra
Network Adapters
na guia "Rede". - Clique em
Advanced
. - Adicione uma regra. Configure a porta do host para uma porta alta (como 2080) e a porta do cliente para a porta que você deseja redirecionar (80 para HTTP, 22 para ssh).
- Insira
Port Forwarding
no navegador do seu sistema host para acessar o servidor HTTP do cliente.
Se você precisar dos serviços para rodar nas mesmas portas, você também pode adicionar uma interface adicional (exceto a do NAT) e configurá-la para somente host . Isso fará com que uma nova interface apareça em seu sistema host, e você poderá usar as reservas do VirtualBox IP privado para que esta rede se comunique com o convidado. Passo a passo:
- Encerre a VM.
- Clique com o botão direito do mouse na VM no gerenciador e selecione
http://localhost:2080
. - Vá para a guia
Settings
. - Configure duas interfaces: uma como NAT (para permitir que sua VM acesse a Internet), a outra como somente host (para permitir que seu host se comunique com o convidado).
- Inicialize a VM e digite
Network
para descobrir seu endereço. Você quer aquele começando com/sbin/ifconfig
. - Use esse endereço no sistema host.