O VirtualBox Port Forward não funciona quando Guest IP * IS * é especificado (enquanto o doc diz o contrário)

4

Tentando redirecionar a partir do host (Mac OS X) 127.0.0.1:8282 - & gt; 10.10.10.10:8080 do convidado (CentOS). Os encaminhamentos de porta existentes incluem 127.0.0.1:8181 e 9191 para convidado sem nenhum IP especificado (portanto, seja lá o que for feito através do DHCP, conforme explicado na documentação).

Aqui está como a ligação não funcional foi adicionada:

VBoxManage modifyvm "VM name" --natpf1 "rule3,tcp,127.0.0.1,8282,10.10.10.10,8080"

Veja como os trabalhos foram adicionados:

VBoxManage modifyvm "VM name" --natpf1 "rule1,tcp,127.0.0.1,8181,,80"
VBoxManage modifyvm "VM name" --natpf1 "rule2,tcp,127.0.0.1,9191,,9090"

E por "não trabalhar", é claro que não estou ouvindo (como um pré-requisito para o encaminhamento):

$ lsof -Pi -n|grep Virtual|grep LISTEN
VirtualBo 27050 user   21u  IPv4 0x2bbdc68fd363175d      0t0  TCP 127.0.0.1:9191 (LISTEN)
VirtualBo 27050 user   22u  IPv4 0x2bbdc68fd0e0af75      0t0  TCP 127.0.0.1:8181 (LISTEN)

Deve haver uma linha semelhante acima, mas com 127.0.0.1:8282.

Só para ficar claro, esta porta está escutando perfeitamente bem o hóspede em si. E quando eu remover o IP convidado (ou seja, limpar o 10.10.10.10) o encaminha funciona bem, embora para eth0 (não eth1 onde eu preciso). Eu posso dormir e assistir o fluxo de tráfego para frente e para trás. E sim, eu desativei o iptables completamente durante o teste - ele não está sendo bloqueado em nenhum lugar do guest.

Como o VirtualBox escreve em sua documentação , você é obrigado a especificar o IP de convidado se ele é estático (faz sentido, nenhum registro de DHCP é mantido): "Se por algum motivo o convidado usar um endereço IP atribuído não alugado do servidor DHCP embutido, é necessário especificar o IP convidado ao registrar a regra de encaminhamento: ". No entanto, fazendo isso (como eu preciso), parece quebrar a porta para a frente com apenas um relatório em qualquer arquivo de log que eu possa encontrar. (Revisei tudo em ~ / Library / VirtualBox /).

Outras notas:

  1. Enquanto eu usei o comando acima para adicionar a terceira regra, eu também verifiquei que ele apareceu corretamente na interface gráfica e depois removido / re-adicionado a partir daí só para ter certeza).
  2. este link do fórum - enquanto muito antiquado - parece um pouco relacionado em que uma porta encaminhar para um IP estático não estava aparecendo (talvez eles acham que devido à falta de arp gratuito sendo enviado para o host saber IP está lá / avail?).

Enfim, o que dá? Isso ainda é buggy? Alguma sugestão? Se não, soluções fáceis o suficiente? O interessante é que isso funciona perfeitamente no Mac de outro usuário, mas ele está rodando uma versão um pouco mais antiga (4.3.6 v. 4.3.12).

Patrick
fonte
Eu arquivei um bug virtualbox.org/ticket/13971
Mattias Wadman