Here's the scenario:
I have a desktop, running Windows 7 Ultimate. This desktop has VMware Workstation on it, and a virtual machine running a custom linux, that has OpenSSH installed and working.
The desktop gets its internet from a router, which assigns it an IP of 192.168.4.50 (always, using DHCP address reservation). The virtual machine is setup to use bridged networking, and gets the IP 192.168.4.200 (again, always).
This desktop is inaccessible from the outside world, the router isn't the only thing separating it from the modem with the real IP. Hence, I use a proprietary VPN program (TeamViewer), which allows me to connect to this desktop from anywhere.
Here's the problem:
Running a screen sharing program (RDP or TeamViewer) to be able to type commands into a text based virtual machine is slow, wastes bandwidth, and cumbersome. If I can SSH directly into the virtual machine it would be much easier, therefore the VPN's traffic will be only that of SSH.
The VPN assigns an IP for me, and an IP for the desktop. Let's say the desktop's is 7.7.7.7
My question is, how can I SSH into 7.7.7.7:22, and have the desktop correctly forward the incoming SSH connection into the virtual machine?
I though this should do:
netsh interface portproxy add v4tov4 listenport=22 connectport=22 connectaddress=192.168.4.200
But it didn't. Anyone know why?
Can anyone suggest something else? Maybe a simple program that can do proper port forwarding between different interfaces on a Windows machine?
If it helps, I do have a Linux machine, with a real IP, that I can use to create a tunnel from the VM into it, and then SSH from there, any help with how to setup that, is appreciated, but I'd rather avoid it if possible.