redirecionamento vmware

Como Redirecionar Portas de Host Windows Para VMware Workstation Usando NAT

No meu caso, que usei como exemplo para essa postagem, precisava que o cliente conseguisse acessar da internet através de Remote Desktop, uma vmware dentro de um host, que foi criada com rede Nat. Como a rede Nat possui diversas VMs que conversam entre si, e o host é um server dedicado em nuvem, Bridge não era uma opção.

Seguem então os passos para ajudar aqueles com necessidade similar ao que eu tinha. Não encontrei essa solução em nenhum outro forum, em português ou Inglês.

Primeiramente, caso já não possua, crie uma rede virtual:

-Edit -> Virtual Network Editor -> Add Network
-Defina faixa de IP e renomeie se quiser, defina também a faixa de distribuição de IPs dentro de DHCP Settings

Se quiser reservar os IPs das máquinas virtuais ao invés de colocar IP fixo nas máquinas, vá em:
C:\ProgramData\vmware e abra o arquivo vmnetdhcp.conf com o notepad (Elevado como Admin). Você deverá localizar a parte que mostra os dados da rede Nat que criou, e adicionar antes do END dessa parte conforme o modelo abaixo (Mude o nome do Host, MAC, e o IP conforme sua realidade):

host NOMEDOHOST {
hardware ethernet 00:00:00:00:00:00;
fixed-address 192.168.10.102;
}

Após as alterações de DHCP, salve o arquivo e reinicie o serviço de vmdhcp no host. Talvez precise desativar a placa de rede na vm e ativar novamente ou reiniciar a vm.

Para encaminhar a porta será preciso completar etapas no Host Windows e depois no vmware workstation (E também na VM caso já não esteja liberado).

No exemplo abaixo, a vmware possui uma rede 192.168.10.0 e o gateway dessa rede é o 192.168.10.1. Nosso objetivo é encaminhar solitações de RDP de fora (Internet) para dentro da VM de IP 192.168.10.102. Nosso host possui um IP público voltado para a internet. Caso sua máquina não tenha, deverá encaminhar também no roteador a porta abaixo apontando para o IP do Host.

Ainda para este exemplo, escolhi a porta 9102, que será posteriormente encaminhada para o RDP 3389 no destino final. Na documentação da Vmware indica que o correto seria encaminhar a solicitação primeiro para o Gateway do Nat da Vmware e de lá redirecionar para dentro da vm na porta correta.

VAMOS ENTÃO AO HOST:

Abra o Promp do DOS como administrador e digite conforme abaixo, alterando porta e IP conforme sua realidade (Comando de uma única linha):

netsh interface portproxy add v4tov4 listenport=9102 connectaddress=192.168.10.1 connectport=9102 protocol=tcp

Para verificar se o comando foi bem sucedido digite conforme abaixo, e será mostrada a(s) porta(s) redirecionadas no windows:

netsh interface portproxy show all

Caso cometa um equívoco e precise deletar o comando, ou simplesmente queira desfazer o redirecionamento, digite o comando abaixo no prompt, também adequando a porta à sua realidade:

netsh interface portproxy delete v4tov4 listenport=9102

Agora é preciso liberar essa porta encaminhada no firewall do Host. Abra o firewall do windows e crie uma regra TCP e outra UDP (Ou conforme sua realidade) permitindo o acesso de todos com destino à essa porta.

AGORA VAMOS À VM:

Existem duas formas de se fazer isso no Vmware. A primeira é mais fácil, contudo, se você tiver feito reservas no DHCP como eu fiz, ou qualquer modificação manual no arquivo do DHCP, provavelmente após aplicar as regras de rede o vmware irá sobrescrever o arquivo e você vai ter que fazer de novo. Descobri isso da pior maneira e por isso deixo o alerta. Se for fazer dessa forma, copie o arquivo conf do dhcp para um local seguro antes e depois substitua o que o vmware criar pelo seu.

FORMA 1:

Abra novamente o Virtual Network Editor, clique na rede NAT que pretende editar e depois clique em Nat Settings. Localize a caixa que diz Port Forwarding e clique em Add.

-Em host port digite a porta que liberamos no firewall e encaminhamos no windows (Nesse exemplo 9102)
-Em virtual machine IP address, digite o endereço IP da vm de destino
-Em virtual machine port, digite a porta de destino do serviço a ser encaminhado, nesse caso 3389 pois é o RDP
-Em description, adicione uma descrição se assim desejar.
-Clique em OK, OK novamente e Apply.

Lembre-se se do arquivo dhcp conf, caso tenha alguma modificação no seu. Você terá que voltar do backup pra pasta do vmware em programdata.

FORMA 2

Abra C:\ProgramData e localize o arquivo vmnetnat.conf. Abra o notepad como administrador, abra o arquivo e siga os passos abaixo:

Adicione a linha abaixo conforme o exemplo abaixo em qualquer local em branco do arquivo, alterando conforme sua necessidade:

9102 = 192.168.10.102:3389

Feito isso, localize o serviço vmware nat service dentro dos serviços do windows e reinicie o mesmo. Desta segunda maneira o arquivo conf do dhcp não é alterado.

DENTRO DA VM

-Se a sua intenção é encaminhar o RDP, habilite o remote destop dentro de propriedades do computador, guia de conexões remotas
-Verifique se o serviço está liberado no firewall, tanto para conexões de domínio quanto públicas

Para testar o acesso de dentro do host, vá em iniciar, executar e digite MSTSC e aperte enter. No campo do endereço digite o IP do gateway vmware (No meu caso 192.168.10.1) seguido de dois pontos e a porta de origem. No meu caso ficou assim:

192.168.10.1:9102

Caso a conexão seja bem sucedida, podemos ir para o próximo passo.

ATENÇÃO: Caso não a conexão não seja bem sucedida, vá em iniciar, executar, digite services.msc, aperte enter e procure um serviço chamado Vmware Nat Service. Caso ele não esteja rodando, tente iniciar. Se receber um erro, de acordo com a documentação da vmware, é porque você escolheu uma porta já em uso pela vmware ou host. Experimente excluir o encaminhamento criado e iniciar o serviço. Se iniciar então é esse mesmo o motivo. Você terá que repetir todos os passos acima, mas trocando para outra porta.

Uma vez bem sucedido o primeiro teste, fazendo RDP de dentro do host, vá em outra máquina, abra o MSTSC e digite o IP da máquina host, seguida de :9102 ou outra porta que tenha usado. Apenas como exemplo se o ip da máquina fosse 5.5.5.5 você digitaria 5.5.5.5:9102

Espero que isso resolva o seu problema, tive um trabalhão e bati bastante cabeça para descobrir!

Um abraço!