Jak uzyskać dostęp do serwera WWW na maszynie wirtualnej z komputera hosta [zamknięte]


29

Mam maszynę z systemem Windows Vista, na której VirtualBox działa Ubuntu.

W Ubuntu prowadzę serwer WWW pod adresem http://127.0.0.1:3000/

Jak uzyskać dostęp do tego adresu z mojego hosta (okno systemu Windows)?


Najprostszą opcją jest użycie przekierowania portów. Można go skonfigurować w Ustawienia-> Sieć. Sprawdź ten link
— spartan

Jeśli naprawdę skonfigurowałeś serwer WWW gościa na 127.0.0.1, to nie możesz uzyskać do niego dostępu z zewnątrz gościa. Localhost / 127.0.0.1 jest adapterem pętli zwrotnej (w pamięci) i nawet nie wymaga prawidłowej instalacji karty sieciowej. Jeśli zmienisz adres IP swojego serwera na inny niż sprzężenie zwrotne, poniższe odpowiedzi będą w stanie ci pomóc.
— Mladen B.,

Odpowiedzi:


28

Możesz zmienić tryb sieci dla gości z NAT na Bridged. Po prostu zamknij gościa Ubuntu, przejdź do strony Ustawienia w VirtualBox, wybierz kategorię Sieć i zmień pole listy Dołącz do z NAT na Tryb Bridged.

Edytować:

Po wykonaniu powyższych kroków uruchom ponownie Ubuntu, a przydzielony adres IP pojawi się na ekranie powitalnym po załadowaniu. tzn. w wiadomości powitalnej powinien zawierać następujące informacje:

Adres IP dla eth0: 192.168.1.3

Użyj tego adresu na pasku przeglądarki komputera hosta, a następnie portu, którego używasz. Jeśli jest to coś innego niż port 80, tzn. Jeśli skonfigurujesz go tak, aby korzystał z portu 666, adres będzie wynosił 192.168.1.3:666

Innym sposobem na znalezienie adresu IP jest połączenie z serwerem HTTP wbudowanym w router i sprawdzenie ustawień sieci LAN. Każda maszyna w sieci powinna być wymieniona według nazwy hosta i adresu IP. Na moim routerze większość innych, które miałem, możesz to zrobić, wpisując 192.168.1.1 w pasku adresu. jeśli to się nie powiedzie, spróbuj tego samego adresu na porcie 81. Jeśli to się nie powiedzie, PRZECZYTAJ INSTRUKCJĘ.


Ale w jaki sposób możesz dowiedzieć się, jaki jest adres IP? Thx
— SSH

To zadziała, ale opcja tylko hosta nie ujawniła tego vm w sieci korporacyjnej
— Carlos Garcia

2
Czy jestem tu jedynym, który uważa, że ​​do punktu końcowego gościa 127.0.0.1 można dotrzeć tylko z poziomu gościa (to jest punkt hosta lokalnego)? Dostęp do tego rodzaju punktu końcowego nie powinien być możliwy z niczego poza maszyną gościa (ponieważ jest to adapter pętli zwrotnej, nie wymaga nawet zainstalowanej karty sieciowej).
— Mladen B.,

jeśli podam ten 192.1681.3 jako adres IP rekordu A na urządzeniu GoDaddy, to nie działa, oczywiście oczekuje zewnętrznego adresu IP, jeśli to powiem, nadal nie działa dla niektórych reaosn, chcę przetestować nazwę domeny wcześniej na EC2
— PirateApp

10

Zależy od konfiguracji sieci w systemie-gościu Ubuntu. Jeśli skonfigurowałeś go do używania NAT i masz serwer DHCP działający w twojej sieci, po prostu uruchom to:

ifconfig | grep inet

w polu Ubuntu - zobaczysz adres IP przypisany do gościa Ubuntu.

Przykład:

#ifconfig | grep inet
  inet addr:10.0.0.2  Bcast:10.255.255.255  Mask:255.255.255.0
  inet addr:127.0.0.1  Mask:255.0.0.0

Następnie wystarczy dotknąć http://10.0.0.2:3000


Cóż, w moim przypadku adres powinien wynosić 10.0.2.15:3000/public i domyślnie Vista działa w trybie DHCP .. (maszyna Ubuntu jest również skonfigurowana do korzystania z NAT), ale nie otrzymuję odpowiedzi :(
— Argh

Hmmm właśnie zdałem sobie sprawę, że nie mam serwera DHCP - uruchamiam vista home ...
— Argh

VirtualBox ma własny serwer DHCP, który obsługuje maszyny wirtualne - w przeciwnym razie maszyny wirtualne nie uzyskałyby automatycznie adresu IP bez ustawienia go statycznie. Myślę, że twoim problemem może być to, że Apache nie nasłuchuje na wszystkich interfejsach - po prostu localhost (127.0.0.1). Upewnij się, że w / etc / apache2 / sites-available / default dyrektywa Listen mówi 80, a nie 127.0.0.1:80 na help.ubuntu.com/9.04/serverguide/C/httpd.html
— Cory Plastek

To prawdopodobnie przyczyna.
— fsckin

4

Zarówno okno systemu Windows, jak i pole Ubuntu (zarówno fizyczne, jak i wirtualne, w tym przypadku tak naprawdę nie mają znaczenia) muszą mieć adres IP w tej samej podsieci, aby mogły komunikować się ze sobą za pośrednictwem protokołu TCP / IP. Możesz przypisać dodatkowy adres do każdego systemu operacyjnego za pomocą jednej z prywatnych podsieci IP (patrz RFC 1918 ). Gdy oba adresy będą miały adres w tej samej podsieci, skonfiguruj serwer WWW, aby nasłuchiwał tego, który podałeś Ubuntu, a następnie użyj tego adresu IP w przeglądarce w systemie Windows, aby go załadować.

Adres IP, który skonfigurowałeś teraz, 127.0.0.1, to adres sprzężenia zwrotnego dla interfejsu sieci lokalnej. Nigdy nie użyjesz tego adresu, aby uzyskać dostęp do czegoś w innym systemie, a jedynie w celu odniesienia się do tego samego systemu, w którym jesteś. Korzystając z systemu wirtualnego, traktuj go tak, jakbyś był oddzielnym komputerem z punktu widzenia sieci.


2

Aby rozwiązać problem, sugeruję dodanie nowej karty sieciowej i skonfigurowanie jej jako karty tylko hosta .

Teraz uruchamiasz instancję wirtualnego pudełka, a następnie sugestie fsckin, aby zobaczyć, jaki jest ip nowej sieci .

W ten sposób masz podsieć z komputerem i maszyną wirtualną.


Więc ... zrobiłem, jak powiedziałeś, złapałem mój adres IP. Następnie próbowałem uzyskać dostęp do serwera WWW (do którego mogę uzyskać dostęp jako gość jako 127.0.0.1:3000 ) przy użyciu przydzielonego adresu IP : 3000 i nie otrzymałem odpowiedzi. Mogłem jednak
— pingować

Musisz otworzyć zaporę na porcie 3000.
— fampinheiro

Host nie działa od
— razu po

0

Przede wszystkim musisz zrobić to, co mówi Odpowiedź 1:

„Możesz zmienić tryb sieci gościa z NAT na Bridged. Po prostu zamknij gościa Ubuntu, przejdź do strony Ustawienia w VirtualBox, wybierz kategorię Sieć i zmień pole listy Attached to z NAT na Bridged Mode”.

Następnie, aby uzyskać adres IP:

Na maszynie wirtualnej otwórz wiersz polecenia i wykonaj:

ip addr show

Prawdopodobnie zobaczysz linię, która wygląda mniej więcej tak:

inet 192.168.43.96/24 ....

Przed tym jest też linia z

inet 127.0.0.1

Ale nie chcesz tego! Chcesz adres 192. To jest adres twojej maszyny wirtualnej w sieci lokalnej. Powinien być dostępny dla każdego urządzenia podłączonego do tej samej sieci lokalnej.

Teraz na komputerze hosta edytuj plik / etc / hosts (Not ~ / etc) Nazwa pliku to hosts (nie jest to nazwa folderu)

dodaj linię, która wygląda następująco:

192.168.43.96 myvm.nameofmywebsite.com

Teraz przejdź do przeglądarki komputera hosta i wpisz myvm.nameofmywebsite.com

Mam nadzieję, że to się uda!

Jednak możesz mieć router z funkcjami bezpieczeństwa, które będą przeszkadzać w wyświetlaniu twojego adresu lokalnego. Możesz spróbować wykorzystać hotspot telefonu komórkowego jako sieć. To działa dla mnie. Pamiętaj tylko, że po zmianie sieci na hoście musisz ponownie uruchomić wirtualną skrzynkę.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.