Não é possível acessar o servidor da Web na máquina virtual da Internet

0

Estou com problemas para acessar meu servidor da web quando ele está em uma máquina virtual. Se eu colocar o servidor na máquina host física, posso acessá-lo da Internet. No entanto, quando tento acessar o servidor da web quando ele está na VM (na mesma máquina host), ele simplesmente trava (no navegador e curl externalip:forwardedport ).

Estou um pouco incomodado porque isso não está funcionando porque as partes dessa configuração funcionam isoladamente, mas não funcionam quando colocadas juntas.

Quando o coloco em uma máquina virtual, certifico-me de configurar uma conexão de rede em ponte e de acessá-la de qualquer lugar da rede em máquinas separadas. Eu também configuro o encaminhamento de porta no roteador para o ip estático atribuído ao IP estático atribuído à VM.

Os seguintes representam configurações. A primeira configuração é a que estou tentando alcançar. O segundo e o terceiro são "configurações parciais" que parecem que, se ambos funcionam (e funcionam), então a primeira configuração também deve funcionar.

  1. servidor da Web < - > máquina virtual < - > máquina host < - > router < - > modem < - > internet
  2. servidor da Web < - > máquina virtual < - > máquina host < - > router < - > outro computador
  3. ................................ webserver < - > máquina host < - > router < - > modem < - > internet

Basicamente # 2 significa que posso acessar o servidor da web localmente e # 3 significa que posso acessar o servidor da web, se o servidor da Web não estiver na máquina virtual, mas no host da VM.

Atualmente estou usando:

webserver: python's SimpleHTTPServer at port 8888
virtual machine: centos deployed by vagrant on virtualbox. 
host machine: thinkpad, windows
router: apple airport, wrt-54g (tried both, same results)
modem: SB6121 cable modem
internet: comcast 

Eu configurei o encaminhamento de porta da porta 8888 para o endereço IP estático local 10.0.1.99 @ 8888 do servidor da Web.

Pensei que tudo deveria estar certo. Eu pedi a um amigo que tentasse acessar o servidor web de seu próprio roteador / internet e ele tem os mesmos resultados: ele simplesmente trava.

É a combinação de encaminhamento de porta no roteador e a ponte do adaptador de rede vm que parece causar problemas. Tenho certeza de que estou encaminhando a porta certa para o IP estático correto. Além disso, não sei por que está pendurado, em vez de simplesmente largar minha conexão. Algumas pessoas sugeriram, os pacotes não estão encontrando o caminho de volta para a internet.

    
por barrrista 27.12.2014 / 08:17

1 resposta

1

Eu encontrei qual era o problema. O Vagrant cria dois adaptadores, um NAT, supostamente para a conexão ssh, e o adaptador em ponte que eu pedi no VagrantFile. Se eu desabilitar o adaptador NAT (ou seja, através do VirtualBox) e deixar o adaptador em ponte ativo, de repente ele funciona, e eu posso acessar o servidor da Internet. Se eu deixar o adaptador NAT, só posso acessar o servidor da rede (ou seja, outras caixas).

Aqui está a configuração de quando não funcionou:

Adaptador NAT:

Adaptadoremponte:

ifconfig dentro da minha VM, hospedando o servidor da web. Não consigo acessar da internet. O endereço IP aqui é: 99 porque eu configurei um ip estático através do VagrantFile (arquivo de configuração do vagrant):

Derepente,funcionaseeuremoveroadaptadorNAT,usandoapenasoadaptadoremponte.OendereçoIPmudaparaalgoatribuídopeloDHCP,porqueeusimplesmenteligo:

Tenho certeza de que configurei o encaminhamento de porta corretamente sempre que o ip local foi alterado no adaptador em ponte e repliquei o problema várias vezes.

    
por 28.12.2014 / 22:45