Estou executando um aplicativo da web na VM.
Eu posso ver o aplicativo em localhost:8888
através de um navegador de dentro da VM.
Não consigo ver o aplicativo do host no mesmo URL. Esse é o objetivo.
eu tentei VBoxManage modifyvm "VM name" --natdnshostresolver1 on
mas não teve impacto.
Minha configuração é:
- Hospedeiro: Windows 7
- Convidado: Ubuntu 16.04.1 LTS
- VirtualBox: 5.1.4r110228
(Convidado) ifconfig
quando em NAT
kirkland@GC:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:d0:fc:0e
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::4c67:70b5:c37b:8fa8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7431 errors:0 dropped:0 overruns:0 frame:0
TX packets:3587 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7444830 (7.4 MB) TX bytes:731870 (731.8 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1566 errors:0 dropped:0 overruns:0 frame:0
TX packets:1566 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:655936 (655.9 KB) TX bytes:655936 (655.9 KB)
(Convidado) / etc / hosts
127.0.0.1 localhost
127.0.1.1 GC
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
networking
ubuntu
virtualbox
dns
nat
Kirkland
fonte
fonte
sudo ifconfig eth1 192.168.56.10 netmask 255.255.255.0 up
, mas não funcionou. Com isso dito, foi oIPv4 Network Mask
um erro de digitação porque não corresponde à imagem que você incluiu.255.255.255.0
e eu consertei no meu post. Deve funcionar. Se não houver algo mais em jogo, como o aplicativo em sua VM sendo explicitamente conectado alocalhost
em vez de ser configurado para usar um endereço IP também. Mas eu ajudei o melhor que pude; não pode ajudar mais. Boa sorte para você em resolver isso.Respostas:
o
localhost:8888
URL é apenas um URL válido dentro de sua VM. Fora dessa VM você terá que usarip.ad.dr.ess:8888
ouhostname:8888
. Neste último caso, uma dependência no nome do host resolvido paraip.ad.dr.ess
na sua rede é introduzido.Por padrão, quando você cria uma VM no VirtualBox, o adaptador de rede 1 é definido como NAT. Isso dará à VM um endereço IP de
10.0.2.15/24
e uma rota padrão de10.0.2.2
(que deve ser seu host). Para encurtar a história, as janelas não serão direcionadas para um endereço para o qual o NAT está fornecendo, sem passar por mais aros primeiro.Desligar a VM e alterar a configuração do adaptador 1 de rede VM para "em ponte" permitirá que seu host (e qualquer host em sua rede local) se comunique com essa VM sem que nenhuma rota especial seja adicionada ou que arcos passem por ela.
Reinicie a VM. Verifique sua conectividade para
localhost:8888
. Além disso, verifique sua conectividade comhostname:8888
(assumindo que hostname eranot
adicionado ao endereço de loopback / localhost no arquivo / etc / hosts) eip-address:8888
. EDIT: Baseado nos detalhes do / etc / hosts postados, vocêare
ligação sua VM e, portanto, o webapp para a rede de loopback. Esta configuração não é utilizável fora da VM.Se o servidor e o aplicativo da Web não dependerem do IP em que ele foi configurado / instalado e você tiver um servidor DHCP em sua LAN, a única outra informação que você precisa para se conectar à VM é o endereço IP que foi atribuído a ele via DHCP.
Para encontrar o endereço IP da VM: Abra uma janela de terminal / console na área de trabalho do Ubuntu (ctrl-alt-T), usamos hostname, ifconfig e grep
/etc/hosts
comandos para juntar as peças e encontrar o seu endereço. Do terminal aberto, digitehostname
então aperte enter. Isso é provavelmente gc. Nesse mesmo terminal, digitandoifconfig eth0 | awk '/Bcast/{print $2}'
mostrará o endereço. Você deve ter uma linha em / etc / hosts com o endereço seguido pelo nome do host.grep [hostname] /etc/hosts
ougrep [address] /etc/hosts
deve encontrar a linha que você precisa. Se você encontrar algo diferente do seu endereço atual seguido pelo nome do host, será necessário modificar o arquivo / etc / hosts para incluir as informações corretas.Os hosts em sua LAN agora devem poder se conectar ao IP de sua VM na porta 8888. Para esses hosts / clientes acessarem a webapp via
hostname:8888
dependerá dos arquivos hosts do cliente, do DNS local ou até mesmo dos serviços mDNS, possivelmente fornecidos em seu servidor DHCP.fonte
Bridged Adapter
(3 opções) eHost-only Adapter
(1 opção). Não funcionou. Eu não tenho certeza do que você quer dizer comhostname:8888
. Na VM eu posso acessar a webapp vialocalhost:8888
e127.0.0.1:888
. Não consigo acessar o aplicativo na VM em10.0.2.15:8888
ou10.0.2.255:8888
. Eu não sou capaz de chegar a ele do host. Adicionei mais informações sobre minha configuração à postagem original. Se houver mais alguma coisa que eu possa postar que possa esclarecer as coisas, me avise. Obrigado pela ajuda!10.0.2.15 gc
e veja se você pode acessar o aplicativo com 10.0.2.15:8888 e gc: 8888. Se você puder, estamos fazendo progresso.10.0.2.15 GC
abaixo127.0.1.1 GC
no meu convidadohosts
Arquivo. Dentro do convidado eu posso ver o aplicativo vialocalhost:8888
, mas10.0.2.15:8888
me dá ...ERR_CONNECTION_REFUSED
.Para conseguir isso, acho que seria melhor usar o modo de ponte. Se isso não for possível ou desejável, você precisará de uma rota estática no seu host.
Para adicionar uma rota estática, faça o seguinte: Olhe nas propriedades de rede do seu host. Você deve encontrar um adaptador chamado VirtualBox Host-Only Network. Encontre o seu endereço IP. É provavelmente 192.168.56.1, que eu acho que é o padrão, mas poderia ser outra coisa. Chame isso de a.b.c.d. Em seguida, obtenha o endereço IP do seu convidado. Chame isso de w.x.y.z. (Os primeiros 3 octetos devem ser os mesmos em ambos os endereços.) Quando você tiver isso, abra um prompt do DOS em seu host e digite este comando:
Se isso funcionar, você pode executar o mesmo comando com a opção -p para torná-lo permanente (caso contrário, ele desaparecerá na próxima vez que você reinicializar o host).
fonte