Windows – How to remotely connect to VM outside of Internal Network without connecting to Host Machine

hyper-vnetworkingremote desktopvirtual machinewindows server 2012

I am running Windows 7 in a VM: The VM was setup using Hyper-V within Windows Server 2012 R2.
First, I configured the Linksys router Port Forwarding for TCP 3389 and 3390. To both IP addresses. I also created Firewall Inbound Rules for Port 3389 and 3390.

To connect within Network, I simply enter the VM IP address or Computer Name, username and password and the connection is successful. I am also able to connect to the Host Machine out of my local Network by using the Public IP address.

The Problem:
When I attempt to access the VM, lets say at a Caribou or the Library, or any other outside Network, I am landing into the Host Machine instead of the VM.

For example:
To log into the VM outside, I used the same Public IP address, the username and password to the VM but I am landing in the Host machine with an error message that the user is invalid.

I have also tried the following: Computer Name:3389 but not successful.

How do I access the VM so that the connection is not going to the Host?

Best Answer

In order for the described scenario to work, the Guest machine must listen for remote desktop connections on a different port than the host does, unless you use bridged networking. To set the RDP server to listen to 3390, set the following registery key to "3390":

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber

Then restart the Remote Desktop service, or reboot the machine.