Loony,
Like someone else said, ditch that "cumbersome" proxy server.. I personally dont care too much for those linksys routers either. Go with a easy IP forwarding setup like WinROUTE. Takes all of 5 minutes to setup, and is nearly bulletproof. Ive got a small'ish (4 PC 1 Laptop) home network, all fueled on coffee and WinROUTE, and its always performed flawlessly for gaming - etc. Each and every box can connect to whatever online game I happen to be playing (Q3A, HL, TreadMarks, OpFlashpoint, list goes on and on) without a single issue.
As far as proxy bitZ go, heres some info I stashed away from a while back, regarding specifically Half-Life and proxy connections (should be useful for just about any UDP based game):
--) Disable the CompuServe and AOL proxy functions. The ports they use conflict with the ports HL uses.
--) Create a mapping with the name Auth Server, TCP, proxy port 7001, IP 209.67.28.140 (or
half-life.east.won.net), outbound port 7001.
--) Create a mapping with the name Auth Server2, TCP, proxy port 7002, IP 209.67.28.140 (or
half-life.east.won.net), outbound port 7002.
--) Create one named WON Server, proxy port 6003, TCP, IP 209.67.28.140 (or half-life.east.won.net),
outbound port 6003.
--) Create one named WON Master, proxy port 27010, UDP, check "bi-directional", IP 209.67.28.140 (or
half-life.east.won.net), outbound port 27010.
At this point, you have mappings for everything but the game servers; You can get a WON authorization,
and you can get the master list of servers showing what games are running, but you CAN'T get into a
game. You need to create a seperate mapping for EACH game server that you want to play on.
--) Get into Gamespy or HL and write down the IP addresses of your favorite servers (good pings, always
running, whatever).
--) Create a new mapping for EACH game server.
--) The first one will look like this. Name "Some Cool Server", proxy port 27015, IP 123.456.789.012 (uh ... I
made that number up :), UDP, bi-directional, outbound port 27015.
--) For the rest of the game servers, you need to increment the "proxy port", like this: Name "Some Other
Game Server", proxy port 27016, IP 123.456.789.012, UDP, Bi-directional, outbound port 27015.
--) Name "Yet Another Game Server", proxy port 27017, IP 123.456.789.012, UDP, Bi-directional, outbound
port 27015.
You get the idea. Each port ON THE PROXY SERVER changes, but the outbound mapping always points
to the "real" port at 27015.
Now to connect to a game, start from the HL console.
--) There's a variable (cl_timeout) that tells Half-Life how long to wait (in milliseconds) for a response from
the server before failing, and it's normally 1/3 of a second. Your connection will usually take longer than
that, and ALWAYS will if the proxy needs to dial, so change the value to make it wait long enough for a dial
and login, maybe 30 seconds (cl_timeout 30000) or 45 seconds (cl_timeout 45000).
--) Now connect to the first server you mapped with "connect your.proxy's.ip.number:27015". Connect to
the second with "connect your.proxy's.ip.number:27016", and so on.
Sorry about the huge post

GL to ya