The library and other public Wifis restrict internet access to certain ports, sometimes just port 80. I'd need to be able to use ssh and other programs that require a different port.
My current solution is to tether to my phone, completely bypassing the public wifi. But then all traffic goes through my phone, which is slow.
Is there a way to connect to both connections simultaneously (connect to the phone via bluetooth or usb), and then select which traffic uses a particular connection? Ideally everything would default to one connection, and only things I manually configure would exit via the 2nd connection (my phone).
I'm on a macbook air using OSX 10.7.3.
Naturally I found the solution after posting. Connect to both internet connections, and make sure the "default" connection is higher on the list in the "set service order" menu within the network setting preferences pane. Click the "advanced" button for the phone's network connection, and copy the "router" IP address. Then in the terminal type "sudo route add [IP of box we're trying to ssh into] [router IP for phone's connection]".
Follow up question #1: how can I make this easy to activate and de-activate? Is there a way to get those specific routes configured as part of a network "location" profile? Or do I need to create an on/off script?
Follow up question #2: is there a way to do this based on destination port instead of IP address? Routes won't work. Maybe some sort of locally-running proxy?