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

132

Ho installato Apache su una macchina virtuale Ubuntu. Quando vado nell'ospite e carico Firefox, posso vedere che Apache funziona correttamente quando navighi su localhost.

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

Idealmente mi piacerebbe impostare il mio Windows 7 (host) per richiedere http://guestserver.com del server Apache sul guest. Come posso fare questo?

    
posta urok93 07.07.2011 - 12:27
fonte

9 risposte

145

Se hai bisogno di altre macchine nella tua rete fisica per essere in grado di raggiungere la tua VM (o se la VM ha bisogno di un accesso a Internet), usa il bridged networking. Altrimenti, attenersi alla rete di solo host.

  1. Interrompi la tua VM e apri le sue impostazioni nel VirtualBox (OSE) Manager
  2. Vai alla scheda Rete
  3. Seleziona la modalità di rete a tua scelta (collegamento in rete o solo host) (nell'esempio seguente, sto utilizzando solo l'host)

    Se si desidera utilizzare la connessione in parallelo, è necessario selezionare l'adattatore di rete corretto su Nome . Per le connessioni cablate, devi selezionare qualcosa denominato come eth0 . Le connessioni wireless di solito sono denominate wlan0 (i numeri possono variare)

  4. Salva le impostazioni
  5. Avvia la macchina virtuale di Ubuntu
  6. Quando è attivo, puoi raccogliere l'indirizzo IP eseguendo:

    ifconfig | grep addr
    

    Nell'output sottostante, 192.168.56.101 è l'indirizzo IP che può essere utilizzato nel tuo sistema host Win7 per accedere alla tua 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 di Windows, modifica C:\Windows\System32\drivers\etc\hosts come amministratore e aggiungi una riga:

    192.168.56.101   guestserver.com
    

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

  8. profitto!
risposta data Lekensteyn 07.07.2011 - 12:58
fonte
12

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

  1. Imposta la scheda di rete come Bridge:

    Impostazioni & gt; Rete & gt; Adattatore 1 ( Attiva adattatore di rete ) & gt; Collegato a: ( adattatore bridge ) & gt; OK

  2. Avvia la macchina virtuale & gt; accedi

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

    sudo nano / etc / network / interfaces

  4. Sotto L'interfaccia di rete primaria cambia la parola dhcp in static 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

Notare che il mio router sta funzionando xxx.xxx. 10 .x e il tuo potrebbe essere a xxx.xxx. 0 .x o xxx.xxx. 1 .x o qualcos'altro.

Dopo averlo fatto, puoi avere una connessione Internet sia nel computer host che in quello guest e digitare quell'IP statico nel browser Web per controllare il tuo server Apache.

    
risposta data Nuc134rB0t 30.06.2012 - 01:04
fonte
7

Invece di provare ad impostare gli adattatori su Adattatore di rete Bridged o Solo host, puoi provare Port forwarding sotto Firewall / Altre porte, con la tua porta non impostata su connessioni tcp e udp.

    
risposta data sp123 03.10.2014 - 17:27
fonte
4

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 l'impostazione Adapter1 per "bridged networing" e Adapter2 per "NAT" e ha iniziato a funzionare.

    
risposta data Gaurav Pandey 22.06.2014 - 12:34
fonte
3

Se non riesci a connetterti su IP, probabilmente non avrai alcun successo con i nomi DNS su un'installazione di Apache predefinita.

controlla le impostazioni di rete dell'host virtuale, l'ho sempre caricato per collegarlo a esso è possibile accedere all'intera rete.

    
risposta data PvdL 07.07.2011 - 12:47
fonte
2

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

    
risposta data platinor 08.02.2012 - 06:47
fonte
2

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

Impostazioni - & gt; Rete - & gt; Imposta uno degli adattatori come NAT - & gt; Premi "Port forwarding" - & gt; Imposta la porta host e guest pertinente.

Una volta salvato, puoi passare dalla tua macchina locale a localhost: hostport e verrà reindirizzato alla porta pertinente della casella virtuale e il gioco è fatto.

    
risposta data StationaryTraveller 01.08.2017 - 14:25
fonte
1

La risposta di Lekensteyn è giusta. Ma se ci si trova in un ambiente aziendale, potrebbe essere necessario disabilitare il server proxy per l'indirizzo IP del proprio ospite. Ad esempio, se si sta utilizzando Mozilla Firefox sul computer host e si sta tentando di accedere a 192.168.56.101/ sul guest, è necessario andare alle impostazioni di Firefox - Opzioni - & gt; Avanzate- & gt; Rete- & gt; e usa "No Proxy" o "No Proxy For - & gt; 192.168.56.101".

    
risposta data SpaceRook 27.11.2012 - 03:00
fonte
1

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

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

Ti suggerisco di utilizzare DNS multicast per risolvere questo problema.

Ubuntu lo sta utilizzando per impostazione predefinita tramite Avahi .

L'host di Windows ha bisogno di un client Avahi per scoprire altri servizi Avahi. Se il tuo host utilizza già un software Apple, probabilmente questo è già disponibile tramite un servizio chiamato Bonjour. Tuttavia, se questo non è già installato, una versione ridotta di Bonjour è disponibile per il download qui: Servizi di stampa Bonjour . Dopo l'installazione dovresti essere in grado di accedere ai tuoi ospiti tramite .local.

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

    
risposta data Spiralis 29.01.2013 - 23:45
fonte

Leggi altre domande sui tag