Setting Up A Proxy Server at Home
Setting Up A Proxy Server at Home
Setting Up A Proxy Server at Home
There are several good reasons for a setup like this. The primary purpose is to encrypt your
network traffic. You may want to hide your browsing or chatting from your employer OR
something as benign as not wanting people to see your passwords when connected to a hotspot at
your local $tarbuck$. When you are browsing through your home proxy server, whomever is
'sniffing' your netowork traffic can only see lots of random packets going to your home machine.
Due to the nature of these programs, you should only set this up if you have a broadband
router or other NAT device in front of your home network.
Know your home machine's external IP address. For this, you'll need either a static IP
address from your ISP *or* have a dynamic DNS client installed. For testing purposes,
you can view it via http://www.whatismyip.com.
Give your home workstation a static IP address on your home network. Open up a
command prompt and type 'ipconfig /all' and note the current IP address, gateway, and
DNS servers. Assign your computer a static IP address that is 50 more than its current
dynamic IP (that's a safe bet since most home networks would never have >50 devices
connected to it, even if the broadband router has a DHCP scope larger than that). Use the
existing gateway & DNS servers.
Know that your mom goes to college
Installing an SSH server on your home machine. SSH is an encrypted version of telnet
which also allows a function called port forwarding. It's this port forwarding that allows
you to redirect your network traffic through this proxy. SSH will also function as your
authentication mechanism, keeping random people from being able to use your machine
as a proxy.
Installing a HTTP/Socks-5 proxy server on your home machine.
Opening up the SSH port on your home firewall AND in WindowsXP's firewall (if it
exists).
Installing an SSH client with the appropriate port forwarding settings on your client
machine (work machine, laptop, etc).
Configuring each application to talk through the proxy
Step 1: Installing an SSH server on your home machine
That will create a local ssh user group and give the current logged in user the ability to
log in (the password will be the same as your windows login password - if it's blank,
change it to something harder!). It will then start the ssh server service.
To connect, click on Open. You should be asked to accept the SSH certificate (choose
'Accept & Save'). Login using your home windows computer's login and password. You
should then see a command prompt. You are now connected and set up to tunnel traffic -
you can now minimize (don't close) puTTy. This session must remain open to proxy your
web traffic.
You should now be browsing through your home machine. Remember, the speed will be
limited to your home machine's upstream connection (since your home machine is
essentially downloading the web page then re-uploading it to you). If you wish to test that
it's working, close puTTy. You should now be unable to browse the 'net.
AIM and Yahoo both support SOCKS5 proxying. Simply go into the connection settings
and enable socks5 proxying... server = localhost port = 1080 (default).
Done!
All you have to do is launch puTTy and connect to your home machine whenever you wish to
securely browse.