Czego chcę:
Chcę, aby gość maszyny wirtualnej korzystający z Ubuntu (na VirtualBox) dla różnych serwerów testujących tworzenie stron internetowych (działających na różnych portach, np. Grunt.js działa na porcie 9000).
- Chcę przetestować aplikacje internetowe działające na tych serwerach a) z
wewnątrz gościa b) z hosta (z systemem Windows 7, btw), c)
z innych urządzeń w tej samej sieci, połączonych przez WiFi (np.
urządzenia mobilne)
- Chcę mieć dostęp do Internetu z poziomu gościa
Po raz pierwszy uruchomiłem rozwiązanie, w którym miałem zarówno NAT, jak i adapter obsługujący tylko hosta, skonfigurowany w VirtualBox, co było dobre dla dostępu do gościa z hosta i dostępu do Internetu z poziomu gościa.
Teraz, gdy chcę, aby inne urządzenia miały dostęp do maszyny wirtualnej, to rozwiązanie już nie działa. Udało mi się to zrobić lata temu za pomocą zmostkowanej karty sieciowej, ale to chyba nie działa tutaj.
Co ja zrobiłem:
Ustawiłem zmostkowane sieci jako jedyną kartę sieciową w VirtualBox i pozostawiłem ustawienia domyślne. Po uruchomieniu gościa miga symbol WiFi w prawym górnym rogu, tzn. Strzałki nie pojawiają się. Po chwili mówi: „Disconnected - jesteś teraz offline”.
To jest wyjście ifconfig
:
eth0 Link encap:Ethernet HWaddr 08:00:27:71:92:9c
inet6 addr: fe80::a00:27ff:fe71:929c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:233 errors:0 dropped:0 overruns:0 frame:0
TX packets:103 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:16083 (16.0 KB) TX bytes:22280 (22.2 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:32 errors:0 dropped:0 overruns:0 frame:0
TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2624 (2.6 KB) TX bytes:2624 (2.6 KB)
Jak widać, nie ma adresu inet4. Dlatego nie mogę pingować hosta z poziomu gościa i odwrotnie.
Próbowałem też to , tj. zmieniłem adres MAC i uruchomiłem
sudo rm -rf /etc/udev/rules.d/70-persistent-net.rules
sudo reboot
W ogóle nic nie zmieniłem.
Co jeszcze mogę zrobić, aby to zdebugować? Podejrzewam, że to problem DHCP. Mogę łatwo uzyskać adres IP na moim hoście i innych komputerach w sieci, ale nie na gościu.
źródło
dhclient:
? Czy próbowałeś skonfigurować statyczną konfigurację IP?Odpowiedzi:
Jest to możliwe dzięki VirtualBox, mam ostatnio taką samą konfigurację, host systemu Windows 7, gościa Arch Linux, na laptopie z wifi. Jak powiedziałeś, to jest to, gdy dajesz gościom połączenie sieciowe. Wybrałem także sterownik virtio dla wirtualnej karty, ale wątpię, by był to związany z omawianym tematem.
Gość otrzymuje adres IP z dowolnego routera, z którym host się łączy, działa bezproblemowo i zaczyna myśleć o tym, że jest bardzo imponujący. Próbowałem osiągnąć to samo na hoście Xen i nie byłem w stanie. Więc pochodzi z magii ze sterowników VirtualBox, jedyny publiczny opis jest tutaj: http://www.virtualbox.org/manual/ch06.html#network_bridged .
To rozszerzenie sterownika powinno być open source, ponieważ nie jest wymienione w „Oracle VM VirtualBox Extension Pack”, ale trudno znaleźć dokumentację na ten temat. Niestety nie wiem, jak go rozwiązać, ale postaram się:
Również, jeśli router jest twój, możesz przejrzeć jego dziennik, sprawdzić, czy przynajmniej otrzymuje pewne wstępne połączenia od gościa.
Edytuj: Skomentowałeś, że działa z innym routerem / punktem dostępu? W tym przypadku możliwe jest, że niektóre routery odmówią przydzielenia więcej niż jednego IP na ten sam adres MAC. Szkoda, że nie mam już maszyny, aby sprawdzić, czy MAC dla każdego IP w routerze są takie same, ale tak powinno być.
źródło
Standard IEEE 802.11 wymaga, aby punkty AP odrzucały pakiety z nieznanych adresów MAC; klient musi najpierw wykonać uwierzytelnianie i powiązanie 802.11, zanim AP będzie mógł odbierać z niego pakiety danych. Jeśli więc „tryb mostkowy” oznacza, że Twoja maszyna wirtualna lub system gościa próbuje użyć drugiego adresu MAC na tej samej karcie radiowej, musi upewnić się, że drugi adres MAC jest uwierzytelniany i kojarzony z 802.11, w przeciwnym razie AP musi zignorować pakiety od drugi adres MAC.
Czy istnieje dokumentacja dotycząca tego, jak VirtualBox radzi sobie z tym problemem? Musi to być dobrze znany problem, który został rozwiązany (i powinna istnieć dokumentacja dotycząca jego rozwiązania) lub powinien być dobrze udokumentowany, że „tryb mostkowy przez Wi-Fi nie jest obsługiwany”.
źródło