Instradare il traffico dalla rete locale all'adattatore solo host VirtualBox


9

Per un test devo consentire il routing dalla mia rete locale a un ospite all'interno di un VirtualBox. L'ospite ha già accesso esterno.

Finora ho abilitato l'inoltro IP sul mio computer locale (OSX 10.9) e ho aggiunto un percorso alla rete solo host sul computer sulla rete locale.

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

La rete sembra così.

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

A meno che VirtualBox non rilasci intenzionalmente un pacchetto dall'esterno, ciò dovrebbe funzionare.

Il mio obiettivo sarebbe quello 192.168.0.104di connettermi 192.168.59.103. Finora posso solo eseguire il ping 192.168.59.3da esso.

Inoltre, il mio ospite ha già un altro adattatore con un gw predefinito che consente l'accesso al wifi.

Quale percorso o configurazione di rete potrei mancare?

Inoltre potrei capire il pacchetto che ottiene il mio ospite, ma l'ospite non è in grado di rispondere, tuttavia tcpdump mostra che nessun paquet arriva mai all'ospite se dico che eseguo il ping della macchina. Inoltre nessun firewall è in esecuzione da nessuna parte.

Tabella di routing sul mio 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

3
Qual è il motivo per cui non puoi semplicemente configurare la scheda di rete della tua VM per essere collegata al ponte anziché solo come host? Stai effettivamente ottenendo lo stesso comportamento.
pesante

Lo stesso? L'adattatore solo host è una rete separata, mentre AFAIK con bridge collegherà l'host alla mia rete reale. Quale inconveniente perché IP mentre si cambia da ufficio, a casa, ecc.
kkx

Sono un ragazzo VMware, ma come accennato da @heavyd, dovresti essere in grado di configurare una LAN privata o "solo host" con Virtual Box proprio come puoi fare con VMware Fusion o Workstation.
SaxDaddy,

@SaxDaddy È esattamente quello che sto usando ma sto provando a instradare il traffico verso di esso per un test. Tuttavia, come ho detto, non funziona come dovrebbe / vuole (o in realtà sta facendo un lavoro troppo bello). L'adattatore solo host sembra far cadere il traffico esterno, anche se il routing è corretto o qualcosa in MacOSX non sta instradando correttamente il traffico.
kkx,

4
Sono sorpreso che nessuno abbia notato l'errore in questa configurazione, poiché è così ovvio: nel comando route route , la rete solo host è stata configurata per utilizzare come gateway un pc al di fuori della rete solo host. Questo non può assolutamente funzionare. Il percorso corretto avrebbe dovuto usare come gw l'indirizzo IP dell'interfaccia mac sull'adattatore solo host, non la sua LAN predefinita. Ci sono altri errori (perché lo ha un indirizzo di 192.168.59.3 nella tabella di routing ???) ma con l'errore nel percorso non è possibile fare alcun progresso. Lascio questa nota per i lettori di eventaul.
MariusMatutiae,

Risposte:


1

La modalità di rete solo host non può essere utilizzata per instradare il traffico dalla rete locale agli host di macchine virtuali. È necessario utilizzare la rete Bridged, NAT o NAT. Con gli ultimi due è necessario un port-forward.

Riferimenti:

[1] https://www.virtualbox.org/manual/ch06.html#networkingmodes (Vedi la tabella alla fine della sezione 6.2) [2] https://www.virtualbox.org/manual/ch06.html# network_hostonly


Scusa non è vero. Penso che la documentazione possa essere fuorviante. La sola rete host è come una vera LAN indipendente, ma le LAN possono avere gateway e non c'è nulla che impedisca all'host (o anche a uno degli ospiti) di fungere da router. Lo faccio sempre su LInux Non vedo perché non dovrebbe essere possibile su OS-X. Il bridging e il routing sono due cose diverse.
Rodney,

Si noti che stiamo usando termini definiti da Virtualbox, non buonsenso. Sono stato fuorviato dalle parole, ecco perché ho indicato la tabella alla documentazione.
Marcelo Roberto Jimenez,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.