Le système d'exploitation hôte est Win7 exécutant MyApp dans le serveur de développement Visual Studio, lié à localhost: 51227, VM est VirtualBox configuré avec NAT. Le système d'exploitation invité est Win XP avec IE7 installé. Mon objectif est de déboguer MyApp (en cours d'exécution sur l'hôte) à partir de IE7 (en cours d'exécution sur un invité).
Le serveur de développement Visual Studio se lie uniquement au périphérique réseau en boucle (localhost). Il ne se lie pas à l'adresse IP externe de mon hôte.
J'ai essayé d'accéder 10.0.2.2:51227 à partir d'IE7 sur l'invité (et confirmé que 10.0.2.2 est l'adresse de passerelle utilisant ipconfig), mais il semble que 10.0.2.2 se lie à l'adresse IP externe de l'hôte, PAS à l'adresse IP de bouclage. (localhost), donc cela ne fonctionne pas.
Aucune suggestion?
Réponses:
La solution la plus simple pour moi était d’utiliser SPI Port Forward sur l’hôte pour permettre l’accès à mon service localhost uniquement à partir d’une interface réseau externe:
Remarque: Si 10.0.2.2 ne fonctionne pas, exécutez cmd sur l'invité pour afficher une ligne de commande, utilisez "ipconfig" et utilisez l'adresse de passerelle par défaut, mais VirtualBox utilise par défaut la valeur 10.2.2.2. pari sûr.
Il convient de noter que cette configuration autorisera l’ACCÈS IP EXTERNE À VSDS. Il faut donc l’utiliser avec prudence… bien sûr, cela peut être utile si vous souhaitez déboguer l’assistance téléphonique ou autre.
la source
Bien que VirtualBox puisse accéder à l'interface de bouclage sur l'hôte (comme tout autre programme exécuté sur l'hôte), elle ne fournit aucun moyen d'y accéder à partir d'un système d'exploitation invité (ce qui est également le cas dans d'autres solutions de virtualisation que je connais).
Si VirtualBox a fourni un accès à l'interface de bouclage de l'hôte, il doit créer une interface supplémentaire sur chaque invité, liée à l'interface de bouclage de l'hôte.
Pourquoi cette interface supplémentaire? Parce que, sur l'invité, tout trafic envoyé à 127.0.0.1 serait automatiquement transféré vers sa propre interface de bouclage et non vers l'hôte.
Je peux penser à une solution de contournement : associez Visual Studio Development Server à 10.0.2.2. Ainsi, votre environnement de développement n'est pas accessible de l'extérieur mais accessible par l'invité de VirtualBox (bien que j'ai lu dans le commentaire de James ci-dessus qu'il ne soit peut-être pas possible, j'ai lu des recommandations pour lier VS à
w3p.exe
, ce qui semble fonctionner au moins sur Windows 2003 ).la source