Jak mogę rozwiązać problemy z przekazywaniem portów VirtualBox z gościa Windows do hosta Mac OS X nie działa?

6

Istnieje wiele pytań dotyczących problemów z przekazywaniem portów w VirtualBox, ale nie ma żadnych szczegółowych informacji. Szczegóły konfiguracji:

Mam instalację systemu Windows 7 Professional 64bit w VirtualBox 4.1.2, hostowaną w systemie Mac OS X 10.6.8. Mam uruchomionych kilka serwerów WWW localhost na różnych portach podczas instalacji systemu Windows. Nie mogę przez całe życie przekierowywać portów do pracy, dzięki czemu mogę uzyskać dostęp do tych serwerów z Mac OS X.

Moje ustawienia wyglądają tak; tak mam adapter NAT:

enter image description here

W moim pliku konfiguracyjnym VirtualBox odpowiednia część wygląda tak:

<NAT>
  <DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
  <Alias logging="false" proxy-only="false" use-same-ports="false"/>
  <Forwarding name="RLPWeb" proto="1" hostport="7084" guestip="127.0.0.1" guestport="7084"/>
  <Forwarding name="UtilWeb" proto="1" hostport="4040" guestip="127.0.0.1" guestport="4040"/>
  <Forwarding name="WCARLP" proto="1" hostport="8084" guestip="127.0.0.1" guestport="8084"/>
  <Forwarding name="WCAUtil" proto="1" hostport="4848" guestip="127.0.0.1" guestport="4848"/>
</NAT>

Wyłączyłem zaporę systemu Windows, aby upewnić się, że nie przeszkadza, i nie używam zapory w systemie Mac OS X.

W każdym razie, kiedy próbuję iść na przykład http://127.0.0.1:4040/ w każdej z moich przeglądarek Mac OS X w końcu przestanie działać.

Plik dziennika tej maszyny wirtualnej pokazuje, że poprawnie odczytuje ustawienia i sugeruje, że robi to dobrze:

00:00:08.286 NAT: set redirect TCP host port 4848 => guest port 4848 @ 127.0.0.1
00:00:08.286 NAT: set redirect TCP host port 8084 => guest port 8084 @ 127.0.0.1
00:00:08.286 NAT: set redirect TCP host port 4040 => guest port 4040 @ 127.0.0.1
00:00:08.286 NAT: set redirect TCP host port 7084 => guest port 7084 @ 127.0.0.1
00:00:08.290 Changing the VM state from 'LOADING' to 'SUSPENDED'.
00:00:08.290 Changing the VM state from 'SUSPENDED' to 'RESUMING'.
00:00:08.290 Changing the VM state from 'RESUMING' to 'RUNNING'.
00:00:08.337 Display::handleDisplayResize(): uScreenId = 0, pvVRAM=000000012017d000 w=1834 h=929 bpp=32 cbLine=0x1CA8, flags=0x1
00:00:09.139 AIOMgr: Host limits number of active IO requests to 16. Expect a performance impact.
00:00:13.454 NAT: DHCP offered IP address 10.0.2.15

Próbowałem ustawić adres IP hosta na 127.0.0.1i próbowałem ustawić puste pole gościa, a także 10.0.2.15. Żadne z nich nie wydaje się pomagać.

Na co jeszcze mogę zwrócić uwagę, aby rozwiązać ten problem?

jlarson
źródło
Nie sądzę, że musisz ustawić adres IP gościa, chyba że przypisałeś statycznemu adresowi IP gościa, więc pozostawienie go pustego jest prawdopodobnie prawidłowe.
BJ292
1
Powinieneś wpisać rzeczywisty adres IP maszyny gościa - IIRC to domyślny NAT 10.0.2.5 - nie 127.0.0.1.
ivanivan

Odpowiedzi:

0

Zauważyłem problemy z przekazywaniem portów na hoście Virtual Mac OS X.

Używanie karty sieciowej PCnet-Fast III (Am79C973) i obrazu Oracle Developer Day jako gościa.

Kiedy kiedykolwiek zawieszę gościa i wznowię go, wszystkie przekazy do portu zostaną utracone.

Nie jestem pewien, czy problemy są związane z kartą sieciową, czy z gościem, ale nie widzę, w jaki sposób gość może być świadomy przekazywanego portu.

To jest długi strzał, ale jeśli masz coś wspólnego z tą sprawą, spróbuj zamknąć (całkowicie wyłączyć gościa) i uruchomić z zestawem przekazywania do przodu . Natychmiast sprawdź, czy któryś z portów działa dalej i dopiero po pozytywnych wynikach spróbuj zawiesić i wznowić gościa.

PeteS
źródło
Próbowałem dokładnie tego, co sugerujesz, niestety nie ma różnicy w zachowaniu.
jlarson
Czy próbowałeś dodać 0.0.0.0 jako hosta IP w ustawieniach NAT?
PeteS
Tak, spróbowałem tego.
jlarson
0

Czy próbowałeś zmostkować połączenie z Windows VM na Macu? Będąc w translacji adresów sieciowych NAT okazał się dla mnie równie silny, jak w maszynie wirtualnej. Posiadanie mostu zapewnia maszynie wirtualnej adres IP, który host może zobaczyć. Biorąc pod uwagę twoją sytuację przekierowania portów, nie powinno to stanowić problemu, ale starałbym się przekazywać porty z rzeczywistych adresów IP zamiast tłumaczonych.

market_zero
źródło