1) Kerio Winroute Firewall
2) SQUID (если только прокси надо), кстати был бесплатен
3) можно вообще просто сделать стандартными средствами WinXP

хотя для 40 компов раздавать инет такими методами мне кажется не правильно. поставь отдельную машинку для подобных целей (пусть не шибко мощную) и сделай из нее шлюз.