Como acesso a máquina host a partir da máquina convidada? [fechadas]

124

Acabei de criar uma nova VM do Windows XP no meu Mac usando o VMware Fusion. A VM está usando o NAT para compartilhar a conexão com a Internet do host.

Como faço para acessar um aplicativo Rails, acessível no próprio Mac usando http://localhost:3000?

John Topley
fonte

Respostas:

134

Na máquina XP, encontre seu endereço IP, vá para o prompt de comando e digite ipconfig. Tente substituir o último número por 1 ou 2. Por exemplo, se o seu endereço IP for 192.168.78.128, use http://192.168.78.1:3000 .

JW.
fonte
3
poupou-me horas de folga - deu um tapinha nas costas, senhor!
Iancrowther #
Estou usando o Lion como host e o Win7 como convidado, mas não pude visitar meu aplicativo de trilhos no meu mac usando isso. Por quê?
larryzhao
1
Se o endereço IP da rede local é: 192.168.1.122 então você deve usar 192.168.1.122:3000 e que devem trabalhar
dbslone
6
Nota importante: Essas soluções não funcionarão se você estiver conectado usando VPN.
Harshay Buradkar
80

Você pode usar o nome 'local' do Mac host (ou qualquer outro Mac na rede):

http: //macname.local: 3000 /

onde macname é o nome da rede do seu host (ou outro Mac desejado).

Michael Larocque
fonte
1
Soberbo. Eu não sabia sobre o bit local. Obrigado!
#
isso está disponível apenas se a VM foi configurada nesse mac? Eu portava outra VM de algum outro lugar e o computername.local não está funcionando para mim
spankmaster79
7
o ".local" é apenas para mac. Quando você abre Preferências / Compartilhamento do Sistema, na verdade mostra o nome do computador e, abaixo, observa que, para acessá-lo na rede local, você deve usar computername.local - isso se aplica à conexão com o compartilhamento de arquivos, o compartilhamento na web, etc.
Johnus
1
Isso parece exigir que a rede VMWare esteja configurada para receber NAT (ou, presumivelmente, ponte); a configuração 'somente host' resulta no tempo limite da conexão de rede. Não está claro para mim por que este deve ser o caso, mas ...
Norman Grey
Eu costumava usar esse método e funcionou muito bem! Mas, recentemente, ele parou de funcionar e não sei por que. Talvez tenha parado com uma atualização para o Snow Leopard ou talvez com uma atualização para o Fusion. Agora meu machostname.local resolve para um endereço público na Internet.
27411 Jason
14

Para futuros visitantes: depois de descobrir o endereço IP, você pode adicionar uma entrada ao arquivo de hosts do Windows, localizado em C: \ Windows \ system32 \ drivers \ etc \ hosts, para mapear o endereço IP para um nome do servidor (virtual). Adicione uma linha como esta:

192.168.78.1   myrubyapp

Agora você pode acessar o site no IE no endereço http: // myrubyapp: 3000

Se você usa hosts virtuais no Apache, será necessário fornecer o nome correto do servidor.

J. Perkins
fonte
O IP deve permanecer fixo entre as sessões em um NAT? Eu duvido disso.
Lothar
10

Como essa pergunta é bastante antiga e se refere ao XP, aqui está uma alternativa para novos sistemas operacionais;


Se você está usando o Vista ou o Windows 7 como sistema operacional convidado e tem hosts virtuais configurados no host via Apache, veja como configurar:

No sistema operacional host, você precisa garantir que a conexão de rede seja feita via NAT;

  1. Clique com o botão direito do mouse no ícone de rede na janela da VM (canto inferior direito)
  2. Selecione "NAT"
  3. Selecione "Conectar"
  4. Aguarde o sistema operacional convidado se reconectar à rede

Então, no SO convidado;

  1. Clique em Iniciar> Rede> Central de Rede e Compartilhamento
  2. Clique em "Exibir status" ao lado da conexão de rede
  3. Clique em "Detalhes"
  4. Encontre "Gateway Padrão IPv4"
  5. Abra o Wordpad
  6. Edite C: \ Windows \ System32 \ drivers \ etc \ hosts
  7. Adicione uma linha ao arquivo, como:

    [default-gateway-IP] www.example.com
    [default-gateway-IP] example.com
    
  8. Salve 

  9. Tente abrir http://www.example.comou http://example.comno IE

Jess Telford
fonte
É muito estranho, mas tive que subtrair 1 do ip do gateway. Na verdade, ele trabalhou para mim para descobrir por ping o host: ping <my-mac-host>.locale colocar esse ip no arquivo de hosts
Cristian
1
No lugar das etapas de 1 a 4 no SO convidado, você também pode abrir o Run Dialogue, digite cmd+ <enter>, digite: ipconfig /all+ <enter> e encontre o "Gateway Padrão" lá.
precisa
Obrigado Jess !. ipconfig /allfoi mais rápido também
Emerson Rocha
9
  1. Na máquina XP, Iniciar -> Conectar a -> Mostrar todas as conexões.
  2. Clique duas vezes em Conexão local.
  3. Clique na guia Suporte.
  4. Pegue o IP do gateway padrão <gateway-ip> e pressione http: // <gateway-ip>: 3000 no seu navegador.

Você precisa ter http: // no endereço ou o IE fornecerá "A página da web não pode ser exibida".

Richard Poirier
fonte
6

Para o Django, é importante fazer o seguinte:

./manage.py runserver [IP do gateway padrão]: 8000

Porque

https://docs.djangoproject.com/en/dev/ref/django-admin/

Observe que o endereço IP padrão, 127.0.0.1, não pode ser acessado de outras máquinas na sua rede. Para tornar seu servidor de desenvolvimento visível para outras máquinas na rede, use seu próprio endereço IP (por exemplo, 192.168.2.1) ou 0.0.0.0 ou :: (com o IPv6 ativado).

Googol
fonte
5

Passei apenas uma hora tentando fazer com que isso funcionasse seguindo as etapas do SO, mas o meu acabou sendo um pouco diferente.

Configurações do VMWare

1.) Configure a conexão VMWare como NAT
2.) execute> cmd> ipconfig> copie o valor do gateway padrão
3.) edite o arquivo hosts (c: / Windows / System32 / drivers / etc / hosts)

  • adicione isso ao seu arquivo hosts:

<gateway-ip> yourserver.local

Configurações do OS X

1.) edite a configuração do Apache (por exemplo, sudo vim /etc/apache2/httpd.conf)

  • adicione esta entrada vhost ao seu arquivo httpd.conf:
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
    DocumentRoot "/ caminho / para / seu / projeto"
    ServerName YOURServer.Local

    <Diretório "/ caminho / para / seu / projeto">
        AllowOverride All
        Opções Tudo
    </Directory>
</VirtualHost>
  • salvar e sair (: wq)

2.) Edite o arquivo de hosts (sudo vim / etc / hosts)

  • adicione esta linha ao seu arquivo hosts

127.0.0.1 yourserver.local

3.) Reinicie o Apache (sudo apachectl restart)

Descobri que precisava mudar a configuração de conexão no VMWare para reiniciar a conexão antes que essas configurações funcionassem para mim. Eu espero que isso ajude.

Dennis Plucinik
fonte