Kieruj ruchem z sieci lokalnej do adaptera hosta VirtualBox

9

Do testu muszę zezwolić na routing z mojej sieci lokalnej do gościa w VirtualBox. Gość ma już dostęp z zewnątrz.

Do tej pory włączyłem przekazywanie adresu IP na moim komputerze lokalnym (OSX 10.9) i dodałem trasę do sieci tylko hosta na komputerze w sieci lokalnej.

route add -net 192.168.59.0 netmask 255.255.255.0 gw 192.168.0.107
sysctl -w net.ipv4.ip_forward=1

Sieć wygląda tak.

Local network 192.168.0.104 -> [Wireless 192.168.0.0/24] -> MacOSX 192.168.0.107 (Wifi) & 192.168.59.3 (VboxHost) -> [VBox 192.168.59/24] -> 192.168.59.103

O ile VirtualBox nie celowo upuszcza pakietu z zewnątrz, powinno to działać.

Moim celem byłoby 192.168.0.104nawiązanie połączenia 192.168.59.103. Do tej pory mogę tylko pingować 192.168.59.3z tego.

Ponadto mój gość ma już inny adapter z domyślnym gw, który umożliwia dostęp do Wi-Fi.

Jakiej trasy lub konfiguracji sieci może mi brakować?

Mogłem również zrozumieć pakiet otrzymujący mojego gościa, ale gość nie jest w stanie odpowiedzieć, jednak tcpdump pokazuje, że żaden paquet nigdy nie dostanie gościa, jeśli powiedzą, że pinguję maszynę. Również nigdzie nie działa zapora ogniowa.

Tabela routingu na moim komputerze Mac

Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.0.1        UGSc           42        1     en0
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH              6  2943735     lo0
169.254            link#4             UCS             0        0     en0
192.168.0          link#4             UCS             3        0     en0
192.168.0.1        9c:d6:43:c8:cf:e8  UHLWIir        43    21647     en0   1199
192.168.0.104      8:0:27:c2:fc:68    UHLWI           0        7     en0   1068
192.168.0.106      0:15:99:77:73:ed   UHLWI           0       82     en0    845
192.168.0.107      127.0.0.1          UHS             2     9114     lo0
192.168.59         link#9             UC              3        0 vboxnet
192.168.59.3       a:0:27:0:0:0       UHLWI           0    69759     lo0
192.168.59.103     link#9             UHRLWIi         2    31866 vboxnet     1
kkx
źródło
3
Czy jest jakiś powód, dla którego nie można tak skonfigurować karty sieciowej maszyny wirtualnej, aby była mostkowana zamiast hosta? Twoje skuteczne zachowanie to samo.
heavyd
To samo? Adapter tylko hosta jest oddzielną siecią, podczas gdy zmostkowany AFAIK powiąże hosta z moją prawdziwą siecią. Co jest niewygodne, ponieważ IP zmienia się z biura, domu itp.
kkx
Jestem facetem VMware, ale jak wspomniałem @heavyd, powinieneś być w stanie skonfigurować prywatną lub „hostową” sieć LAN za pomocą Virtual Box, tak jak możesz to zrobić za pomocą VMware Fusion lub stacji roboczej.
SaxDaddy
@SaxDaddy Właśnie tego używam, ale próbuję skierować do niego ruch w celu przetestowania. Jednak, jak powiedziałem, nie działa tak, jak powinien / chce (lub faktycznie wykonuje zbyt dobrą robotę). Wygląda na to, że adapter tylko do hosta spada poza ruch, nawet jeśli routing jest prawidłowy lub coś w MacOSX nie kieruje ruchu poprawnie.
kkx
4
Jestem zdumiony, że nikt nie zauważył błędu w tej konfiguracji, ponieważ jest to tak oczywiste: w route add polecenia, host-only sieć została skonfigurowana do użytku jako brama pc poza sieć host-only. To nie może działać. Poprawna trasa powinna być używana jako gw adres IP interfejsu mac na adapterze hosta, nie tylko jego domyślnej sieci LAN. Istnieją inne błędy (dlaczego lo mieć adres 192.168.59.3 w tablicy routingu ???), ale z błędu w trasie dodać żadnego postępu w ogóle jest to możliwe. Zostawiam tę notatkę czytelnikom eventaul.
MariusMatutiae

Odpowiedzi:

1

Trybu sieciowego tylko do hosta nie można użyć do kierowania ruchu z sieci lokalnej do hostów VM. Należy użyć sieci Bridged, NAT lub NAT. W przypadku dwóch ostatnich potrzebujesz przekierowania portów.

Bibliografia:

[1] https://www.virtualbox.org/manual/ch06.html#networkingmodes (patrz tabela na końcu sekcji 6.2) [2] https://www.virtualbox.org/manual/ch06.html# network_hostonly

Marcelo Roberto Jimenez
źródło
Przepraszam, że to nieprawda. Myślę, że dokumentacja może wprowadzać w błąd. Sieć tylko hosta to prawdziwa niezależna sieć LAN, ale sieci LAN mogą mieć bramy i nic nie stoi na przeszkodzie, aby host (lub nawet jeden z gości) działał jak router. Robię to cały czas na LInux. Nie rozumiem, dlaczego nie powinno być to możliwe na OS-X. Mostkowanie i routing to dwie różne rzeczy.
Rodney
Zauważ, że używamy terminów zdefiniowanych w Virtualbox, a nie zdrowego rozsądku. Mylą mnie te słowa, dlatego wskazałem na tabelę w dokumentacji.
Marcelo Roberto Jimenez,