How-To:Port Forwarding
(Submitted by nit, pasted & edited by igy)
Why?
One example of why port forwarding is great is security. Downloading email and browsing the Internet in such a way that the immediate (local) network does not know what you are doing. All it sees is encrypted SSH traffic, like that used when you type on [RedBrick] normally.
Thus you can (a little more) securely access your stuff from wireless hotspots or from other insecure or filtered networks.
The example being given is to use your redbrick account to port forward data to the dcu proxy. You can then configure local applications to use the tunnel rather than the usual route.
Theory
One good online guide is: http://neworder.box.sk/newsread.php?newsid=12498 and if you read this you should be able to deduce the basics of how SSH works with port forwarding.
How To do it
Windows
There are two ways of getting SSH to work on Windows.
PuTTY
PuTTY has built-in support for port forwarding.
- When you're connecting, after you've filled in the host name box (login.redbrick.dcu.ie or deathray.redbrick.dcu.ie or something NOTE: If you wish to forward traffic through the DCU proxy the host name must be deathray.redbrick.dcu.ie), click on Tunnels in the left-hand bar (second last item from the bottom).
- In the Port forwarding box, fill in the following values:
- Source port: (the port you want forwarded to the proxy - eg 1337)
- Destination: proxy.dcu.ie:3128
- Ensure Local is selected as the type and then click Add
- Click the Open button to connect, and enter your username/password.
OpenSSH for Windows
You can download and install OpenSSH for Windows and then use the same command as you would for unix, if you don't want to use PuTTY.
Linux
If you read the neworder guide above you should have a good idea of how to build the SSH command for the forwarding, like so:
ssh -L 1337:proxy.dcu.ie:3128 login.redbrick.dcu.ie
Where :
- -L specifies you want to link a local port
- 1337 is the local port (on your machine) you want to communicate on.
- proxy.dcu.ie is the server you want to send your tunnelled traffic to.
- 3128 is the port on that server you want to send your tunnelled traffic to.
- login.redbrick.dcu.ie is the server you want to open the SSH connection to
For example, to tunnel local port 1337 to the SOCKS proxy on proxy3.dcu.ie through deathray:
ssh -L 1337:proxy3.dcu.ie:1080 deathray.redbrick.dcu.ie
Here we see that we specify the proxy definitively, and use the port that we would evetually negotiate (for those of you is res try running Ethereal, you will see what I mean). We also use a specific redbrick server, DeathRay for our port forwarding (I’m not privy to RB network setup, it just works). You can also add the -v option to specify 'verbose' mode and see the port being opened and closed for your tunnelled traffic.
Try running netstat locally and and you should see 1337 sitting there happily. So now you have it all set up, congratulations! Now, how do you use it? Easy! Open up your browser and change the proxy settings to localhost:1337, you will then be using the local port to forward traffic to the DCU proxy, the same applies to your mail program.
Note this only encrypts your traffic to and from Redbrick, so anyone listening on the wifi hotspot you are using will just see garbage going to DCU (figures), anyone listening to DCU traffic from the proxy can still see you stuff, the moral being ”don’t go downloading donkey porn” DCU will still be out to get you, etc. So, thats it, enjoy you new found 1337ness.
niT.