Come accedo al server Ubuntu in esecuzione in VirtualBox dall'esterno


44

Ho installato Ubuntu Server 12.04 LTS sul mio laptop tramite VirtualBox. Ho installato LAMP, OpenSSH, Server di posta.

Mentre eseguivo l'accesso, ho corso ifconfig. Mi ha dato l'indirizzo inet come 192.168.0.3.

Quindi, questo dovrebbe essere l'indirizzo attraverso il quale dovrei essere in grado di accedere al server giusto? Ma non riesco ad accedervi tramite browser .. il server è sempre attivo su VirtualBox-- ma non funziona su altri browser o sul mio cellulare. Cosa devo fare per renderlo accessibile al pubblico?

Risposte:


58

Per impostazione predefinita, un computer guest in VirtualBox è configurato per utilizzare la cosiddetta rete NAT: l'IP dell'adattatore di rete del guest si trova in una sottorete "virtuale" che include il guest e l'applicazione VirtualBox padre che funge da gateway. Per l'ospite sembra che acceda a Internet tramite qualcosa come un normale modem DSL, ma all'ospite non è possibile accedere da nessuna parte, proprio come non è possibile accedere alle macchine della rete locale da Internet senza configurare specificamente il modem per consentire tale accesso.

La documentazione di VirtualBox contiene il seguente elenco di modalità di rete:

Ognuno degli otto adattatori di rete può essere configurato separatamente per funzionare in una delle seguenti modalità:

Non allegato

In questa modalità, VirtualBox segnala al guest che è presente una scheda di rete, ma che non è presente alcuna connessione, come se nella scheda non fosse stato inserito alcun cavo Ethernet. In questo modo è possibile "tirare" il cavo Ethernet virtuale e interrompere la connessione, il che può essere utile per informare un sistema operativo guest che non è disponibile alcuna connessione di rete e imporre una riconfigurazione.

Network Address Translation (NAT)

Se tutto ciò che desideri è navigare sul Web, scaricare file e visualizzare la posta elettronica all'interno del guest, questa modalità predefinita dovrebbe essere sufficiente per te e puoi saltare in sicurezza il resto di questa sezione. Si noti che ci sono alcune limitazioni quando si utilizza la condivisione di file di Windows (vedere la sezione chiamata "Limitazioni NAT" per i dettagli).

Collegamento in rete a ponte

Questo è per esigenze di rete più avanzate come simulazioni di rete e server in esecuzione in un guest. Quando abilitato, VirtualBox si collega a una delle schede di rete installate e scambia direttamente i pacchetti di rete, aggirando lo stack di rete del sistema operativo host.

Rete interna

Questo può essere usato per creare un diverso tipo di rete basata su software che è visibile alle macchine virtuali selezionate, ma non alle applicazioni in esecuzione sull'host o sul mondo esterno.

Rete solo host

Questo può essere usato per creare una rete contenente l'host e un set di macchine virtuali, senza la necessità dell'interfaccia di rete fisica dell'host. Invece, sull'host viene creata un'interfaccia di rete virtuale (simile a un'interfaccia di loopback), che fornisce connettività tra macchine virtuali e host.

Rete generica

Le modalità usate raramente condividono la stessa interfaccia di rete generica, consentendo all'utente di selezionare un driver che può essere incluso con VirtualBox o distribuito in un pacchetto di estensione.

Se è necessario accedere al proprio ospite dall'esterno, è necessario configurare una rete bridge, che fornirà al proprio ospite il proprio IP nella rete locale. La configurazione viene eseguita nelle impostazioni di VirtualBox, non nel sistema operativo guest.

Per poter accedere al server dal tuo cellulare (ovvero dall'esterno della tua LAN), dopo aver configurato la rete dovrai inoltre impostare il port forwarding sul tuo modem DSL.


3
+1 per menzionare la configurazione NAT predefinita e suggerire un ponte.
Mark Mikofski,

+1 per avermi insegnato qualcosa di nuovo, utile e pertinente alla mia situazione. Grazie!
Hypaleblue,

Grazie per la risposta, ma non devo installare DNS sul mio server inorder per renderlo accessibile ad altri su Internet?
Menti

@Chins: No, sicuramente non è necessario installare DNS sul tuo server. Tutto ciò di cui abbiamo discusso finora non riguarda affatto il DNS.
Sergey

1
@Sergey - Ho configurato la mia VM con Bridged Adapter. L'indirizzo IP visualizzato nell'esecuzione di ifconfig è 10.210.xx ma non riesco ancora a stucco la mia VM dal computer host. Cosa potrebbe esserci di sbagliato?
Andy Dufresne,

9

Per fornire un po 'più di informazioni, questi sono i passi da compiere per configurare una rete con bridge:

Per abilitare il collegamento in rete a ponte, è sufficiente aprire la finestra di dialogo Impostazioni di una macchina virtuale, andare alla pagina "Rete" e selezionare "Rete a ponte" nell'elenco a discesa per il campo "Attaccato a". Infine, seleziona l'interfaccia host desiderata dall'elenco in fondo alla pagina, che contiene le interfacce di rete fisiche dei tuoi sistemi. Su un tipico MacBook, ad esempio, questo ti permetterà di selezionare tra "en1: AirPort" (che è l'interfaccia wireless) e "en0: Ethernet", che rappresenta l'interfaccia con un cavo di rete.

fonte

Ho quindi riavviato la macchina virtuale e sono stato in grado di connettermi esternamente.


Ricorda, almeno su Mac OS 10.1.11, ad esempio, non è consentito collegare direttamente l'adattatore
Wi

1
ma come funzionano gli indirizzi IP statici in modalità bridge? Quindi è tutto sulla stessa connessione? Un server Web sulla VM si troverebbe su localhost invece di un indirizzo IP? Le porte vengono inoltrate 1: 1? Quindi, se Tomcat è nella VM su localhost: 8080 la macchina host digita localhost: 8080 nel suo browser per vedere la VM?
anon58192932
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.