Hola..
Esto se resuelve configurando un proxy (squid) transparente, y luego configurando iptables para filtrar paquetes p2p, msn, paginas, path, etc...
para instalar el squid puedes ver aqui:
http://perufw.wordpress.com/2010/03/29/ ... nsparente/
y para bloquear con iptables:
http://perufw.wordpress.com/2010/03/29/bloqueo-de-p2p/
esto lo haces por puertos...
tambien se pueden hacer con un router, pero si hay muchas personas conectadas a la ves, pueden saturar al router, es por eso que seria mejor configurar un firewall con linux.