Buenas tardes,
Podrías utilizar squid + dansguardian + sarg
Ahí vas a poder establecer límites de ancho de banda, bloquear descargas de archivos por tipo de extensión, bloquear webs y con el sarg vas a poder el consumo de cada usuario en particular + las webs visitadas.
Podés utilizar Debian como SO. Los pasos generales para tener el servidor funcionando sería:
nano /etc/apt/sources.list
deb
http://download.webmin.com/download/repository sarge contrib
deb
http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib
deb
http://backports.debian.org/debian-backports squeeze-backports main
apt-get update
apt-get install squid --assume-yes
apt-get install dansguardian --assume-yes
apt-get install sarg --assume-yes
apt-get install webmin --assume-yes
Descargar DansGuardian Webmin Module desde
http://sourceforge.net/projects/dgwebminmodule/
Ingresar a https://squidserver:10000
Navegar por Webmin --> Webmin Configuration --> Webmin Modules
Ingresar a Servers --> DansGuardian Web Content Filter --> module config
Modificar 'Full path to DG binary' de '/sbin/dansguardian' a '/usr/sbin/dansguardian'
Command to restart DG (if allowed): Module built-in
Auto restart DG as necessary (if allowed): Module built-in
Command to start DG (if allowed): Module built-in
Command to stop DG (if allowed): Module built-in
:: Redireccionar el puerto 3128 al 8080
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3128 -j REDIRECT --to-port 8080
nano /etc/squid/squid.conf
:: Descomentar y modificar las siguientes líneas:
Descomentar línea de '' Descomentar ''
auth_param basic program /usr/lib/squid/pam_auth
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
acl password proxy_auth REQUIRED
Debajo de 'acl localhost src 127.0.0.1/32'
Crear:
http_access allow password
Crear /etc/pam.d/squid.conf
auth required /lib/security/pam_unix.so
account required /lib/security/pam_unix.so
/* revisar
Navegar por Servers --> Squid Proxy Server --> Access Control
Create new ACL --> External Auth --> 'passwordAuth'
En 'Proxy restrictions' --> 'Add proxy restriction.' --> Action: 'Allow' --> 'passwordAuth'
*/
En Webmin --> Webmin Users --> Crear usuario admin
En Un-used Modules --> Squid Report Generator --> Module Config, modificar la siguiente línea:
Full path to SARG configuration file: /etc/sarg/sarg.conf
Cualquir duda, me consultas.
Saludos,