Acheminer le trafic du réseau local vers l'adaptateur hôte virtuel VirtualBox

9

Pour un test, je dois autoriser le routage de mon réseau local vers un invité à l'intérieur d'une VirtualBox. Le client a déjà un accès extérieur.

Jusqu'à présent, j'ai activé le transfert IP sur ma machine locale (OSX 10.9) et ajouté une route vers le réseau hôte uniquement sur la machine sur le réseau local.

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

Le réseau ressemble à ça.

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

À moins que VirtualBox ne supprime intentionnellement un paquet de l'extérieur, cela devrait fonctionner.

Mon objectif serait de me 192.168.0.104connecter 192.168.59.103. Jusqu'à présent, je ne peux que ping 192.168.59.3.

De plus, mon invité a déjà un autre adaptateur avec un gw par défaut qui permet d'accéder au wifi.

Quelle configuration de route ou de réseau pourrais-je manquer?

De plus, je pouvais comprendre que le paquet recevait mon invité, mais l'invité ne pouvait pas répondre, cependant tcpdump n'affiche aucun paquet jamais reçu par l'invité si je dis ping sur la machine. De plus, aucun pare-feu ne fonctionne nulle part.

Table de routage sur mon 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
la source
3
Une raison pour laquelle vous ne pouvez pas simplement configurer la carte réseau de votre machine virtuelle pour qu'elle soit pontée au lieu d'être réservée à l'hôte uniquement? Vous obtenez effectivement le même comportement.
Heavyd
Le même? L'adaptateur hôte uniquement est un réseau séparé, tandis que l'AFAIK ponté liera l'hôte à mon réseau réel. Ce qui est gênant car l'IP pendant le changement de bureau, à domicile, etc.
kkx
Je suis un gars de VMware, mais comme @heavyd l'a mentionné, vous devriez pouvoir configurer un LAN privé ou "hôte uniquement" avec Virtual Box comme vous le pouvez avec VMware Fusion ou Workstation.
SaxDaddy
@SaxDaddy C'est exactement ce que j'utilise, mais j'essaie d'acheminer le trafic vers celui-ci pour un test. Cependant, comme je l'ai dit, ne fonctionne pas comme il le devrait / veut (ou en fait, il fait trop bien son travail). L'adaptateur uniquement hôte semble laisser tomber le trafic extérieur, même si le routage est correct ou si quelque chose dans MacOSX n'achemine pas correctement le trafic.
kkx
4
Je suis étonné que personne n'ait remarqué l'erreur dans cette configuration, car elle est si évidente: dans la commande route add , le réseau hôte uniquement a été configuré pour utiliser comme passerelle un PC en dehors du réseau hôte uniquement. Cela ne peut pas fonctionner. La route correcte aurait dû utiliser comme gw l'adresse IP de l'interface mac sur l'adaptateur hôte uniquement, pas son LAN par défaut. Il y a d'autres erreurs (pourquoi lo a-t-il une adresse 192.168.59.3 dans la table de routage ???) mais avec l'erreur de route, aucune progression n'est possible. Je laisse cette note aux lecteurs de l'événement.
MariusMatutiae

Réponses:

1

Le mode réseau uniquement hôte ne peut pas être utilisé pour acheminer le trafic du réseau local vers les hôtes VM. Vous devez utiliser un réseau Bridged, NAT ou NAT. Avec les deux derniers, vous avez besoin d'un port-forward.

Références:

[1] https://www.virtualbox.org/manual/ch06.html#networkingmodes (voir le tableau à la fin de la section 6.2) [2] https://www.virtualbox.org/manual/ch06.html# network_hostonly

Marcelo Roberto Jimenez
la source
Désolé, ce n'est pas vrai. Je pense que la documentation peut être trompeuse. Le réseau uniquement hôte est comme un réseau local indépendant, mais les réseaux locaux peuvent avoir des passerelles et rien n'empêche l'hôte (ou même l'un des invités) d'agir comme un routeur. Je le fais tout le temps sur LInux, je ne vois pas pourquoi cela ne devrait pas être possible sur OS-X. Le pontage et le routage sont deux choses différentes.
Rodney
Notez que nous utilisons des termes définis par Virtualbox, pas du bon sens. J'ai été induit en erreur par les mots, c'est pourquoi j'ai montré le tableau à la documentation.
Marcelo Roberto Jimenez