Como acesso o servidor Ubuntu em execução no VirtualBox de fora

44

Eu instalei o Ubuntu Server 12.04 LTS no meu laptop via VirtualBox. Eu instalei o LAMP, OpenSSH, servidor de email.

Quando entrei, corri ifconfig. Ele me deu o endereço inet como 192.168.0.3.

Então, esse deve ser o endereço pelo qual eu devo acessar o servidor, certo? Mas não consigo acessá-lo pelo navegador. O servidor está ativo no VirtualBox o tempo todo - mas ainda assim, ele não está funcionando em outros navegadores ou no meu celular. O que tenho que fazer para torná-lo acessível ao público?

Queixo
fonte

Respostas:

58

Por padrão, uma máquina convidada no VirtualBox está configurada para usar a chamada rede NAT - o IP do adaptador de rede do convidado está em uma sub-rede "virtual" que inclui o convidado e o aplicativo VirtualBox pai, que atua como um gateway. Para o hóspede, parece que ele está acessando a Internet através de algo como um modem DSL comum, mas o hóspede não pode ser acessado de qualquer lugar, assim como você não pode acessar máquinas na rede local pela Internet sem configurar especificamente o modem para permitir Acesso.

A documentação do VirtualBox possui a seguinte lista de modos de rede:

Cada um dos oito adaptadores de rede pode ser configurado separadamente para operar em um dos seguintes modos:

Não anexado

Nesse modo, o VirtualBox informa ao hóspede que uma placa de rede está presente, mas que não há conexão - como se nenhum cabo Ethernet estivesse conectado à placa. Dessa maneira, é possível "puxar" o cabo Ethernet virtual e interromper a conexão, o que pode ser útil para informar um sistema operacional convidado que nenhuma conexão de rede está disponível e impor uma reconfiguração.

Tradução de Endereço de Rede (NAT)

Se tudo o que você deseja é navegar na Web, baixar arquivos e visualizar emails no convidado, esse modo padrão deve ser suficiente para você e você pode pular com segurança o restante desta seção. Observe que existem certas limitações ao usar o compartilhamento de arquivos do Windows (consulte a seção “Limitações de NAT” para obter detalhes).

Rede em ponte

Isso é para necessidades de rede mais avançadas, como simulações de rede e servidores em execução em um convidado. Quando ativado, o VirtualBox se conecta a uma das suas placas de rede instaladas e troca pacotes diretamente, contornando a pilha de rede do sistema operacional host.

Rede interna

Isso pode ser usado para criar um tipo diferente de rede baseada em software que é visível para máquinas virtuais selecionadas, mas não para aplicativos em execução no host ou no mundo externo.

Rede somente host

Isso pode ser usado para criar uma rede que contém o host e um conjunto de máquinas virtuais, sem a necessidade da interface de rede física do host. Em vez disso, uma interface de rede virtual (semelhante a uma interface de loopback) é criada no host, fornecendo conectividade entre as máquinas virtuais e o host.

Rede genérica

Os modos raramente usados ​​compartilham a mesma interface de rede genérica, permitindo ao usuário selecionar um driver que possa ser incluído no VirtualBox ou ser distribuído em um pacote de extensão.

Se você precisar acessar seu convidado de fora, precisará configurar a rede em ponte, que dará ao seu convidado seu próprio IP na rede local. A configuração é feita nas configurações do VirtualBox, não no SO convidado.

Para poder acessar o servidor do seu celular (ou seja, de fora da sua LAN), após configurar a rede, você precisará adicionalmente configurar o encaminhamento de porta no seu modem DSL.

Sergey
fonte
3
+1 por mencionar a configuração NAT padrão e sugerir uma ponte.
Mark Mikofski
+1 por me ensinar algo novo, útil e relevante para minha situação. Obrigado!
precisa saber é o seguinte
Obrigado pela resposta, mas não preciso instalar o DNS no meu servidor para torná-lo acessível a outras pessoas pela Internet?
Chins
@Chins: Não, você definitivamente não precisa instalar o DNS no seu servidor. Tudo o que discutimos até agora não envolve DNS.
Sergey
1
@ Emery - eu configurei minha vm com o Bridged Adapter. O endereço IP exibido na execução do ifconfig é 10.210.xx, mas ainda não consigo colocar minha vm na máquina host. O que pode estar errado?
Andy Dufresne
9

Para fornecer um pouco mais de informação, estas são as etapas reais a serem seguidas para configurar uma rede em ponte:

Para ativar a rede em ponte, tudo o que você precisa fazer é abrir a caixa de diálogo Configurações de uma máquina virtual, vá para a página "Rede" e selecione "Rede em ponte" na lista suspensa do campo "Anexado a". Por fim, selecione a interface do host desejada na lista na parte inferior da página, que contém as interfaces de rede físicas de seus sistemas. Em um MacBook típico, por exemplo, isso permitirá que você selecione entre "en1: AirPort" (que é a interface sem fio) e "en0: Ethernet", que representa a interface com um cabo de rede.

Fonte

Reiniciei a máquina virtual e consegui conectar-me a ela externamente.

mnd
fonte
Tenha em mente, no Mac OS 10.1.11, pelo menos, por exemplo, não é permitido para colmatar o adaptador Wi-Fi diretamente, mas é preciso primeiro criar um 'adaptador de ponte' nas configurações de rede
twicejr
1
mas como coisas como endereços IP estáticos funcionam no modo de ponte? Está tudo na mesma conexão então? Um servidor da Web na VM estaria no host local em vez de algum endereço IP? As portas são encaminhadas 1: 1? Portanto, se o Tomcat estiver na VM no localhost: 8080, a máquina host digita localhost: 8080 no navegador para ver a VM?
anon58192932