Jak uzyskać dostęp do mojego lokalnego serwera na maszynie wirtualnej VirtualBox?

9

Oto moja konfiguracja:

  • Mam lokalny serwer uruchomiony na moim komputerze (Mac OS, Snow Leopard). Mogę uzyskać do niego dostęp za pomocą przeglądarki

    localhost: 3000

  • Mam maszynę wirtualną za pomocą Virtual Box z systemem Windows XP. Jeśli spróbuję uzyskać dostęp za pomocą localhost: 3000, nie powiedzie się. To samo, jeśli korzystam z ip komputera Mac.

  • Maszyna wirtualna ma dostęp do Internetu.

Jak mogę uzyskać dostęp do mojego lokalnego serwera na mojej maszynie wirtualnej?

marcgg
źródło
jeśli spróbujesz uzyskać dostęp do „localhost” na maszynie wirtualnej, spróbuje połączyć się ze sobą, a nie z serwerem macosx. Myślę, że dotychczas brakowało odpowiedzi
brandstaetter
1
Wiem, że to i stary wątek, ale oto odpowiedź stackoverflow.com/questions/1261975/…
deiga

Odpowiedzi:

16

Jak skonfigurowano sieć w maszynie wirtualnej?

Wygląda na to, że możesz go skonfigurować za pomocą NAT. W tej sytuacji, jeśli komputer hosta (komputer Mac) ma nieprzekierowalny (prywatny) adres IP, taki jak 192.168.xx, nie będzie można uzyskać dostępu do hosta z poziomu maszyny wirtualnej. Powodem, dla którego nie możesz połączyć się z hostem od gościa, jest to, że zasadniczo konfigurujesz 2 oddzielne sieci prywatne. Twój komputer Mac znajduje się na jednym (192.168.xx), a twoja maszyna wirtualna na innym (być może 10.xxx) i w zasadzie masz między nimi router. Ponieważ routery nie będą kierować prywatnych adresów IP, obie sieci nigdy nie będą mogły się bezpośrednio komunikować.

Jeśli chcesz, aby maszyny hosta i gościa mogły się komunikować, prawdopodobnie będziesz chciał skonfigurować kartę sieciową VirtualBox tak, aby była podłączona do karty „Bridged Adapter”. Spowoduje to udostępnienie połączenia internetowego maszynie wirtualnej i umożliwi maszynie-gościowi rozmowę z hostem. W tej sytuacji zasadniczo dodajesz maszynę wirtualną jako dodatkowy węzeł do sieci lokalnej, w której komputer Mac jest już włączony.

ciężki
źródło
W obszarze „Bridged Adapter” zarówno host, jak i gość będą mieć adresy IP w tej samej podsieci (tj. 192.168.xx), prawda?
kdbanman
@kdbanman, poprawne (zakładając, że sieć hosta korzysta z DHCP), maszyna wirtualna pojawi się jako inna maszyna w sieci hosta.
ciężki
To wydaje się znacznie bardziej naturalny sposób na skonfigurowanie maszyny wirtualnej. Dlaczego warto korzystać z oddzielnej sieci prywatnej z NAT? Bezpieczeństwo?
kdbanman
1
Tak, NAT zapewnia izolację. Ponadto niektóre sieci nie zezwalają na łączenie się żadnego hosta, więc użycie NAT może umożliwić maszynie wirtualnej dostęp do zasobów sieciowych przez interfejs hostów. Jest również używany jako domyślny z tego powodu, jest mniej podatny na błędy, ale zgadzam się, że wolę mostkowanie w większości sytuacji.
ciężki
1

W zależności od ustawień sieciowych vm, prawdopodobnie będziesz musiał dodać dodatkowy adres IP do systemu operacyjnego hosta, który znajduje się w tej samej podsieci co vm, aby mogli się komunikować. Twój vm prawdopodobnie ma adres 192.168.xx, więc dodaj podobny adres do komputera Mac:

na przykład, jeśli vm ma 192.168.1.99 i maskę podsieci 255.255.255.0, możesz to zrobić na swoim hoście:

ifconfig eth0: 0 192.168.1.199 maska ​​sieci 255.255.255.0 w górę

prawdopodobnie będziesz również musiał zrestartować adapter.

John T.
źródło
1

Miałem dokładnie ten sam problem, tyle że używałem systemu Windows 7 jako gościa.

To, co zrobiłem, to Start -> Uruchom ->, cmdaby wyświetlić wiersz poleceń.

ipconfigaby wyświetlić szczegóły połączenia. Poszukaj adresu, który wygląda jak 10.xxx, to twój Mac.

Teraz użyj tego, aby połączyć się z lokalnym serwerem na komputerze Mac.

Dla mnie jest to zwykle coś w rodzaju http://10.0.2.2:80/blah

Austin Hyde
źródło