Usando uma máquina virtual do Windows para navegar em um site local: é possível?

5

Durante o nosso processo de desenvolvimento web, muitas vezes precisamos testar o layout de nossos aplicativos e sites em vários navegadores. Como a execução de todos esses navegadores autônomos é quase impossível e aplicativos como IETester não funcionam perfeitamente e não pode ser executado no Windows 7, seria bom poder executar máquinas virtuais para esses navegadores para ter uma experiência "nativa".

Atualmente, estou tentando isso usando um Virtual Windows XP executando o IE7 . Minha própria configuração é um Windows 7 RC1 64bit . A maioria dos nossos sites e aplicativos são desenvolvidos localmente usando mapeamentos no arquivo de hosts do Windows.

O problema:

Ao navegar para o link de dentro de uma Máquina Virtual, o arquivo host da Máquina Virtual é consultado em vez do SO real na parte superior da máquina virtual. Máquina virtual. Além disso, quando o mesmo mapeamento é adicionado, o navegador (obviamente) ainda navega para o "host local virtual".

  • Existe uma maneira de tornar a consulta de Máquina Virtual o arquivo de hosts do Windows 7?
  • Existe uma maneira de tornar o host local da Máquina Virtual igual ao host local real do Windows 7?
por Aron Rotteveel 24.06.2009 / 10:48

8 respostas

4

Por favor, leia todas as instruções abaixo antes de iniciá-las, e verifique o que você teria que fazer para desfazer segui-las. Isso é da memória, eu uso um Mac agora.

Suponho que você use o VMware e sua VM [a abreviação usual de Virtual Machine] no modo de rede NAT.

Eu uso o termo sistema host para a instalação do sistema operacional que executa o sistema VMware e guest para o sistema em execução no VMware, conforme a linguagem comum da VMware.

Parte I: Encontre o endereço IP do sistema host na rede NAT que o VMware simula (normalmente, rede 8):

Abra um cmd.exe na máquina host e digite:

ipconfig / all

Anote o endereço IP da interface NAT do VMware

Parte II: Tornando o arquivo hosts uniforme

Altere o arquivo de hosts,% systemroot% \ System32 \ Drivers \ Etc \ hosts, em seu sistema host para que ele use o endereço IP do adaptador NAT do VMware em vez de 127.0.0.1 para os sites locais.

Verifique se o servidor da Web atende a esse endereço IP.

Parte III: Disponibilizando o arquivo hosts

No sistema host, na linha de comando:

rmtshare \name-of-host-system\hostspath=%systemroot%\System32\Drivers\Etc /grant Everyone:r

Verifique se não há informações confidenciais nesse caminho.

Parte IV: Buscando o arquivo hosts

Crie um arquivo em lote, c: \ hostsfile \ vm_hosts_copy.bat no sistema convidado, com este conteúdo:

copy \name-of-host-system\hostspath\hosts %systemroot%\System32\Drivers\Etc

Importe isso para o seu registro:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
"CopyHostsFile"="c:\hostsfile\cm_hosts_copy.bat"

Se tudo isso for feito, você poderá trabalhar com o mesmo arquivo de hosts em seu sistema host e em todos os sistemas convidados. O arquivo hosts nos sistemas convidados será atualizado a cada reinicialização. Você só precisa alterá-lo no local habitual,% systemroot% \ System32 \ Drivers \ Etc \ hosts, em seu sistema host.

Você pode usar isso em todas as suas VMs do Windows e scripts análogos com smbclient e /etc/rc.local na maioria dos sistemas Unix para testes de multiplataforma.

    
por 25.06.2009 / 16:30
1

Configure suas VMs para usar rede em ponte em vez de NAT (se ainda não o fez). Agora a VM está na mesma rede que o host.

Configure o arquivo hosts da VM convidada para ser o mesmo que sua estação de trabalho (o host da VM).

ie:
[IP do VM HOST] mywebsite.localhost

    
por 26.06.2009 / 20:21
1

A resposta correta para isso já existe no link do Superusuário - mas vou resumir aqui:

Assim como 127.0.0.1 ou localhost são os endereços mágicos para cada computador se referir a si mesmo, 10.0.2.2 é o endereço mágico para um sistema operacional convidado se referir ao seu host, pelo menos no mundo do VirtualBox. Meu processo para configurar uma VM do VirtualBox que pode atingir sites que são atendidos localmente no sistema operacional host é:

  1. Faça o download e instale o VirtualBox e o link do pacote de extensão
  2. Faça o download e instale um sistema operacional convidado, provavelmente do link da Microsoft. do tempo desta escrita, você não precisa editar nenhuma das configurações pré-configuradas (instale a VM clicando duas vezes no cubo laranja .ovf file)
  3. Instalar as adições do convidado
  4. Altere as permissões e edite o arquivo de hosts, C:\Windows\System32\Drivers\etc\hosts , e repita todos os ataques feitos ao sistema operacional host, substituindo 127.0.0.1 por 10.0.2.2 , por exemplo, você pode adicionar uma linha como 10.0.2.2 local.dev.example.com
  5. inicie um navegador da Web e acesse o URL mascarado na etapa 4 ( local.dev.example.com ) - ele deve carregar a página exibida pelo sistema operacional host

Se você não hackear seus arquivos hosts, você pode usar apenas 10.0.2.2 diretamente no sistema operacional convidado. Espero que ajude!

    
por 14.11.2017 / 21:28
0

Classifique lateralmente, mas se for usar muitas VMs para o seu teste, configure um servidor DNS no host com uma zona de teste que encaminha para seus servidores DNS regulares. Em seguida, altere o host para usar o servidor DNS local e as VMs devem ser seguidas.

Anders

    
por 24.06.2009 / 10:57
0

Como você tem acesso ao sistema de arquivos do Windows 7 a partir da máquina virtual, parece que você pode configurar a VM para que copie o arquivo hosts do Windows 7 para o arquivo host da VM durante a inicialização. Esta é uma resposta teórica em vez de prática, embora eu não tenha o Windows 7 disponível para experimentá-la.

    
por 24.06.2009 / 11:02
0

Você deve, de alguma forma, fazer com que suas VMs "vejam" umas as outras por meio do recurso DNS ou lmhosts. Eu também evitaria usar nomes de pc com localhost, você pode usar nenhum sufixo ou mythc.local

O arquivo LMHOSTS principal está sempre localizado no diretório% systemroot% \ System32 \ Drivers \ Etc. Com o Microsoft TCP / IP, você pode incluir outros arquivos LMHOSTS de computadores locais e remotos.

Os usuários podem importar o arquivo LMHOSTS de computadores remotos na rede por

  • usando instruções #INCLUDE no Arquivo LMHOSTS
  • clicando em Importar LMHOSTS no WINS Aba Endereço do Microsoft TCP / IP Caixa de diálogo Propriedades.

Veja também este artigo da base de conhecimento da Microsoft.

    
por 24.06.2009 / 11:33
0

Is there a way to make the Virtual Machine's localhost the same as the actual Windows 7 localhost?

O texto acima me faz pensar que você pode estar atingindo uma batida de velocidade conceitual. Sua VM não irá (e não deve) pensar em seu host como localhost. É um dispositivo lógico diferente na rede.

Localhost é um termo reservado, de tipos, que sempre apontará para 127.0.0.1. A tentativa de subverter isso parece muito com quebrar a cabeça de uma marreta para transformá-la em uma bengala (em vez de usar apenas um bastão).

Os arquivos DNS e host existem exatamente por esse motivo.

    
por 24.06.2009 / 14:37
0

Gostaria apenas de colocar o squid ou outro proxy na máquina host e fazer com que todos os convidados o usassem como o proxy, então o localhost seria o host local do host e o arquivo hosts do host seria honrado.

    
por 26.06.2009 / 23:13