2

I'm using a public wifi hotspot. Usually when I connect to these, I immediately connect to my college VPN. On this hotspot, only browsing works (no program other than a browser seems to be able to access the internet, this includes ping commands from the terminal). I'm guessing this is because of the firewall in use by the hotspot provider.

I'm given to understand that it should be possible to tunnel all of my traffic through an SSH tunnel, pointing to the correct port. I can set up a server on my home network to tunnel to, but it does not have a static IP. Is there a way around this, or possibly an easier way than SSH tunneling?

--Update--

I've since set up a raspberry pi with a static ip on my home network. Can I either tunnel all of my traffic over ssh, via the RPi, or even just tunnel the VPN connection (that I would normally use, were the ports it uses not blocked over ssh (I'm not too worried about latency).

3
  • 1
    If you have a fix ip anywhere on the world, maybe you could configure an ssh daemon on its port 443. Without highly sophisticated tricks, there is now way to differentiate a https connection from an ssh, except by its port. Both are ssl connections, and the proxy/router can't see, what is in it.
    – peterh
    Feb 23, 2015 at 22:33
  • 4
    @peterh Actually SSH is not based on SSL, it's derived from similar principles but was designed separately and SSH traffic can be distinguished from SSL by the very simple trick of checking the first two bytes sent by the client (IIRC). Many filters don't bother and only filter by port. Feb 24, 2015 at 21:35
  • @peterh I've set up a raspberry pi with a static ip on my home network. Can I either tunnel all of my traffic over ssh, via the RPi, or even just tunnel the VPN connection (that I would normally use, were the ports it uses not blocked over ssh (I'm not too worried about latency).
    – Alex
    Mar 2, 2015 at 14:37

2 Answers 2

0

no program other than a browser seems to be able to access the internet

It is more likely that internet access is controlled by the packet characteristics. So probably UDP 53, and TCP packets going out to ports 53, 80 and 443 (along with replies) are permitted.

So you should probably try using a TCP vpn on port 443 (note that the remote end must be configured to expect connections there) or ssh on port 443.

HTTP connections are usually relatively short lived, so even you get connected, you may find that the connection gets dropped after a few minutes.

but it does not have a static IP

Use a dynamic DNS service.

0

If you can connect to your SSH server from the hotspot you can tunnel forward a local port to the VPN server. Assuming the VPN is available over TCP:

ssh my-raspberry-pi -L9000:vpn.example.com:openvpn

It won't be very efficient, however.

If your VPN is using UDP, I don't know any clean off-the-self way to tunnel UDP datagrams over SSH. You could use a VPN over SSH.

You must log in to answer this question.

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