Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

If I set up an XP-based VPN server using the following instructions (I think this is a fairly standard method):

Will I be able to connect to the server from my Mac laptop (OSX 10.6) from a remote network and use the VPN tunnel to browse the web securely?

I would use this method to connect to the VPN from my Mac:

I would use the DynDNS support on my router to avoid problems with my dynamic IP address at home.

The reason I ask (and don't just try), is that I will first have to pick up an old windows laptop to act as the server. That's a good few hours drive away, so I don't want to do it only to find out it won't work. Most of the articles about this topic focus on connecting from a remote machine to access files on your home network etc. I don't care about that - just want to tunnel web traffic.

My motivation is that I want to be able to use the wireless network at my university without crazy restrictions on the sites im visiting. I know VPN connections are allowed because I connect to my office VPN from university all the time.

Thanks in advance.

share|improve this question
up vote 2 down vote accepted

I am not sure how well those instructions will work but to me a VPN sounds like a lot of complication. You can easily solve this problem using just a simple SSH server. Lifehacker has a nice guide explaining the steps.

Essentially you set up a ssh tunnel between your Mac laptop and a SSH server at home:

ssh -ND 9999

Then set up your browser to use a local SOCKS proxy server. So in Firefox something like this:


You will still need to pick up your other laptop to act as a server, unless you already have SSH access to a different server, but this should be much simpler to setup than a full out VPN.

share|improve this answer
Cooool. I actually have SSH access to a Dreamhost server. I will see if that works. That would save me from using my home bandwidth. – ev. Sep 26 '09 at 3:22
Awesome! It worked with my dreamhost account, and would you believe that it is faster than connecting directly to most web servers from my ISP. I guess Dreamhost has a better path to my country than most American servers. I can tell it is working: set up the SOCKS proxy in Firefox but not Safari. When I go to a "show me my IP" website using both browsers, I get different IP addresses. Thanks so much! Such a simple solution. – ev. Sep 26 '09 at 3:28
This is what I use, too. In Windows you can use MyEntunnel to set up the tunnel and keep it open at all times, and then I use FoxyProxy to send some websites through the tunnel and leave others in the clear. – endolith Nov 2 '09 at 15:18
And I have my Tomato router set up as the SSH server, so it only has to bounce off that instead of going inside my LAN to a computer and then back out to the Internet. – endolith Nov 2 '09 at 15:20

Okay. So having taken on board the suggestions of the other answers, I did some more research and ended up with this solution:


  • Get a domain hosting account with ssh shell access (e.g. dreamhost)
  • Set up key based authentication
  • Add a command line alias:
    ssh-tunnel='ssh -N -v -D 8080'
  • Run ssh-tunnel from a local shell.
  • Install the SwitchProxy Firefox extension and configure it to use as a Socks v4 proxy.
  • Test your setup.
  • Since we used the verbose (-v) flag, you should see connection information in the tunnel's shell output.

Granted it is only useful for people with access to an SSH server somewhere, but for me it is just PERFECT! Thanks so much.

share|improve this answer

A slightly different solution to the simple SOCKS proxy is to set up Apache (or whatever) at home and use it as a proxy server. You would also need an SSH server setup at home as well. When you want to use your proxy server, SSH into your home server with a local port forwarded (e.g. 8888). Then set your HTTP proxy server attribute to be http://localhost:8888 in whatever application you want to use it.

The reason to use this approach over the SOCKS approach is that I have found more applications can use an HTTP proxy server rather than a SOCKS proxy server. Your usage may vary, of course, and so the simpler SOCKS proxy may be good enough (and if you really want to stop at just browsing, it probably is good enough).

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .