Come posso accedere ad Apache (sul guest VirtualBox) dall'host?


142

Ho installato Apache su una macchina virtuale Ubuntu. Quando vado nel guest e carico Firefox, vedo che Apache funziona bene quando cerco localhost.

Vorrei accedere a questa stessa pagina tramite l'host. Ho provato a utilizzare l'indirizzo IP dell'ospite ma non viene visualizzato nulla.

Idealmente, mi piacerebbe configurare il mio Windows 7 (host) su richiesta http://guestserver.comdel server Apache sul guest. Come posso fare questo?


Ho trovato un sito che mi ha aiutato a risolverlo. Le risposte di seguito sono corrette ma non mostrano nulla sulla creazione di un adattatore virtuale nella VM. Il sito che ho indicato è: christophermaier.name/2010/09/01/…
Sudhir Dhumal

Risposte:


156

Se hai bisogno di altre macchine nella tua rete fisica per poter raggiungere la tua VM (o se la VM ha bisogno di accesso a Internet), usa una rete bridge. In caso contrario, attenersi alla rete solo host.

  1. Arrestare la macchina virtuale e aprirne le impostazioni in VirtualBox (OSE) Manager
  2. Vai alla scheda Rete
  3. Seleziona la modalità di rete che preferisci (collegamento in rete o solo host) (nell'esempio seguente, sto usando solo host)

    Se si desidera utilizzare un collegamento in rete, è necessario selezionare la scheda di rete corretta in Nome . Per le connessioni cablate, devi selezionare qualcosa di simile eth0. Le connessioni wireless sono generalmente denominate wlan0(i numeri possono variare)

  4. Salva le impostazioni
  5. Avviare la VM di Ubuntu
  6. Quando attivo, puoi raccogliere l'indirizzo IP eseguendo:

    ifconfig | grep addr
    

    Nell'output seguente, 192.168.56.101è l'indirizzo IP che può essere utilizzato nel sistema host Win7 per accedere alla VM:

    eth0  Link encap:Ethernet  HWaddr 08:00:27:70:27:fe  
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe7b:25fe/64 Scope:Link
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
    
  7. Nel sistema host Windows, modifica C:\Windows\System32\drivers\etc\hostscome amministratore e aggiungi una riga:

    192.168.56.101   guestserver.com
    

    Se hai un sistema host Ubuntu, modifica /etc/hostsusandosudo nano /etc/hosts

  8. Profitto!

2
Questo ha funzionato perfettamente per le reti solo host e ora posso accedere al guest dal browser dell'host. Tuttavia, con una connessione a ponte, che vorrei, non ho accesso a Internet dall'ospite.
urok93,

5
ipconfig non è un comando su Linux, è ifconfig. Intendevi quello?
Max

7
Su Windows 7/8 il file host è qui: C: \ Windows \ System32 \ drivers \ etc \ hosts
Dalen

2
@begueradj I passaggi precedenti si applicano alle reti con bridge, ma alcune reti non consentono / forniscono più indirizzi. Sulla mia uni, non ho potuto usare la rete bridge per questo motivo, in quelle situazioni avrei usato invece NAT con port forwarding.
Lekensteyn,

1
Abilitare due adattatori di rete, uno NAT e un ponte, mi ha permesso di vedere e vedere l'ape.
stenci,

13

Nel mio caso, ho un router che assegna un IP statico al mio PC Host.

  1. Imposta la scheda di rete come Bridge:

    Impostazioni> Rete> Adattatore 1 ( Abilita adattatore di rete )> Collegato a: ( Bridge Adapter )> OK

  2. Avvia la macchina virtuale> accedi

  3. Cambia l'IP di VirtualMachine da dinamico a statico

    sudo nano / etc / network / interfaces

  4. In L'interfaccia di rete principale cambia la parola dhcp in statica e inserisci il tuo nuovo IP statico o commenta la riga e aggiungine una nuova

:

#iface eth0 inet dhcp
iface eth0 inet static
        address 192.168.10.110
        netmask 255.255.255.0
        gateway 192.168.10.1
        network 192.168.10.0
        broadcast 192.168.10.255

Nota che il mio router funziona su xxx.xxx. 10 .x e il tuo potrebbe essere su xxx.xxx. 0 .xo xxx.xxx. 1 .xo qualcun altro.

Dopo averlo fatto, puoi avere la connessione Internet sia nella macchina host che in quella ospite e digitare quell'IP statico nel tuo browser web per controllare il tuo server Apache.


Ho dimenticato di dire che devi assicurarti che il tuo / etc / hostname sia configurato correttamente in questo modo: nameserver [your_isp_primary_dns] e nameserver [your_isp_secondary_dns]
Nuc134rB0t

8

Invece di provare a impostare gli adattatori su Bridged o Host Only Network Adapter, puoi provare Port forwarding in Firewall / Altre porte, con la tua porta non impostata su connessioni tcp e udp.


6

La risposta accettata non ha funzionato per me (ho installato virutalbox all'interno di Ubuntu 12.04 LTS e all'interno di virtualbox ho installato Ubuntu 14.04 LTS Server). Ho appena scambiato le impostazioni di rete per Adapter1 e Adapter2, ovvero configurando Adapter1 per "bretwered networing" e Adapter2 per "NAT" e ha iniziato a funzionare.


Ciò è stato utile, ma cambia l'ordine dell'adattatore in modo che il guest utilizzi NAT per impostazione predefinita e sia in grado di connettersi a Internet.
MadeOfAir

Questo ha funzionato davvero per me. Sto provando ad accedere a una macchina virtuale Windows da un host Mac.
Benjaminz,

1
Dopo ore di lettura e di prova di ogni altra soluzione che ho trovato online, questa tua idea ha funzionato come un fascino. Grazie mille per averlo scritto! Utilizzo di Ubuntu 18.04 come host e guest.
Giovanni,

5

Se hai solo bisogno di una porta specifica (dì se stai eseguendo un'applicazione web come Jetty o Tomcat) fai semplicemente:

Impostazioni -> Rete -> Imposta uno degli adattatori come NAT -> Premi "Port forwarding" -> Imposta l'host e la porta guest pertinenti.

Una volta salvato, potresti semplicemente passare dal tuo computer locale a localhost: hostport e verrà reindirizzato alla porta rilevante della scatola virtuale e il gioco è fatto.


4

Se non riesci a connetterti tramite ip non avrai probabilmente successo con i nomi DNS su un'installazione di apache predefinita.

controlla le impostazioni di rete dell'host virtuale, lo metto sempre a ponte su cui è possibile accedere su tutta la rete.


L'ho impostato su bridge ma ora l'ospite non si connette a Internet.
urok93,

ricevi un IP nel sistema operativo quest? Di solito imposto più schede di rete per abbinare tutte le mie schede di rete fisiche. Puoi forse scaricare il tuo ifconfig dalla ricerca e dall'host
PvdL

Quando lavoro con il wireless funziona ma con il cavo no, ecco alcuni screenshot che mostrano la mia configurazione: imageshack.us/photo/my-images/832/guestr.png imageshack.us/photo/my-images/846/virtualbox .png imageshack.us/photo/my-images/9/hostwin7.png
urok93

qualche aiuto su questo per favore?
urok93,

sembra che il tuo computer sia direttamente connesso a Internet e questo potrebbe essere il motivo per cui il tuo client non riceve un IP (v4)
PvdL

3

In modalità bridge, se l'host utilizza un indirizzo IP statico, è necessario configurare manualmente l'IP ospite nello stesso intervallo con l'IP host. In caso contrario, all'ospite non verrà assegnato automaticamente un indirizzo IP valido. HTH.


2

La risposta di Lekensteyn è giusta. Ma se ti trovi in ​​un ambiente aziendale, potresti dover disabilitare il server proxy per l'indirizzo IP del tuo ospite. Ad esempio, se stai utilizzando Mozilla Firefox sul tuo computer Host e stai provando ad accedere a 192.168.56.101/ sul guest, devi andare su Strumenti di Firefox-> Opzioni-> Avanzate-> Rete-> Impostazioni e usare "No Proxy "o" Nessun proxy per -> 192.168.56.101 ".


2

Se devi accedere a un guest che ottiene un IP diverso a causa dell'uso del DHCP, ti suggerisco di accedere tramite il suo nome host. Tuttavia l'accesso tramite nome host quando l'host è Windows potrebbe richiedere uno strumento aggiuntivo.

Il seguente testo è stato copiato dalla mia risposta su superuser.com. :

Ti suggerisco di utilizzare Multicast DNS per risolvere questo problema.

Ubuntu lo utilizza per impostazione predefinita tramite Avahi .

L'host Windows ha bisogno di un client Avahi per poter scoprire altri servizi Avahi. Se il tuo host utilizza già alcuni software Apple, probabilmente è già lì tramite un servizio chiamato Bonjour. Tuttavia, se questo non è già installato, una piccola versione di Bonjour è disponibile per il download qui: Bonjour Print Services . Dopo l'installazione dovresti essere in grado di accedere al tuo ospite tramite .local.

Nota: il sistema mDNS sembra utilizzare il postfix .local per impostazione predefinita. Quindi, se il tuo hostname è "dev.myapp.com", allora il nome host effettivo sarà "dev.myapp.com.local".

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.