Jak zezwolić gościowi VirtualBox (z systemem Windows) na dostęp do Internetu?

30

Mam maszynę wirtualną VirtualBox. Na komputerze hosta działa Ubuntu. Na maszynie gościa (wirtualnej) działa system Windows XP.

Poszukałem tego problemu i ludzie twierdzą, że naprawili go, zmieniając typ adaptera na NAT, ale nie ma dla mnie takiej opcji:

wprowadź opis zdjęcia tutaj

Dowolny pomysł?

Aktualizacja:

Nie działało to również po przełączeniu go na NAT. Oto aktualne ustawienia (ze wszystkimi szczegółami):

wprowadź opis zdjęcia tutaj

Oto zrzut ekranu gościa pokazujący niektóre informacje o sieci:

(Należy pamiętać, że to pytanie dotyczy sposobu przyznania VM dostępu do Internetu w VirtualBox, więc obecność obrazu Windows nie powoduje automatycznie, że ten temat jest nie na temat!)

wprowadź opis zdjęcia tutaj

Większy obraz tutaj.

umpirsky
źródło

Odpowiedzi:

34

Konfigurowanie NAT

NAT nie jest opcją dla typu adaptera . Jest to raczej opcja dla opcji Dołącz do .

Kliknij tam, gdzie obecnie jest napis Bridged Adapter, a powinieneś być w stanie wybrać NAT .

Nawiasem mówiąc, powód, dla którego czasami zmienia się na NAT, nie jest specyficzny dla gości Windows. Raczej, jeśli twój fizyczny (host) komputer jest w sieci LAN, Bridged Adapter (jak również NAT ) zwykle działa dobrze. Jeśli twój fizyczny komputer ma połączenie sieciowe tylko z jednym komputerem - jak to często bywa, gdy jest podłączony bezpośrednio do modemu kablowego / DSL / ISDN, który ma tylko jeden port Ethernet - to nie ma sieci lokalnej do połączenia , więc musisz użyć NAT .

Jeśli użyjesz Bridged Adapter, a twój komputer hosta znajduje się w fizycznej sieci LAN, twój komputer-gość automatycznie będzie mógł widzieć i być widziany przez komputery w sieci LAN. Jeśli używasz NAT w sieci LAN, maszyna-gość będzie mogła zobaczyć inne komputery w sieci LAN, ale inne komputery w sieci LAN (oprócz hosta wirtualizacji) nie będą mogły go zobaczyć.

Jeśli jesteś zainteresowany dowiedzieć się więcej, zobacz te artykuły na temat mostkowania sieci i translacji adresów sieciowych .

Jeśli to zadziała, świetnie. Inaczej...

Sprawdź konfigurację sieci gościa

Na maszynie wirtualnej otwórz konfigurację połączeń sieciowych (z Panelu sterowania lub w menu Start> Ustawienia). O ile nie skonfigurowałeś ręcznie wielu interfejsów dla maszyn-gości w VirtualBox (lub nie masz rzeczywistych kart sieciowych podłączonych do niego za pomocą przekierowania USB), zobaczysz tylko jeden, i jeśli nie zmienisz jego nazwy, będzie to nazywać się Local Area Połączenie (być może z numerem po nim).

Kliknij to prawym przyciskiem myszy i kliknij Właściwości .

maszyna-gość, Połączenia sieciowe systemu Windows XP: jest to pierwsze miejsce, aby kliknąć „Właściwości”

W obszarze Połączenie wykorzystuje następujące elementy , kliknij Protokół internetowy (TCP / IP) i kliknij Właściwości .

maszyna-gość, Windows XP „Połączenie lokalne” pokazujące listę protokołów i usług

Upewnij się, że konfiguracja jest poprawna.

Dla połączeń mostkowych

Jeśli trzymasz kartę sieciową maszyny wirtualnej jako zmostkowaną w VirtualBox, zamiast przełączać ją na NAT, to jest tak, jakby był przełącznik sieciowy warstwy 2 łączący trzy urządzenia:

  • Maszyna wirtualna.
  • Fizyczna maszyna hosta.
  • Bez względu na to, do jakiego fizycznego komputera hosta jest podłączony (na konkretnej karcie sieciowej hosta, która została zmostkowana). Na przykład, jeśli komputer jest podłączony do routera, to tak, jakby przełącznik był podłączony do routera. Jeśli jest podłączony bezprzewodowo do punktu dostępu, to tak, jakby przełącznik był mostem bezprzewodowym .

Zatem maszyna wirtualna jest „sieciologicznie” równoważna z maszyną hosta . Bez względu na to, jakie ma ustawienia (oczywiście oprócz adresu IP), powinna je mieć Twoja maszyna wirtualna.

Dla połączeń NAT

Jeśli wybrałeś NAT dla Attached to w VirtualBox, to tak jakby twój prawdziwy komputer działał jak mały router domowy / biurowy . Twoja maszyna hosta działa na serwerze DHCP, który jest dostępny tylko dla maszyn wirtualnych VirtualBox, a gość otrzymuje od niej wszystkie informacje o konfiguracji sieci.

Serwer DHCP VirtualBox dostarczy gościowi zarówno adres IP, jak i informacje DNS, dlatego należy wybrać obie te dwie opcje:

  • Uzyskaj adres IP automatycznie
  • Uzyskaj adres serwera DNS automatycznie

maszyna gościa, ustawienia TCP / IP systemu Windows XP, karta Ogólne

To jest klucz.

Jest to szczególny problem dla systemu w tym pytaniu. Jeśli jest to jedyny problem z konfiguracją, wówczas naprawienie tego powinno całkowicie rozwiązać problem.

Masz ustawienia ręczne, a nie DHCP.

To może działać, ale ustawienia ręczne musiałyby być poprawne, a także upewnij się, że adres IP nie mieści się w zakresie adresów IP, z których router przypisuje (lub może wystąpić kolizja z innym urządzeniem na sieć).

W takim przypadku ustawienia ręczne wcale nie są prawidłowe, ponieważ:

  1. Adres IP komputera hosta w interfejsie sieciowym, za pośrednictwem którego zapewnia gościom połączenie internetowe, nie jest taki sam, jak adres IP w sieci fizycznej. Nawet jeśli adres IP twojego komputera to 192.168.1.1 „w prawdziwym życiu”, gość nie może uzyskać do niego dostępu w ten sposób.

    • Bardziej prawdopodobne jest, że jeśli skonfigurujesz go w ten sposób, być może pomyślałeś, że powinieneś umieścić prawdziwy adres IP routera domowego / biurowego (często 192.168.1.1) jako domyślną bramę i główny serwer DNS.

    Ale gość nie może uzyskać bezpośredniego dostępu do fizycznego routera NAT na biurku (ani gdziekolwiek), ponieważ wszelkie dane przesyłane między maszyną wirtualną a prawdziwym routerem muszą przechodzić przez router maszyny wirtualnej, a router maszyny wirtualnej to Twój komputer (dostępny za pośrednictwem tej specjalnej sieci wirtualnej berło).

  2. Ponieważ domyślna brama jest nieprawidłowa, nie występuje routing, a maszyna wirtualna nie może uzyskać dostępu do fizycznych urządzeń sieciowych poza komputerem.

  3. Ponieważ adres IP maszyny Wirtualnej znajduje się poza prawidłowym zakresem (zwykle 10.2.2. *), A maska ​​podsieci to 255.255.255.0, nie może uzyskać dostępu do prawidłowego zakresu. (Maska podsieci jest poprawna, ale wraz z adresem IP identyfikuje niewłaściwą podsieć.)

  4. Serwer DNS musi być również naprawiony, aby nie można było uzyskać dostępu do hostów za pośrednictwem nazw domen (takich jak askubuntu.com).

Jeśli z jakiegoś powodu musisz użyć „statycznego adresu IP”, tj. Nie używać DHCP, musisz uzyskać prawidłowe informacje z VirtualBox i wprowadzić je. Daj mi znać, jeśli potrzebujesz pomocy (mogę to rozszerzyć o instrukcje).

Zakładając, że DHCP jest w porządku, możesz rozwiązać problem, ustawiając swój protokół internetowy (właściwości TCP / IP) , ustawienia karty Ogólne wyglądają jak na powyższym zrzucie ekranu.

Wciąż brak połączenia z Internetem? Czas na rozwiązywanie problemów

Może pomóc zebrać więcej informacji od strony gościa. W zwirtualizowanym systemie Windows XP, który w tajemniczy sposób nie łączy się z Internetem, zainstaluj dodatki dla gości VirtualBox (klikając Urządzenia > Zainstaluj dodatki dla gości ; więcej informacji można znaleźć w instrukcji obsługi ). Uruchom ponownie i sprawdź, czy możesz połączyć się z Internetem. Jeśli nie możesz, nadal osiągnąłeś coś pożytecznego, ponieważ teraz możesz kopiować i wklejać między schowkiem gościa i hosta.

Więc otwórz wiersz polecenia w systemie Windows. Jednym ze sposobów na to jest uruchomienie:

Start> Uruchom ...> cmd.exe

Teraz uruchom to polecenie, aby uzyskać informacje o interfejsach sieciowych i połączeniach systemu gościa Windows.

ipconfig /all

Następnie skopiuj cały tekst z wiersza polecenia do schowka. Ta funkcja jest dostępna w menu kontekstowym podniesionym przez kliknięcie prawym przyciskiem myszy w dowolnym miejscu w oknie wiersza polecenia. Następnie możesz edytować swoje pytanie w systemie hosta Ubuntu, w którym masz działające połączenie internetowe, i wkleić je.

  • Mówiąc bardziej ogólnie, w przypadku osób innych niż osoba zadająca to pytanie:

    Następnie możesz wkleić go do aplikacji w systemie hosta Ubuntu, co pozwoli ci się do niego odwoływać, gdy maszyna wirtualna z systemem Windows zostanie zawieszona / wyłączona. Możesz to przekazać każdemu, kto próbuje ci pomóc. Możesz dołączyć to do swojego pytania tutaj na Ask Ubuntu

    (Jeśli jednak problem z siecią dotyczy instalacji wirtualnej, a nie sprzętu wirtualnego lub oprogramowania VirtualBox - na przykład, jeśli maszyna wirtualna uzyskała dobry dostęp do Internetu, dopóki nie zainstalowano oprogramowania Windows innego niż dodatki dla gości - to problem prawdopodobnie byłby uznany za nie na temat dla Ask Ubuntu. Prawdopodobnie byłby jednak na temat dla Superużytkownika .)

Eliah Kagan
źródło
2
Zmieniłem uzyskiwanie adresu IP i DNS automatycznie i działało! Twoja odpowiedź była dokładna i szczegółowa, dziękuję bardzo za to, jestem pewien, że będzie to bardzo przydatne źródło informacji dla innych osób mających podobne problemy. Zaakceptowałem twoją odpowiedź i rozpocząłem nagrodę, po upływie 24 godzin dodam do ciebie 100 mojej obecnej reputacji. Dzięki!
umpirsky
Nadal potrzebuje TL; dr. BTW, rozwiązujesz problemy z systemem Windows!
Braiam
Dziękuję i niech Bóg was błogosławi w imieniu Jezusa! Odpowiedź bardzo pomogła! Przełączenie (przy użyciu NAT) na DHCP po obu stronach rozwiązało problem!
leksem
@Eliah, Powiedziałeś „ jeśli używasz NAT w sieci LAN, maszyna-gość będzie mogła zobaczyć inne komputery w sieci LAN ”. Jak to możliwe? Czy gość nie widziałby tylko hosta i każde połączenie musi przechodzić przez hosta?
Pacerier
@Pacerier Nie. Jest to analogiczne do sytuacji, w której jeden router NAT podłącza się do innego routera NAT zapewniającego dostęp do Internetu. Załóżmy, że komputer A znajduje się za routerem NAT X, a zarówno komputer B, jak i router NAT X znajdują się za innym routerem NAT Y, który zapewnia dostęp do urządzeń w Internecie, takich jak komputer C. Pozwala to adresowi A (i B) zachować C i zachować C i nawet B od adresowania A. Ale pozwala także A adresować B. Z perspektywy B A jest ukryty za X. Z perspektywy A B wcale nie jest ukryty - B, podobnie jak Y, jest hostem w sieci, w którym A ma dostęp przez bramę X.
Eliah Kagan
10

To rozwiązanie działa idealnie dla mnie (system operacyjny: Ubuntu 14.04; system operacyjny gościa: Windows XP SP3):

Wybierz „ PCnet-PCI II (Am79C970A) ” w „NAT” -> „Advanced” -> „Adapter Type”.

timfrostmann
źródło
1
Pracował na Windows 7 jako host i Windows XP jako gość
Musa Haidari
Pracował w systemie Windows 8.1 jako host, a Ubuntu 14.04 jako gość
11153
@frostmann, Dlaczego to działa?
Pacerier
pracował ... w win8
chandil03
działa również w WinXP!
Trung Ta
4

NAT znajduje się na liście rozwijanej Attached to .

Typ adaptera jest zaawansowany i w większości przypadków nie trzeba go zmieniać.

Bridged powinien również dobrze działać, ale musisz dostosować interfejs sieciowy. Nazwę należy ustawić w interfejsie internetowym na hoście (najprawdopodobniej wlan dla sieci bezprzewodowej, eth dla sieci Ethernet).

róż
źródło