Bom, não se trata bem de programar, mas sim configurar, certo? A secção deveria ser outra, talvez redes
Passando adiante, a coisa que mais deves ter em mente num proxy é a forma como os computadores o usam. O único que usei até agora (ISA Server) permite-te definir uma ou mais redes internas (que serão as faixas de IPs que os computadores da tua rede vão usar para acessar o proxy) e uma ou mais placas de rede externas.
O conceito é simples: imagina que tens um computador com duas placas de rede: uma ligada à internet e outra com um endereço privado ligado à tua rede interna. Assim, o proxy só aceita requisições de endereços da mesma subrede a que pertence a placa de rede interna.
Em números: tens a placa externa com qq coisa tipo 81.84.10.25 com uma máscara qualquer e a placa interna com 192.168.1.1 de 24 bits. O proxy só vai aceitar que clientes com IP género 192.168.1.x usem o proxy server para acessar a Internet.
Porque é que isso é assim tão importante? Imagina que não restringias o acesso apenas a essa subrede. Qualquer computador ligado à internet poderia meter o teu IP público (o primeiro que referi) como default gateway e estaria a fazer algo muito giro chamado IP spoofing. Ou seja, estaria a fazer bosta usando o teu IP, sem contar que poderia baixar tudo o que quer que fosse, internacional ou não, e estarias a ser tu a pagar o tráfego.
Portanto, quando se configura um proxy, é preciso ter muito cuidado com este detalhe. Se não entenderes muito de redes, experimenta usar um tipo de autenticação qualquer.
Quanto à tua dúvida propriamente dita, a cache das páginas, eu tenho 500 MB numa partição diferente da do sistema. Tudo depende de quantos clientes vais ter a acessar a web, mas 100 MB por cliente acho suficientes.
Cumprimentos.
PS - Got promoted
Este computador faz NAT, obviamente.