Jak uzyskać dostęp do komputera hosta z komputera gościa? [Zamknięte]

124

Właśnie utworzyłem nową maszynę wirtualną Windows XP na moim Macu przy użyciu VMware Fusion. Maszyna wirtualna korzysta z NAT do udostępniania połączenia internetowego hosta.

Jak uzyskać dostęp do aplikacji Rails, która jest dostępna na komputerze Mac http://localhost:3000?

John Topley
źródło

Odpowiedzi:

134

Na komputerze XP znajdź swój adres IP, przechodząc do wiersza poleceń i wpisując ipconfig. Spróbuj zastąpić ostatnią liczbę 1 lub 2. Na przykład, jeśli twój adres IP to 192.168.78.128, użyj adresu http://192.168.78.1:3000 .

JW.
źródło
3
zaoszczędził mi wiele godzin - poklep się po plecach!
iancrowther
Używam Lion jako hosta i Win7 jako gościa, ale nie mogę odwiedzić mojej aplikacji rails na moim Macu, używając tego. Czemu?
larryzhao
1
jeśli adres IP twojej sieci lokalnej to: 192.168.1.122, powinieneś użyć 192.168.1.122:3000 i to powinno działać
dbslone
6
Ważna uwaga: te rozwiązania nie działają, jeśli łączysz się za pomocą VPN.
Harshay Buradkar
80

Możesz użyć nazwy `` lokalnej '' swojego hosta Mac (lub dowolnego innego Maca w sieci):

http: //macname.local: 3000 /

gdzie nazwa_mac to nazwa sieciowa twojego hosta (lub innego pożądanego) komputera Mac.

Michael Larocque
źródło
1
Wspaniały. Nie wiedziałem o .local bit. Dzięki!
cofnął się
czy jest to dostępne tylko wtedy, gdy maszyna wirtualna została skonfigurowana na tym komputerze Mac?
Przeportowałem inną maszynę
7
plik „.local” dotyczy tylko komputerów Mac. Kiedy otwierasz Preferencje / Udostępnianie systemu, w rzeczywistości pokazuje ci nazwę komputera, a poniżej zauważa, że ​​aby uzyskać do niego dostęp w sieci lokalnej, powinieneś użyć nazwa_komputera.local - dotyczy to połączenia z udostępnianiem plików, udostępnianiem sieci itp.
Johnus
1
Wydaje się, że wymaga to skonfigurowania sieci VMWare do obsługi NAT (lub przypuszczalnie mostkowania); konfiguracja „tylko host” powoduje przekroczenie limitu czasu połączenia sieciowego. Nie jest dla mnie jasne, dlaczego tak się dzieje, ale ...
Norman Gray
Kiedyś używałam tej metody i działała świetnie! Ale ostatnio przestało działać i nie jestem pewien, dlaczego. Może zatrzymało się wraz z aktualizacją do Snow Leoparda, a może zatrzymało się wraz z aktualizacją do Fusion. Teraz mój adres_machostname.local zamienia się na publiczny adres w Internecie.
Jason,
14

Dla przyszłych odwiedzających: po ustaleniu adresu IP możesz dodać wpis do pliku hostów systemu Windows, który znajduje się w C: \ Windows \ system32 \ drivers \ etc \ hosts, aby zmapować adres IP na (wirtualna) nazwa serwera. Dodaj taką linię:

192.168.78.1   myrubyapp

Teraz możesz uzyskać dostęp do witryny w IE pod adresem http: // myrubyapp: 3000

Jeśli używasz wirtualnych hostów w Apache, będziesz potrzebować tego, aby podać poprawną nazwę serwera.

J. Perkins
źródło
Czy adres IP powinien pozostać niezmieniony między sesjami na NAT? Wątpię w to.
Lothar
10

Ponieważ to pytanie jest dość stare i dotyczy XP, oto alternatywa dla nowych systemów operacyjnych;


Jeśli korzystasz z systemu Vista lub Windows 7 jako systemu gościa i masz konfigurację hostów wirtualnych na hoście za pośrednictwem Apache, oto jak skonfigurować:

W systemie operacyjnym hosta należy upewnić się, że połączenie sieciowe jest realizowane przez NAT;

  1. Kliknij prawym przyciskiem myszy ikonę sieci w oknie maszyny wirtualnej (w prawym dolnym rogu)
  2. Wybierz „NAT”
  3. Wybierz „Połącz”
  4. Poczekaj, aż system-gość ponownie połączy się z siecią

Następnie w systemie gościa;

  1. Kliknij Start> Sieć> Centrum sieci i udostępniania
  2. Kliknij opcję „Wyświetl stan” obok połączenia sieciowego
  3. Kliknij „Szczegóły”
  4. Znajdź „Brama domyślna IPv4”
  5. Otwórz Wordpad
  6. Edytuj C: \ Windows \ System32 \ drivers \ etc \ hosts
  7. Dodaj wiersz do pliku, taki jak:

    [default-gateway-IP] www.example.com
    [default-gateway-IP] example.com
    
  8. Zapisać

  9. Spróbuj otworzyć http://www.example.comlub http://example.comw IE

Jess Telford
źródło
To bardzo dziwne, ale musiałem odjąć 1 od adresu IP bramy. Właściwie zadziałało, aby dowiedzieć się, pingując hosta: ping <my-mac-host>.locali umieszczając ten adres IP w pliku hosts
Cristian
1
Zamiast kroków 1-4 w systemie gościa można również otworzyć okno dialogowe Uruchom, wpisać cmd+ <enter>, a następnie wpisać: ipconfig /all+ <enter> i znaleźć tam „Bramę domyślną”.
Jess Telford
Dziękuję Jess !. ipconfig /allbył też szybszy
Emerson Rocha
9
  1. Na komputerze XP, Start -> Połącz z -> Pokaż wszystkie połączenia.
  2. Kliknij dwukrotnie Połączenie lokalne.
  3. Kliknij kartę Wsparcie.
  4. Wybierz adres IP bramy domyślnej <gateway-ip> i naciśnij http: // <gateway-ip>: 3000 w przeglądarce.

Rozumiem: Musisz mieć http: // w adresie, w przeciwnym razie IE wyświetli „Nie można wyświetlić strony internetowej”.

Richarda Poiriera
źródło
6

W przypadku Django ważne jest, aby wykonać następujące czynności:

./manage.py runningerver [adres-domyślnej-bramy]: 8000

ponieważ

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

Zauważ, że domyślny adres IP, 127.0.0.1, nie jest dostępny z innych komputerów w Twojej sieci. Aby Twój serwer deweloperski był widoczny dla innych maszyn w sieci, użyj jego własnego adresu IP (np. 192.168.2.1) lub 0.0.0.0 lub :: (z włączonym IPv6).

Googol
źródło
5

Właśnie spędziłem godzinę, próbując zmusić to do pracy, wykonując kroki w SO, ale mój okazał się nieco inny.

Ustawienia VMWare

1.) Ustaw połączenie VMWare na NAT
2.) uruchom> cmd> ipconfig> skopiuj wartość bramy domyślnej
3.) edytuj plik hostów (c: / Windows / System32 / drivers / etc / hosts)

  • dodaj to do swojego pliku hosts:

<gateway-ip> yourserver.local

Ustawienia OS X

1.) edytuj konfigurację Apache (np. Sudo vim /etc/apache2/httpd.conf)

  • dodaj ten wpis vhost do swojego pliku httpd.conf:
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
    DocumentRoot „/ ścieżka / do / Twojego / projektu”
    NazwaSerwera yourserver.local

    <Katalog "/ ścieżka / do / twojego / projektu">
        AllowOverride All
        Opcje Wszystkie
    </Directory>
</VirtualHost>
  • zapisz i zakończ (: wq)

2.) Edytuj plik hostów (sudo vim / etc / hosts)

  • dodaj tę linię do swojego pliku hosts

127.0.0.1 yourserver.local

3.) Uruchom ponownie Apache (restart sudo apachectl)

Zauważyłem, że musiałem zmienić ustawienie połączenia w VMWare, aby ponownie uruchomić połączenie, zanim te ustawienia zadziałały. Mam nadzieję, że to pomoże.

Dennis Plucinik
źródło