apt-proxy is a useful tool to stop you having to download APTs for every machine on your network.
The configuration is quite simple. Just install the apt-proxy package using apt-get and follow the prompts. On each client machine alter the file /etc/apt/sources.list to something like:
deb http://myserver:9999/debian stable main contrib non-free deb http://myserver:9999/debian-non-US stable/non-US main contrib non-free deb http://myserver:9999/security stable/updates main contrib non-free
Then continue to use apt-get as you always have.
I would recommend editing the configuration file under /etc/apt-proxy/ to add a nz server as first choice as it can be slow getting updates from the US at times.
If you have problems with this then there is also apt-cacher that you can use.
Your clients connect to the proxy fine but don't seem to get any data. They sit there forever waiting for headers:
# apt-get update 0% [Waiting for headers]
In your /etc/apt-proxy/apt-proxy-v2.conf file, try disabling HTTP pipelining. Uncomment the line if necessary and set the value to 1:
disable_pipelining=1
It has been enabled by default since version 1.9.34 but still seems to be broken in the version currently in etch (1.9.35-0.3)
One page links to apt-proxy: