I had a problem tonight. I needed to install the Dotnet 3.5 Runtime onto a server in a DMZ tonight. I had copied DotNet35FXSetup.exe from a server inside the network earlier in the day, and ran it. The first thing it tried to do, however, was download additional install files. Well, this server didn't have access to the internet. Oops!
This server normally gets updates via WSUS, but my colleague found out that WSUS didn't make 3.5 available. So...
I wracked my brain for a while before the idea of proxy servers struck me. I thought, "wow, if I could just set up a proxy server somewhere that this server could get to, then maybe I could make this work". Two problems: one, no other servers in the DMZ had access to the 'net, either, and two, I didn't know if there was such a thing as client-side software to set up a proxy server, especially a non-intrusive one (I didn't want to hose any machines). First thing I did was search for proxy client software. I found a result that did the trick.
CCProxy - Proxy Server Software for Windows
http://www.youngzsoft.net/ccproxy/proxy-server-download.htm
It basically sets up a proxy server on the client. It's non-intrusive (no drivers, hooks, etc, that I could tell). It installed in less that 15 seconds!
Here's a screenshot.

You can change the ports on which it creates the proxy. By default, it uses 808, which was not going to work for me.

See, my box in the DMZ only had access to two servers, and only single ports on each. One was a box hosting web services over port 80, and the other was a SQL server. I installed CCProxy on the box hosting the web services, shut off the web site that was running on it (to free up port 80), and set CCProxy to listen on that port.
Once CCProxy was up and running, I pointed the box in the DMZ to it.

Bingo! Internet access! I was able to download the update and deploy our application. This is a great example why developers should take the time to learn about infrastructure. I can't begin to count the number of times an understanding of networks and servers saved my butt during my development efforts!
005bf1a1-f54f-42e6-9705-6c7d2fcb229f|0|.0