Come si accede alla macchina host dalla macchina ospite? [chiuso]


124

Ho appena creato una nuova VM Windows XP sul mio Mac utilizzando VMware Fusion. La VM utilizza NAT per condividere la connessione Internet dell'host.

Come si accede a un'applicazione Rails, accessibile dal Mac stesso utilizzando http://localhost:3000?

Risposte:


134

Sulla macchina XP, trova il tuo indirizzo IP andando al prompt dei comandi e digitando ipconfig. Prova a sostituire l'ultimo numero con 1 o 2. Ad esempio, se il tuo indirizzo IP è 192.168.78.128, utilizza http://192.168.78.1:3000 .


3
mi ha risparmiato ore di sciocchezze - datti una pacca sulla spalla signore!
iancrowther

Sto usando Lion come host e Win7 come ospite, ma non ho potuto visitare la mia app rails sul mio Mac usando questo. Perché?
larryzhao

1
se l'indirizzo IP della tua rete locale è: 192.168.1.122, dovresti usare 192.168.1.122:3000 e dovrebbe funzionare
dbslone

6
Nota importante: queste soluzioni non funzionano se sei connesso tramite VPN.
Harshay Buradkar

80

Puoi utilizzare il nome "locale" del tuo Mac host (o qualsiasi altro Mac sulla rete):

http: //macname.local: 3000 /

dove macname è il nome di rete del tuo host (o altro desiderato) Mac.


1
Superba. Non sapevo della parte .local. Grazie!
tornato indietro l'

è disponibile solo se la VM è stata configurata su quel Mac? Ho portato un'altra VM da qualche altra parte e nomecomputer.local non funziona per me
spankmaster79

7
il ".local" è una cosa solo per mac. Quando apri Preferenze di Sistema / Condivisione, in realtà ti mostra il nome del computer e sotto di esso nota che per accedervi sulla rete locale dovresti usare nomecomputer.local - questo vale per la connessione alla condivisione di file, condivisione web, ecc
Johnus

1
Ciò sembra richiedere che la rete VMWare sia configurata per essere NAT (o, presumibilmente, bridge); la configurazione "solo host" determina il timeout della connessione di rete. Non mi è chiaro il motivo per cui dovrebbe essere così, ma ...
Norman Gray

Usavo questo metodo e ha funzionato benissimo! Ma di recente ha smesso di funzionare e non sono sicuro del perché. Forse si è fermato con un aggiornamento a Snow Leopard o forse si è fermato con un aggiornamento a Fusion. Ora il mio machostname.local si risolve in un indirizzo pubblico su Internet.
Jason

14

Per i futuri visitatori: una volta individuato l'indirizzo IP, è possibile aggiungere una voce al file hosts di Windows, che si trova in C: \ Windows \ system32 \ drivers \ etc \ hosts, per mappare l'indirizzo IP a un nome del server (virtuale). Aggiungi una riga come questa:

192.168.78.1   myrubyapp

Ora puoi accedere al sito in IE all'indirizzo http: // myrubyapp: 3000

Se utilizzi host virtuali in Apache, ti servirà per fornire il nome del server corretto.


L'IP dovrebbe rimanere fisso tra le sessioni su un NAT? Ne dubito.
Lothar

10

Poiché questa domanda è piuttosto vecchia e si riferisce a XP, ecco un'alternativa per i nuovi sistemi operativi;


Se stai utilizzando Vista o Windows 7 come SO guest e hai configurato host virtuali nell'host tramite Apache, ecco come eseguire la configurazione:

Nel sistema operativo host, è necessario assicurarsi che la connessione di rete avvenga tramite NAT;

  1. Fare clic con il pulsante destro del mouse sull'icona di rete nella finestra della VM (in basso a destra)
  2. Seleziona "NAT"
  3. Seleziona "Connetti"
  4. Attendi che il SO guest si riconnetta alla rete

Quindi, nel sistema operativo guest;

  1. Fare clic su Start> Rete> Centro connessioni di rete e condivisione
  2. Fare clic su "Visualizza stato" accanto alla connessione di rete
  3. Fare clic su "Dettagli"
  4. Trova "Gateway predefinito IPv4"
  5. Apri Wordpad
  6. Modifica C: \ Windows \ System32 \ drivers \ etc \ hosts
  7. Aggiungi una riga al file come:

    [default-gateway-IP] www.example.com
    [default-gateway-IP] example.com
    
  8. Salva

  9. Prova ad aprire http://www.example.como http://example.comin IE


È molto strano ma ho dovuto sottrarre 1 dall'ip del gateway. In realtà ha funzionato per me scoprirlo eseguendo il ping dell'host: ping <my-mac-host>.locale inserendo quell'ip nel file hosts
Cristian

1
Al posto dei passaggi 1-4 nel SO guest, è anche possibile aprire la finestra di dialogo Esegui, digitare cmd+ <enter>, quindi digitare: ipconfig /all+ <enter> e trovare lì il "Gateway predefinito".
Jess Telford

Grazie Jess !. ipconfig /allera anche più veloce
Emerson Rocha

9
  1. Sulla macchina XP, Start -> Connetti a -> Mostra tutte le connessioni.
  2. Fare doppio clic su Connessione alla rete locale.
  3. Fare clic sulla scheda Supporto.
  4. Prendi l'IP del gateway predefinito <gateway-ip> e premi http: // <gateway-ip>: 3000 nel tuo browser.

Gotcha: Devi avere http: // nell'indirizzo o IE ti darà "La pagina web non può essere visualizzata".


6

Per Django è importante fare quanto segue:

./manage.py runserver [IP-gateway predefinito]: 8000

perché

https://docs.djangoproject.com/en/dev/ref/django-admin/

Notare che l'indirizzo IP predefinito, 127.0.0.1, non è accessibile da altre macchine sulla rete. Per rendere il tuo server di sviluppo visualizzabile su altre macchine sulla rete, usa il suo indirizzo IP (es. 192.168.2.1) o 0.0.0.0 o :: (con IPv6 abilitato).


5

Ho appena passato un'ora a cercare di farlo funzionare seguendo i passaggi su SO, ma il mio ha finito per essere un po 'diverso.

Impostazioni VMWare

1.) Imposta la connessione VMWare su NAT
2.) esegui> cmd> ipconfig> copia il valore del gateway predefinito
3.) modifica il file hosts (c: / Windows / System32 / drivers / etc / hosts)

  • aggiungilo al tuo file hosts:

<gateway-ip> yourserver.local

Impostazioni OS X

1.) modifica la configurazione di Apache (ad esempio, sudo vim /etc/apache2/httpd.conf)

  • aggiungi questa voce vhost al tuo file httpd.conf:
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
    DocumentRoot "/ percorso / del / tuo / progetto"
    ServerName yourserver.local

    <Directory "/ percorso / del / tuo / progetto">
        AllowOverride All
        Opzioni Tutto
    </ Directory>
</ VirtualHost>
  • salva ed esci (: wq)

2.) Modifica il tuo file hosts (sudo vim / etc / hosts)

  • aggiungi questa riga al tuo file hosts

127.0.0.1 yourserver.local

3.) Riavvia Apache (riavvia sudo apachectl)

Ho scoperto che dovevo cambiare l'impostazione della connessione su VMWare per riavviare la connessione prima che queste impostazioni funzionassero per me. Spero che aiuti.

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.