No VirtualBox, como posso acessar o host local do convidado (o Visual Studio Dev Server do IE7 testando a VM)?

7

O sistema operacional host é o Win7 que executa o MyApp no Visual Studio Development Server, vinculado ao localhost: 51227, a VM é o VirtualBox configurado com o NAT. O sistema operacional convidado é o Win XP com o IE7 instalado. Meu objetivo é depurar MyApp (executando no host) de dentro do IE7 (em execução no convidado).

O servidor de desenvolvimento do Visual Studio vincula-se apenas ao dispositivo de rede de loopback (por exemplo, localhost). Ele não é vinculado ao endereço IP externo do meu host.

Eu tentei acessar 10.0.2.2:51227 do IE7 no convidado (e confirmei que 10.0.2.2 é o endereço do gateway usando ipconfig), mas parece que 10.0.2.2 se liga ao IP externo do host, NÃO o IP de loopback (localhost), então isso não funciona.

Alguma sugestão?

    
por Seth 23.11.2012 / 14:17

2 respostas

8

A solução mais simples para mim foi usar o SPI Port Forward no Host para permitir acesso ao meu serviço somente localhost de uma interface de rede externa:

  1. Faça o download do SPI Port Forward e execute no host (sem instalador, o download é uma exe nu)
  2. Importante : O Firewall do Windows perguntará se o SPI Port Forward tem permissão para acessar as redes Públicas. Marque a caixa para permitir acesso a redes públicas .
  3. Configure a Porta local para 8888 (ou o que você quiser), Host remoto para host local, Porta remota para a porta do serviço de destino no host (no meu caso 51227, como VSDS está sendo executado na porta 51227) e clique em " Ativar "
  4. Acesse 10.0.2.2:8888 do convidado.

Nota: Se o 10.0.2.2 não funcionar, execute cmd no guest para abrir uma linha de comando, use 'ipconfig' e use o endereço do gateway padrão, mas o VirtualBox atualmente é padronizado como 10.2.2.2 para isso, então é uma aposta segura.

Note-se que esta configuração permitirá acesso externo IP a VSDS, portanto, use com cautela ... claro, isso poderia ser útil se você quisesse depurar o suporte ao celular ou algo assim.

    
por 24.11.2012 / 16:35
0

Embora o VirtualBox possa acessar a interface de loopback no host (como qualquer outro programa em execução no host), ele não fornece nenhum meio de acessá-lo a partir de um sistema operacional convidado (que também é o caso de outras soluções de virtualização que eu conheço). / p>

Se o VirtualBox fornecer acesso à interface de loopback do host, ele deverá criar uma interface adicional em cada convidado, vinculada à interface de loopback no host.

Por que essa interface adicional? Porque, no convidado, qualquer tráfego enviado para 127.0.0.1 seria automaticamente encaminhado para a sua própria interface de loopback e não para o host.

Posso pensar em uma solução alternativa : vincular o Visual Studio Development Server a 10.0.2.2. Assim, seu ambiente de desenvolvimento não é acessível de fora, mas acessível pelo convidado VirtualBox (embora eu tenha lido no comentário de James acima que talvez não seja possível, eu li recomendações para associa o VS ao w3p.exe , que parece funcionar pelo menos no Windows 2003 ).

    
por 23.11.2012 / 15:21