Não é possível rotear solicitações http para convidados do Virtualbox de clientes externos

2

Eu tenho um convidado VirtualBox rodando o Ubuntu 14.04 e um servidor web node.js. O host do Virtualbox é um cliente do Windows 8.1. Depois de configurar o servidor do nó, estou tendo alguma dificuldade em fornecer acesso externamente.

O servidor do nó está sendo executado na porta 5005, então, normalmente, eu criaria uma regra de encaminhamento de porta do firewall para rotear todas as solicitações do 5005 para o IP convidado (192.168.2.13) na mesma porta. Fazendo isso, vejo as solicitações que faço de um local externo acessarem o firewall e serem permitidas, mas o cliente externo nunca recebe uma resposta. Se eu acessar o IP privado de dentro da rede, ele responde da maneira correta e esperada (então o servidor está definitivamente ativo).

Se eu tentar o mesmo processo, mas executar um servidor na máquina host (em vez de uma VM convidada), isso funciona! Isso sugere que a configuração do firewall não é um problema. Eu posso pingar o IP convidado do firewall, então a conectividade parece bem.

Então, parece haver algo acontecendo na configuração de rede da VM causando um problema, mas o que? O convidado do VB é configurado com um IP estático, usando o modelo de rede em ponte do VirtualBox.

Nem o IpTables nem o UFW estão configurados para bloquear qualquer coisa no guest (que eu conto)

O que eu perdi?

    
por Andre Lackmann 12.10.2015 / 07:53

1 resposta

1

Acontece que o convidado não tem o gateway padrão definido corretamente. Eu pude dizer isso executando

route -N

no convidado e mostrou que não havia um conjunto de rotas padrão. Para corrigir isso, eu corri

route del default
route add default gw 192.168.2.100 eth1

e o convidado agora pode se comunicar corretamente com o tráfego NAT da Internet.

    
por 12.10.2015 / 13:45