You are talking, obviously, about a VPN PPTP connection, the usual method in Windows. I would really like to solve this too, but I think this is not possible.
Your best chance is to use OpenVPN instead of PPTP. Sadly, OpenVPN is much more hard to configure, but works on your desired port.
This is what I have tested and know that does not work:
1.- Port redirection using firewall.
2.- Port redirection using simple software like PortForward (command line and GUI).
3.- Port redirection using advanced programs, like WinGate (GUI).
4.- Port tunneling (encrypted, using port 22TCP) through SSH (you need first some SSH server like Bitvise SSH Server in your Windows 7 remote machine), like in:
putty RemoteSSHServer -L 1723:VPNServer:1723
(after that line you just need to create a VPN connection to "localhost", so redirection to your remote VPN server is done through the cyphered SSH tunnel using port 22TCP, not 1723, so it will not be blocked, we suppose).
But in all these above cases the connection to the server starts to negotiate, but does not get established (at least on my tests).
The issue lies deeply at the PPTP protocol (now a bit obsolete and insecure), mainly because GRE type (not TCP nor UDP) packages need to pass through the connection, and due too to the problem that nearly every VPN PPTP client (and even every server) uses 1723TCP port to establish connections, with no possibility to change this port (I have tested a few of these programs).
I would really like to solve this too, but I think that changing 1723 port for PPTP is not possible when using Windows. A Linux client could establish a VPN through SSH connection to any (Windows or Linux, I think) SSH remote server. SSH works too on your desired port.
- EDIT: As far as I know, there are no Windows client capable of creating VPN network interfaces through SSH.
- EDIT2: Upon @Scott's request, here are the steps for SSH Tunneling as a replacement for VPN PPTP:
Installing Bitvise SSH Server (on your remote Windows 7) via shell (assuming you have a "RegistrationCode"; install via GUI and select Personal License if you don't):
BvSshServer-Inst.exe -InstallDir=c:\BitviseSSHServer -ActivationCode=[RegistrationCode] -AcceptEULA -startService
[Reboot operating system]
Bitvise SSH Server Control Panel --> Easy Settings --> Open Windows Firewall --> Open Port(s) to any scope
Bitvise SSH Server Control Panel --> Easy Settings --> Open Windows Firewall --> Listening Port --> [someone, say 11122]
- Forward 11122TCP port in your router to this Windows machine.
Connecting (on your local Windows XP) to remote SSH Windows Server using putty as SSH client. Assuming SSH Server has VNC Server (5900TCP) and FTP Server (21TCP) listening:
putty ServerRouterPublicIPOrDomain -P 11122 -L 15900:localhost:5900 -L 10021:localhost:21
[Enter Login/Password of your Windows administrator account]
To connect to your remote server via the two established SSH (encrypted, of course) tunnels for VNC and FTP respectively (as long as Putty keeps running to maintain the tunnels open):
- (Any) VNC Viewer to:
- Server:
localhost
- Port: 15900
- (Any) FTP Client to:
- Server:
localhost
- Port: 10021
If you have more computers or devices on the remote (Server) network and you need to access them too, it is possible to redirect further tunnel(s) to anyone of them. This example adds web management interface access to your office network (the location of the SSH server computer) router, on IP, say, 192.168.0.1 and, as usual, 80TCP port:
putty ServerRouterPublicIPOrDomain -P 11122 -L 15900:localhost:5900 -L 10021:localhost:21 -L 10080:192.168.0.1:80
In this case, to connect to your remote router for management, navigate to:
http://localhost:10080
SSH Tunnels do simulate fine a VPN network if there are no many devices to access on remote side.