Come consentire a un guest VirtualBox (che esegue Windows) di accedere a Internet?


30

Ho una macchina virtuale VirtualBox. Il computer host esegue Ubuntu. La macchina guest (virtuale) esegue Windows XP.

Ho cercato su Google questo problema e la gente afferma di averlo risolto cambiando il tipo di adattatore in NAT, ma per me non esiste tale opzione:

inserisci qui la descrizione dell'immagine

Qualche idea?

Aggiornare:

Non ha funzionato neanche, dopo averlo semplicemente passato a NAT. Ecco le impostazioni correnti (con tutti i dettagli mostrati):

inserisci qui la descrizione dell'immagine

Ecco uno screenshot dell'ospite che mostra alcune informazioni di rete:

(Si noti che questa domanda riguarda come fornire un accesso a Internet con VM in VirtualBox, quindi la presenza di un'immagine di Windows non rende automaticamente questo fuori tema!)

inserisci qui la descrizione dell'immagine

Immagine più grande qui.

Risposte:


34

Impostazione di NAT

NAT non è un'opzione per Tipo di adattatore . Piuttosto, è un'opzione per Allegato a .

Fai clic nel punto in cui è indicato Bridged Adapter e dovresti essere in grado di selezionare NAT .

A proposito, il motivo per cui la modifica in NAT a volte aiuta non è specifico per gli ospiti Windows. Piuttosto, se il tuo PC fisico (host) si trova su una LAN, Bridged Adapter (così come NAT ) di solito funziona bene. Se il tuo PC fisico ha una connessione di rete per un solo computer - come spesso accade se è collegato direttamente a un modem via cavo / DSL / ISDN che ha solo una porta Ethernet su di esso - allora non esiste una rete locale su cui collegarsi , quindi è necessario utilizzare NAT .

Se si utilizza Bridged Adapter e il computer host si trova su una LAN fisica, il computer guest sarà automaticamente in grado di vedere ed essere visto dai computer sulla LAN. Se si utilizza NAT su una LAN, il computer guest sarà in grado di vedere gli altri computer sulla LAN ma gli altri computer sulla LAN (oltre all'host di virtualizzazione) non saranno in grado di vederlo.

Se sei interessato a maggiori dettagli, consulta questi articoli sul bridging di rete e sulla traduzione degli indirizzi di rete .

Se funziona, fantastico. Altrimenti...

Controlla la configurazione di rete dell'ospite

Nella macchina virtuale, apri la configurazione Connessioni di rete (dal Pannello di controllo o nel menu Start> Impostazioni). A meno che tu non abbia configurato manualmente più interfacce per i computer guest in VirtualBox (o che non vi siano effettivamente adattatori di rete collegati con inoltro USB), ne vedrai solo uno e, a meno che tu non abbia cambiato il suo nome, verrà chiamato Area locale Connessione (forse con un numero dopo).

Fare clic con il tasto destro su quello e fare clic su Proprietà .

macchina ospite, connessioni di rete di Windows XP: questo è il primo posto dove fare clic su "Proprietà"

In La connessione utilizza i seguenti elementi , fare clic su Protocollo Internet (TCP / IP) e fare clic su Proprietà .

macchina ospite, "Local Area Connection" di Windows XP che mostra i protocolli e l'elenco dei servizi

Assicurarsi che la configurazione sia corretta.

Per connessioni a ponte

Se hai mantenuto la scheda di rete della VM in bridge in VirtualBox, anziché passare a NAT, è come se ci fosse uno switch di rete di livello 2 che collega tre dispositivi:

  • La macchina virtuale
  • La macchina host fisica.
  • Qualunque sia la macchina host fisica a cui è connessa (sulla specifica scheda di rete host che è stata collegata). Ad esempio, se il computer è collegato a un router, è come se l'interruttore fosse collegato al router. Se è collegato in modalità wireless a un punto di accesso, è come se l'interruttore fosse un bridge wireless .

Quindi, la tua VM è "networkologicamente" equivalente alla tua macchina host . Qualunque impostazione abbia (tranne il suo indirizzo IP ovviamente), la tua macchina virtuale dovrebbe avere.

Per connessioni NAT

Se hai selezionato NAT per Attaccato a in VirtualBox, è come se il tuo vero computer si comportasse come un piccolo router di casa / ufficio . La macchina host esegue un server DHCP accessibile solo alle macchine virtuali VirtualBox e il guest riceve da esso tutte le informazioni sulla configurazione di rete.

Il server DHCP VirtualBox fornirà un indirizzo IP e le informazioni DNS al guest, quindi è necessario selezionare entrambe queste due opzioni:

  • Ottieni automaticamente un indirizzo IP
  • Ottieni l'indirizzo del server DNS automaticamente

macchina guest, impostazioni TCP / IP di Windows XP, scheda Generale

Questa è la chiave

Questo è il problema particolare, per il sistema in questa domanda. Se questo è l'unico problema con la configurazione, risolverlo dovrebbe risolvere completamente la questione.

Hai impostazioni manuali, piuttosto che DHCP.

Può funzionare, ma le impostazioni manuali dovrebbero essere corrette e si vorrebbe anche assicurarsi che l'IP non fosse compreso nell'intervallo di indirizzi IP da cui il router assegna (o potrebbe esserci una collisione con un altro dispositivo sul Rete).

In questo caso, le impostazioni manuali non sono affatto corrette, perché:

  1. L'indirizzo IP della macchina host sull'interfaccia di rete attraverso la quale fornisce una connessione Internet al guest non corrisponde al suo indirizzo IP sulla rete fisica. Anche se l'indirizzo IP del tuo computer è 192.168.1.1 "nella vita reale", l'ospite non può accedervi in ​​quel modo.

    • Più probabilmente, se lo configuri da solo, potresti aver pensato che dovresti inserire l'indirizzo IP del router di casa / ufficio nella vita reale (che spesso è 192.168.1.1) come gateway predefinito e server DNS primario.

    Ma l'ospite non può accedere direttamente al router NAT fisico sulla scrivania (o ovunque), poiché tutti i dati trasmessi tra la VM e il router reale devono passare attraverso il router della VM e il router della VM è il tuo computer (accessibile tramite quella speciale rete virtuale interfaccia).

  2. Poiché il gateway predefinito è errato, non si verifica alcun routing e la VM non può accedere a nessun dispositivo di rete fisico esterno al computer.

  3. Poiché l'indirizzo IP della VM è al di fuori dell'intervallo corretto (che di solito è 10.2.2. *) E la maschera di sottorete è 255.255.255.0, non può accedere all'intervallo corretto. (La maschera di sottorete è corretta, ma insieme all'IP identifica la sottorete sbagliata.)

  4. Il server DNS deve anche essere riparato o nessun host è accessibile tramite i loro nomi di dominio (come askubuntu.com).

Se per qualche motivo è necessario utilizzare un "IP statico", ovvero non utilizzare DHCP, è necessario ottenere le informazioni corrette da VirtualBox e immetterle. Per favore fatemi sapere se avete bisogno di aiuto con questo (posso espandere questo per includere le istruzioni).

Supponendo che DHCP sia a posto con te, puoi risolvere il problema rendendo il tuo protocollo Internet (Proprietà TCP / IP) , le impostazioni della scheda Generale assomigliano allo screenshot sopra.

Ancora nessuna connessione a Internet? È ora di risolvere i problemi

Potrebbe essere utile raccogliere ulteriori informazioni dal lato ospite. Nel sistema Windows XP virtualizzato che misteriosamente non si connette a Internet, installa le aggiunte guest VirtualBox (facendo clic su Dispositivi > Installa aggiunte guest ; vedi il manuale per ulteriori informazioni). Riavvia e vedi se riesci a connetterti a Internet. Se non ci riesci, hai comunque realizzato qualcosa di utile, perché ora puoi copiare e incollare tra gli appunti guest e host.

Quindi apri il Prompt dei comandi in Windows. Un modo per farlo è eseguire:

Start> Esegui ...> cmd.exe

Ora esegui questo comando per ottenere informazioni sulle interfacce e le connessioni di rete del sistema guest Windows.

ipconfig /all

Quindi copia tutto il testo nel prompt dei comandi negli Appunti. Questa funzionalità è accessibile nel menu contestuale generato facendo clic con il pulsante destro del mouse in un punto qualsiasi all'interno della finestra del prompt dei comandi. È quindi possibile modificare la domanda sul sistema host Ubuntu in cui si dispone di una connessione Internet funzionante e incollarla.

  • Più in generale, per le persone diverse da chi si pone questa domanda:

    È quindi possibile incollarlo in applicazioni nel sistema host Ubuntu, consentendo di fare riferimento ad esso quando la VM di Windows è sospesa / spenta. Puoi fornirlo a chiunque stia cercando di aiutarti. Puoi includerlo nella tua domanda qui su Ask Ubuntu

    (Tuttavia, se il tuo problema di rete è nell'installazione virtuale, piuttosto che nell'hardware virtuale o nel software VirtualBox, ad esempio, se la tua VM ha avuto accesso a Internet fino a quando non hai installato un software Windows diverso dalle aggiunte guest, allora il tuo problema verrebbe probabilmente considerato fuori tema per Ask Ubuntu. Tuttavia sarebbe probabilmente in tema per Super User .)


2
Ho cambiato ottenere automaticamente IP e DNS e ha funzionato! La tua risposta è stata accurata e dettagliata, grazie mille per questo, sono sicuro che sarà una risorsa molto utile per altre persone con problemi simili. Ho accettato la tua risposta e ho lanciato una taglia, aggiungerò 100 della mia attuale reputazione dopo 24 ore. Grazie!
umpirsky,

Ha ancora bisogno di un TL; il dott. A proposito, risolvi i problemi di Windows!
Braiam,

Grazie e Dio ti benedica nel nome di Gesù! La risposta ha aiutato molto! Il passaggio (utilizzando NAT) a DHCP su entrambi i lati ha risolto il problema!
lexeme

@Eliah, hai dichiarato " se usi NAT su una LAN, il computer guest sarà in grado di vedere gli altri computer sulla LAN ". Come è possibile? L'ospite non potrebbe vedere solo l'host e ogni connessione deve passare attraverso l'host?
Pacerier,

@Pacerier No. Ciò è analogo alla situazione in cui si collega un router NAT a un altro router NAT che fornisce l'accesso a Internet. Supponiamo che il computer A sia dietro il router NAT X e che sia il computer B sia il router X NAT siano dietro un altro router NAT Y, che fornisce l'accesso a dispositivi su Internet come il computer C. Ciò consente a A (e B) di indirizzare C mantenendo C e persino B dall'indirizzamento di A. Ma consente anche ad A di indirizzare B. Dalla prospettiva di B, A è nascosto dietro X. Dalla prospettiva di A, B non è affatto nascosto - B, come Y, è un host sulla rete che A può accedere tramite il gateway X.
Eliah Kagan

10

Questa soluzione ha funzionato perfettamente per me (sistema operativo host: Ubuntu 14.04; sistema operativo guest: Windows XP SP3):

Selezionare " PCnet-PCI II (Am79C970A) " in "NAT" -> "Avanzate" -> "Tipo di scheda".


1
Ha lavorato su Windows 7 come host e Windows XP come guest
Musa Haidari il

Ha funzionato su Windows 8.1 come host e Ubuntu 14.04 come guest
user11153

@frostmann, Perché funziona?
Pacerier,

ha funzionato ... in win8
chandil03

funziona anche in WinXP!
Trung Ta

4

NAT è nell'elenco a discesa Allegati a .

Il tipo di adattatore è avanzato e non deve essere modificato nella maggior parte dei casi.

Anche il bridge dovrebbe funzionare bene, ma è necessario regolare l'interfaccia di rete. Il nome deve essere impostato sulla tua interfaccia Internet sul tuo computer host (molto probabilmente wlan per wireless, eth per ethernet).

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.