La idea es que los clientes de la red salgan a Internet a través del proxy e implementar un sistema de filtrado para bloquear publicidad de terceros, sitios conocidos de malware, spyware, filtrar contenido, etc. Esto último desde el propio squid y utilizando el paquete de listas negras blacklists.
La versión DSM 4.1 de Synology ya incluye un servidor DNS por lo que sencillamante se instala y ejecuta. Para integrar toda la red puede utilizarse un dominio interno o grupo de trabajo. En este caso linux.bcn. Si se fija en la parte inferior de la imagen verá que pone Report Bugs, esto es porque acabo de actualizar (no es recomendable) a la versión Beta 4.2 del sistema operativo de Synology.
Entramos al nas a través del explorador:
Archivo /etc/hosts
[carlos@gentoo ~]$ dig @ds112plus google.es
Conectarnos al nas via ssh desde la terminal de Arch linux
Instalar squid utilizando ipkg en mi caso lo había instalado con anterioridad desde un cliente centos 6:
ds112plus> ipkg install squid
Inicializar directorios cahe:
ds112plus> squid -z
Iniciar squid:
ds112plus> squid -z
Iniciar squid:
ds112plus> /opt/etc/init.dS80squid start
Squid se inicia sin errores. Configurar squid utilizando el archivo de configuración squid.conf que he movido a la carpeta /opt/etc/squid/squid.conf. A continuación el archivo completo construido a partir del archivo de http://wl500g.info y de un pdf encontrado en la red cuya autoría pertenece a Jorge García Delgado con licencia crative commons (adjuntar listas negras a servidor proxy squid).
Comprobado en un nas Synology ds112+.
Descargar listas negras completas desde squidguard, crear carpeta listasnegras y descomprimir blacklists:
ds112plus> wget http://squidguard.mesd.k12.or.us/blacklists.tgz
Comprobado en un nas Synology ds112+.
Descargar listas negras completas desde squidguard, crear carpeta listasnegras y descomprimir blacklists:
ds112plus> wget http://squidguard.mesd.k12.or.us/blacklists.tgz
# configuracion avanzada original mas wl500 url # http://wl500g.info/showthread.php?17287-NAS-Create-your-own-caching-proxy cache_mgr foot@gmail.com visible_hostname fake.domain cache_replacement_policy lru # directorio cache 20 Gb cache_dir ufs /opt/var/squid/cache/ 20000 16 256 minimum_object_size 0 KB maximum_object_size 2097152 KB maximum_object_size_in_memory 1024 KB # acl all src all acl manager proto cache_object acl localhost src 127.0.0.1/32 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 acl localnet src 10.0.0.0/8 # RFC1918 possible internal network acl localnet src 172.16.0.0/12 # RFC1918 possible internal network acl localnet src 192.168.0.0/16 # RFC1918 possible internal network acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl listanegra1 urlpath_regex "/opt/etc/squid/listasnegras/blacklists/redirector/urls" acl listanegra2 urlpath_regex "/opt/etc/squid/listasnegras/blacklists/spyware/urls" acl listanegra3 urlpath_regex "/opt/etc/squid/listasnegras/blacklists/gambling/urls" acl CONNECT method CONNECT http_access allow manager localhost icp_access deny all http_port 192.168.1.254:3128 http_port 192.168.1.254:8080 hierarchy_stoplist cgi-bin ? access_log /opt/var/squid/logs/access.log squid refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320 acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9] upgrade_http0.9 deny shoutcast acl apache rep_header Server ^Apache broken_vary_encoding allow apache coredump_dir /opt/var/squid/cache # Leave coredumps in the first cache dir coredump_dir /opt/var/squid/cache # # Disable cachemgr password cachemgr_passwd none all # refresh_pattern \.gif 1440 50% 40320 reload-into-ims refresh_pattern \.jpg 1440 50% 40320 reload-into-ims refresh_pattern \.tif 4320 50% 43200 refresh_pattern \.png 1440 50% 40320 reload-into-ims refresh_pattern \.jpeg 1440 50% 40320 reload-into-ims refresh_pattern ^http://*.google.*/.* 720 100% 4320 # # refresh patterns to enable caching of MS windows update refresh_pattern windowsupdate\.microsoft\.com/.*\.(cab|exe|psf) 4320 100% 120960 reload-into-ims refresh_pattern update\.microsoft\.com/.*\.(cab|exe|psf) 4320 100% 120960 reload-into-ims refresh_pattern office\.microsoft\.com/.*\.(cab|exe|psf) 4320 100% 120960 refresh_pattern windowsupdate\.com/.*\.(cab|exe|psf) 4320 100% 120960 reload-into-ims refresh_pattern download\.microsoft\.com/.*\.(cab|exe|psf) 4320 100% 120960 reload-into-ims refresh_pattern microsoft\.com 4320 100% 10080 # # Rendre le proxy indetectable via off forwarded_for off # permet de masquer l'ip du client header_access From deny all header_access Server deny all header_access WWW-Authenticate deny all header_access Link deny all header_access Cache-Control deny all header_access Proxy-Connection deny all header_access X-Cache deny all header_access X-Cache-Lookup deny all header_access Via deny all header_access Forwarded-For deny all header_access X-Forwarded-For deny all header_access Pragma deny all header_access Keep-Alive deny all # # limpieza automatica del cache de squid cache_swap_low 90 cache_swap_high 95 # paginas de error castellano error_directory /opt/share/squid/errors/Spanish
Comprobar fichero de configuración:
ds112plus> squid -k parse
Si se inicia Squid como root sin establecer cache_effective_user, Squid utiliza nobody como valor por defecto.
ds112plus> ps | grep squid 9537 root 5032 S /opt/sbin/squid -f /opt/etc/squid/squid.conf 9549 nobody 16484 S (squid) -f /opt/etc/squid/squid.conf 13581 root 3552 S grep squid
Configurar clientes para utilizar proxy:
En Gentoo Linux
export http_proxy=http://192.168.1.254:8080
Arch linux Firefox:
Arch linux utilizando NetworkManager automático o manual:
Linux es genial!.
No hay comentarios:
Publicar un comentario