Sie sind auf Seite 1von 32

pfSense - Squid + SquidGuard / Trfico Shapping Tutorial

En este tutorial te mostrar cmo configurar pfSense 2.0.1 como un portal de internet con Squid
Proxy / SquidGuard filtrado.Tambin voy a mostrar que usted tiene que configurar algunas
caractersticas adicionales de pfSense como shapping trfico con calamares. Este tipo de
configuracin podra ser til para las personas que quieren establecer puntos de conexin
inalmbrica o etc cafs Internet

Requisitos
Este tutorial asume que usted ya tiene un pfSense (versin 2.0.1 como mnimo) la instalacin se
ejecuta con las interfaces de red configurados y las reglas bsicas de cortafuegos configurados.

Instalacin de paquetes de pfSense


En primer lugar vamos a empezar con la instalacin de los paquetes adicionales que vamos a
REQUIERE
Inicia sesin para la administracin de Web de su pfSense, y haga clic en "Servidor ->
Paquetes", desplcese hacia abajo la lista y encontrar el calamar y haga clic en el botn "+" para
instalar, esperar a que el proceso finalice y luego volver a la seccin de paquetes y buscar
squidguard e instalar ese paquete tambin.

Para confirmar que los paquetes se han instalado, actualice la interfaz web y Goto men
"Servicios" y busque Proxy Server y Proxy Filter, si ambos aparecen en el men que se han
instalado correctamente, reinicie el apartado de pfSense.

NOTA: Ha habido un par de casos en los que he tenido que volver a instalar el paquete squid
derecho despus de haber instalado el paquete squidguard, la razn detrs de esto es despus
de instalar el paquete squidguard no puedo acceder a la configuracin del servidor proxy, si este
ocurre volver al men paquetes, haga clic en la pestaa de paquetes instalados, a continuacin,
seleccione a instalar en la entrada del servidor squid (esto slo ha ocurrido en versiones
anteriores a la 2.0.1).

Configuracin de Proxy Paquete de servidores


Una vez se haya reiniciado pfSense queremos configurar los ajustes del servidor proxy, (ahora
en este tutorial Estoy configurando el servidor proxy como un proxy transparente, si desea
establecer esta parte de manera diferente por favor haga que la investigacin en la
configuracin del calamar, el pfSense El sitio web cuenta con guas de configuracin para aswell
calamar), haga clic en Servicios -> Proxy Server.
En la ficha General, desea establecer los siguientes ajustes, la opcin de interfaz de proxy se
debe establecer en "LAN", y porque me estoy poniendo esto como un servidor proxy
transparente, marque la casilla de verificacin "proxy transparente".

Recomiendo encarecidamente el registro est disponible en el servidor proxy, ya que ser muy
til en caso de que tenga que preocupar el lanzamiento de un tema o simplemente ver lo que
estn haciendo en Internet, etc Marque la casilla "Logging Enabled", establecer el registro tienda
para la ubicacin predeterminada "/ var / squid / logs" girar sus registros cada 7 das, configurar
el puerto proxy para el nmero de puerto 3128 (recuerde este nmero de puerto ya que lo
necesitaremos cuando establecimos las reglas del firewall hacia arriba), aadir un visible nombre
de host y una direccin de correo electrnico del administrador, y establecer el idioma requerido,
a continuacin, haga clic en el botn Guardar.

Luego haga clic en la pestaa "Cach Gestin", por defecto el tamao de disco cach est
establecido en 100 MB, lo que lo recomendara encarecidamente que aumenta este, ahora
depender de cun grande es su disco duro es que va a determinar lo grande que usted lo hace,
sino tambin tener en cuenta las ms gente usando este proxy ms espacio que necesita para
asignar, despus de que se haya creado dejar el resto de la pgina con la configuracin
predeterminada y haga clic en Guardar.

Haga clic en la ficha de control de acceso al lado, en el tipo de campo subredes permitido en sus
subredes requeridas, (por ejemplo: 192.168.255.0/24); tenga en cuenta que si usted tiene ms
de una subred acceso este proxy es necesario especificar cada subred en su propia lnea.

Desplcese hacia abajo hasta que vea "ACL y ACL Safeports SSLPorts" en estos campos tendr
que escribir en los puertos que desea abrir lanz su servidor proxy, tendr que hacer una
investigacin sobre esto, descubrir qu aplicaciones se estn utilizando en este de red, y su
effectlive especificado el Porst necesario. Para este documento slo voy a utilizar el puerto 80 y
443 ya que estos son los nicos tambin los puertos que necesito para ver si tiene pginas web
y para algunas aplicaciones bsicas de Internet para trabajar, si quieres otras aplicaciones para
tener acceso a la Internet , leer un poco sobre lo que se requieren los puertos y luego actualizar
el cuadro de pfSense, una vez establecido, haga clic en Guardar.

Ahora, para la gente que desea estrangular la velocidad de la que los usuarios obtienen acceso a
Internet, haga clic en la ficha Gestin de Trafic, y SET (en kilobytes) lo rpido que desea
restringir a los usuarios demasiado, haga clic en Guardar una vez hecho.

Configuracin SquidGuard Filtrado


Ahora eso es el servidor proxy configurado, el prximo vamos a configurar SquidGuard, haga clic
en el men Servicios y seleccione el botn Filter Proxy, marque las siguientes casillas de
verificacin 3 "Activar", "Habilitar interfaz grfica de usuario de registro" y "Enable Log" luego
haga clic en en el botn Guardar, una vez que la pgina ha cargado nuevamente clic en Aplicar y
luego confirmar que el servicio se est ejecutando SquidGuard asegurndose el estado
SquidGuard est establecido en Iniciado.

Mantngase en la pestaa de configuracin general y desplcese hacia abajo a la zona de lista


negra y marque la casilla que dice Habilitar lista negra, y en la lista negra de URL escriba lo
siguiente http://www.shallalist.de/Downloads/shallalist.tar.gz, y haga clic en
Guarde; esto es por lo que podemos descargar los datos de la lista negra. Haga clic en la
pestaa Lista Negro y aadir el salve el mismo URL que antes de la actualizacin de direcciones
y haga clic en Descargar. Espere a que el proceso se complete.

Luego haga clic en la pestaa ACL comn, y el clic en Lista de reglas de Target y seleccione cada
regla que desea bloquear o permitir, a continuacin, aadir un mensaje al Proxy Error denegado
Campo, actualmente estoy simplemente usando la opcin por defecto que sugieren (ven en
sceenshot por ejemplo), dejar el modo de redirigir a la pgina de error Int por lo que utilizar el
mensaje se escribe en, marque la Casilla de verificacin Log luego haga clic en Guardar.

Una vez que se haya creado a prueba su poder y asegurarse de que todo est
funcionando. Espero que esto haya sido de gran ayuda para usted, y mantener un ojo hacia
fuera para el siguiente tutorial que ser implenting Portal Cautivo para esta configuracin.

pfsense: Instalacin y Configuracin de Proxy Squid3


Proxy Squid3 con pfsense
Nuestra mquina de pfsense con 2 adaptadores, uno en adaptador puente
y otra en solo anfitrin:

Me conecto desde el interfaz anfitrin al pfsense desde el navegador:

Nos movemos a:
System / Package/Available Packages/instalamos squid3

Service / Proxy server

Configuramos en la pestaa de General las siguientes opciones:


LAN
Proxy Port: 3128
Allow users on interface
Transparent Proxy
Enabled logging
Log Store Directory: /var/squid/logs
Administrator email: email administrador
Language: es

Nos aseguramos del estado de squid:

Ahora debemos tener Internet en nuestro cliente Windows.

Podemos configurar las restricciones en la pestaa Service / Proxy server /


ACLs
Por ejemplo, restringimos el acceso a marca.com:

En Service / Proxy server / Local Cache opciones de espacio de guardado


de cache, y Service / Proxy server / Realtime, podemos ver donde ha
accedido los usuarios.

SQUID LENTO EN PFSENSE

Cuando usamos pfSense como cache de paginas web (web proxy - Squid), me he dado cuenta que
Squid no esta usando el ancho de banda eficientemente, se siente mas lento inclusive que sin el
proxy activo. He usado pfSense 1.2.3 y la versin 2 RC y es el problema que he experimentado.
Despues de buscar por internet encontre que a muchos usuario les pasa lo mismo y es por unos
parametros propios de Freebsd que esto sucede.
En los forums de pfSense dicen que la configuracin por default de el sistema es como un
ruteador no como servidor, por lo que no preparan al sistema base para soportar
las necesidades de squid tales como una gran cantidad de archivos abiertos, etc.
Se propone editar el archivo /boot/loader.conf y borrar y agregarciertos parametros como se
indica a continuacin
1. Usando Web Admin, escoger Edit File del menu Diagnostics.
2. Teclear "/boot/loader.conf" and el botcon de load.
3. Borrar la linea "kern.ipc.nmbclusters="0"
4. Agregar el texto siguiente
kern.ipc.nmbclusters=32768
kern.maxfiles=65536
kern.maxfilesperproc=32768
net.inet.ip.portrange.last=65535
O se puede borrar lo que esta y escribir lo siguiente:
autoboot_delay="1"
#kern.ipc.nmbclusters="0"
hint.apic.0.disabled=1
kern.hz=100
#for squid
kern.ipc.nmbclusters="32768"
kern.maxfiles="65536"
kern.maxfilesperproc="32768"
net.inet.ip.portrange.last="65535"

Despus de agregar estos datos reiniciar pfsense y squid debe funcionar como debe de ser, en mi
caso vi mejoras al respect

Pfsense 2: Configurar squid personalizado.

Modo No Transparente
Pfsense tiene squid que es un excelente o el mejor web-proxy que tenemos de lado de Unix/Linux,
pero la configuracion que nos proporciona pfsense no es la mejor, por ello si deseamos sacarle
provecho debemos nosotros mismos hacerlo.
Pero la desventaja es que cada que arranca pfsense arranca squid con la configuracion normal, asi
que nosotros con la experiencia en Unix sabemos que podemos ejecutar scripts cuando unix
arranca(pfsense).
En modo transparente, que es lo mas comun y comodo pfsense se encarga de habilitar las reglas
en el firewall, pero si leen el foro tiene sus limitantes ya que el puerto 443 no cruza por squid, por
ello yo prefiero hacer esto para controlar squid.
NOTA: Por nada del mundo, ni aunque les paguen 5 millones de dolares, graven algo en
/var/squid/, cuando arranca pfsense borra todo lo que ahi se encuentre, yo hago un folder el
/usr/local/etc/squid llamado acl y ahi meto todas mis acl.
Una vez configurado atraves del GUI squid en modo no transparente, creamos las siguientes
reglas en el firewall para nuestra LAN, recordar que nadie va a salir sin no es atraves del proxy.

Reglas Default para Squid

Como podran observar, yo necesito minimo las primeras 3 reglas, el resto uso protocolos que no
son afectados por squid.
Mi LAN solo puede hacer querys a mi dns(pfsense)
Mi LAN solo puede accesar a mi proxy(squid) que corre en mi propio pfsense.
Mi LAN puede accesar a cualquier servidor FTP.

Todo lo demas esta bloqueado, si algun chistoso quiere brincarse el proxy y eliminar la
configuracion de su navegador se va a topar con pared, ya que no existe regla que permita a mis
clientes pegarle a el puerto 80/443.
Squid en modo transparente de pfsense tiene este defecto, por ello hago yo todo este rollo.
Ya que hicimos lo anterior y nuestros clientes pueden navegar sin problemas, es hora de
ensuciarnos las manos para cerrar todas las puertas y asegurar nuestra red.
1) Squid esta en /usr/local/etc/squid/
cd /usr/local/etc/squid/
2) Creamos el folder de nombre acl
mkdir acl
3) Copeamos el archivo de configguracion y le ponemos squid-custom, estamos tomando el
archivo original que nos da pfsense como plantilla.
cp squid.conf squid-custom
4) Editamos squid-custom y lo dejamos asi:
######################################################################
# Do not edit manually !
http_port 192.168.50.1:3128
icp_port 0
pid_filename /var/run/squid.pid
cache_effective_user proxy
cache_effective_group proxy
error_directory /usr/local/etc/squid/errors/English
icon_directory /usr/local/etc/squid/icons
visible_hostname localhost
cache_mgr postmaster@localhost
access_log /var/squid/logs/access.log
cache_log /var/squid/logs/cache.log
cache_store_log none
logfile_rotate 0
shutdown_lifetime 3 seconds
# Allow local network(s) on interface(s)
acl localnet src 192.168.50.0/255.255.255.0
httpd_suppress_version_string on
uri_whitespace strip
#########custom options
check_hostnames off
log_fqdn off
cache_mem 8 MB
maximum_object_size_in_memory 32 KB
memory_replacement_policy heap GDSF
cache_replacement_policy heap LFUDA
cache_dir null /tmp
minimum_object_size 0 KB
maximum_object_size 10 KB
offline_mode off

# No redirector configured
# Setup some default acls
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl safeports port 21 70 80 210 280 443 488 563 591 631 777 901 249 3128 1025-65535
acl sslports port 443 563 249
acl manager proto cache_object
acl purge method PURGE
acl connect method CONNECT
acl dynamic urlpath_regex cgi-bin \?
acl unrestricted_hosts src "/usr/local/etc/squid/acl/unrestricted_hosts.acl"
acl blacklist dstdom_regex -i "/usr/local/etc/squid/acl/blacklist.acl"
cache deny dynamic
http_access allow manager localhost
######################################################################
###
Opciones Personalzadas
###
######################################################################
###Servidores Ubuntu de la Red.
acl UBUNTU_LAN src "/usr/local/etc/squid/acl/UBUNTU_LAN.acl"
###Servidores de actualizacion para Ubuntu
acl UBUNTU_UP_SERVERS dstdomain "/usr/local/etc/squid/acl/UBUNTU_UP_SERVERS.acl"
###
Fin de acl's personalizadas
###
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !safeports
http_access deny CONNECT !sslports
# Always allow localhost connections
http_access allow localhost
request_body_max_size 0 KB
reply_body_max_size 0 deny all
delay_pools 1
delay_class 1 2
delay_parameters 1 -1/-1 -1/-1
delay_initial_bucket_level 100
delay_access 1 allow all
######################################################################
###
Opciones Personalzadas
###
######################################################################
###
Nuestras ACL's en operacion.
###
### ACL sin restricciones
http_access allow unrestricted_hosts
http_access deny unrestricted_hosts
### ACL para que mis ubuntu's puedan actualizarse.
http_access allow UBUNTU_LAN UBUNTU_UP_SERVERS
http_access deny UBUNTU_LAN
###
Fin de mis ACL's
###
######################################################################
# Setup allowed acls
# Allow local network(s) on interface(s)

#http_access allow localnet


# Default block all to be sure
### Siempre debemos acabar con esta restriccion
### bloquea todo lo no declarado
http_access deny all
######################################################################
Como podran ver, marque los puntos donde debemos poner atencion:

access_log /var/squid/logs/access.log ==> Donde almacena squid sus logs


para obtener los reportes y saber cuando algo nos esta bloqueado aqui debemos
revisar primero.
cache_log /var/squid/logs/cache.log ==> Donde almacen squid el cache.

logfile_rotate 0 ==> Cada cuanto squid rota sus logs, por que 0? Yo me encargo
de ello para mayor control, no uso el lightsquid, uso sarg, en otro post de mi blog
viene.

cache_dir null /tmp ==> Recordar que este servidor corre la version nano, asi
que yo quiero bloquear no cachear, asi que pfsense sabe y por ello el mismo lo
configura, recordar que podemos cachear o solo bloquear.
acl
unrestricted_hosts
src
"/usr/local/etc/squid/acl/unrestricted_hosts.acl" ==> Aqui colocamos las IP's o
usuarios que no tiene restricciones, como nuestros equipos y los de los jefes.
acl blacklist dstdom_regex -i "/usr/local/etc/squid/acl/blacklist.acl" ==> Por
default aqui van todos los sitios que nadie puede usar, como faceboook, youtube,
etc, etc, si vamos a controlar todo, aqui ponemos '.' y bloquea todo, ya con las
ACL abrimos las paginas de cada grupo, es poderoso squid.
acl UBUNTU_LAN src "/usr/local/etc/squid/acl/UBUNTU_LAN.acl" ==> Aqui
estoy declarando que este acl tiene los IP's de mis servidores ubuntu que desean
actualizarse.
acl
UBUNTU_UP_SERVERS
dstdomain
"/usr/local/etc/squid/acl/UBUNTU_UP_SERVERS.acl" ==> Este acl le indico a
squid que deseo manejar aqui los sitios externos para que mis servidores ubuntu
puedan instalar, actualizarse, etc.

http_access allow unrestricted_hosts ==> acl's en operacion, iniciamos por


permitir a mis jefes el acceso sin restricciones, siempre como regla de oro, una
vez que permitimos algo debemos enseguida bloquearlo, asi trabaja squid.
http_access deny unrestricted_hosts ==> regla de oro.
http_access allow UBUNTU_LAN UBUNTU_UP_SERVERS ==> Uniendo acl's,
aqui le indico que lo que esta dado de alta en UBUNTU_LAN puede
accesar UBUNTU_UP_SERVERS asi de simple.
http_access deny UBUNTU_LAN ==> Regla de Oro.
http_access deny all ==> Regla de Oro general, una vez que terminamos de
configurar los accesos a nuestras acl's debemos bloquear todo.
5) Llenar de datos nuestras acl:
Contenido de unrestricted_hosts.acl:
192.168.50.100/32
Contenido de blacklist.acl:
.
Contenido de UBUNTU_LAN.acl:
192.168.50.101/32
Contenido de UBUNTU_UP_SERVERS.acl:
.ubuntu.com
.canonical.com
6) Copeamos el contenido de squid-custom a squid.conf
cp squid-custom squid.conf
7) Validamos la configuracion de squid, no deben dar ningun error de lo
contrario debemos reparar antes de continuar, por lo regular son errores de
escritura.
squid -k parse
Si no hay problemas no sale nada en pantalla.
8) Le pedimos a squid que levante nuestra nueva configuracin:

squid -k reconfigure
Si revisamos nuestra cache.log vamos ver esto:
2012/03/11 22:41:35| Reconfiguring Squid Cache (version 2.7.STABLE9)...
2012/03/11 22:41:35| FD 15 Closing HTTP connection
2012/03/11 22:41:35| FD 16 Closing HTCP socket
2012/03/11 22:41:35| FD 18 Closing SNMP socket
2012/03/11 22:41:35| logfileClose: closing log /var/squid/logs/access.log
2012/03/11 22:41:35| Including Configuration File: /usr/local/etc/squid/squid.conf (depth 0)
2012/03/11 22:41:35| Initialising SSL.
2012/03/11 22:41:35| logfileOpen: opening log /var/squid/logs/access.log
2012/03/11 22:41:35| Store logging disabled
2012/03/11 22:41:35| Referer logging is disabled.
2012/03/11 22:41:35| DNS Socket created at 0.0.0.0, port 15972, FD 13
2012/03/11 22:41:35| Adding domain misitio dyndns org from /etc/resolv.conf
2012/03/11 22:41:35| Adding nameserver 127.0.0.1 from /etc/resolv.conf
2012/03/11 22:41:35| Adding nameserver dns1 from /etc/resolv.conf
2012/03/11 22:41:35| Adding nameserver dns2 from /etc/resolv.conf
2012/03/11 22:41:35| Accepting proxy HTTP connections at 192.168.50.1, port 3128, FD 15.
2012/03/11 22:41:35| Accepting HTCP messages on port 4827, FD 16.
2012/03/11 22:41:35| Accepting SNMP messages on port 3401, FD 18.
2012/03/11 22:41:35| WCCP Disabled.
2012/03/11 22:41:35| Loaded Icons.
2012/03/11 22:41:35| Ready to serve requests.

No se observa ningun problema.


9) Prueban con su clientes, no deben tener problemas.
10) Crear batch para que cada que arranque pfsense cargue nuestra
configuracion.
Para esto necesitamos crear nuestra batch en /usr/local/etc/rc.d/
Con nuestra editor ingresamos estos datos a el nuevo archivo de
nombre zsquid.sh:
#!/bin/sh
#2012-03-11
#Batch para re-cargar la version personalizada de squid
cp /usr/local/etc/squid/squid-custom /usr/local/etc/squid/squid.conf
#Le pedimos a squid que se reconfigure usando nuestra configuracion
/usr/local/sbin/squid -k reconfigure
Modificamos nuestro batch para que tenga el bit de ejecutable:
chmod +x zsquid.sh

Por que z? Recordar que Unix arranca los batches por orden alfabetico, ahi mismo
se localiza el batch que arranca squid, y la "S" es antes que la "Z", por ello nos
conviene que primero arranque squid con la configuracion normal y despues
nuestra configuracion.
11) Por ultimo ya solo para comprobar que todo va a funcionar, debemos
reiniciar a pfsense, no debe de haber problemas.
shutdown -r now.
En la consola cuando reinicie aparece algo asi:
Starting /usr/local/etc/rc.d/zsquid.sh...done.
En mi caso es el ultimo servicio en arrancar lo que indica que mis cambios estan
operando.
12) Cron para rotar los logs todos los dias.
59 23 * * * /usr/local/sbin/squid -k rotate
Con esto ya no necesitamos que squid rote sus logs, nosotros lo vamos hacer.
13) Listo, ya tenemos una configuracion de squid personalizada y poderosa,
ya solo es cuestion que cada quien la configure a sus necesidades.
14) Para la version nano cuando arranca posiblementes les muestre este
error en la consola:

Error de arranque squid version nano.

Si observan la figura anterior squid nos manda un error que nos falta un archivo de
nombre:unrestricted_host.acl, y apunta a el directorio: /var/squid/acl.
Por que? Bien recordar que pfsense version nano se carga en memoria, entoces
muchas particiones como /var su contenido se crea al momento del arranque, por

ello cuando squid arranca se crea su folder de 0 y automaticamente todo lo que


ahi se localice es sobreescrito.
Aparte como es mas rapido el arranque que la creacion de archivos entonces le esta ganando
squid a el arranque de pfsense.
Como podemos atacarlo?
Bien por ahi encontrado que la manera de hacerlo es editando el archivo principal de squid que ahi
nos dice: squid.inc localizado en /usr/local/pkg/squid.inc.

Aparte nos dice que la linea 844 o 848 pero por ahi anda, lo abrimos con el editor
y nos vamos a esa linea, vamos a ver algo asi:
$options = array(

'unrestricted_hosts' => 'src',


'banned_hosts' => 'src',
'whitelist' => 'dstdom_regex -i',
'blacklist' => 'dstdom_regex -i',

);
Como estamos editando nuestra propia configuracion y nuestros acl se localizan
en/usr/local/etc/squid/acl, pues vamos hackeando pfsense y ver como nos
va, comentamos esa linea y la volvemos a crear sin el parametro que nos esta
afectando, quedaria asi:
$options = array(
#'unrestricted_hosts' => 'src',
'banned_hosts' => 'src',
'whitelist' => 'dstdom_regex -i',
'blacklist' => 'dstdom_regex -i',
);

Salvamos, reiniciamos y vemos si ya no se nos presenta ese mensaje.


15) Fin.
NOTA: Recordar que si van a hacer cambios en la configuracion deben
modificar squid-custom y ademas deben respaldar tanto squid-custom y
todos los acl's que estan usand

Cmo configurar un servidor Squid Proxy


Transparente Uso pfSense

Fuente: http://www.squid-cache.org/

Los servidores proxy actan como un intermediario para los clientes en una red que solicita
recursos de otro servidor. El tipo ms comn de proxy es un proxy web.
Los servidores proxy pueden ser muy tiles para mejorar la velocidad de una conexin a
Internet mediante el almacenamiento en cach, registrar el uso de Internet, o filtrar el
trfico. El servidor proxy almacena copias locales de pginas HTML, imgenes y otros
archivos en su cach.
Servidores proxy de almacenamiento en cach puede mejorar considerablemente el
rendimiento de Internet de las redes corporativas o pginas similares donde muchos usuarios
pueden estar solicitando internet del caf.
Cuando un cliente solicita una pgina web el proxy comprueba si tiene cualquiera de los
archivos almacenados en la memoria cach, si lo hace, les sirve para el cliente sin tener que
descargarlos desde el servidor web.
Esto reduce la latencia y ahorra ancho de banda de Internet. Transparente ruta proxys el
trfico clientes a travs del servidor proxy automticamente, a diferencia de proxys
tradicionales que requieren cambios de configuracin en los sistemas cliente.
Si no est familiarizado con pfSense echa un vistazo a una Introduccin a pfSense .

Gigabit CT Intel PCI-E Network Adapter EXPI9301CTBLK


Comprar ahora

La instalacin de paquetes

Acceder al men de servidor proxy

Configuracin de proxy Squid

Empezando
Lo primero que tendrs que hacer es instalar el paquete squid en pfSense.Esto se puede
hacer desde el gestor de paquetes se encuentra bajo el men del sistema.
Busque el paquete de Squid y haga clic en el smbolo + al lado de l para comenzar la
instalacin. El proceso de instalacin tarda normalmente unos minutos en completarse.
Configuracin

Una vez completada la instalacin tendr una nueva opcin de men "Services" llamado
"Servidor Proxy".Haga clic en la nueva opcin de men para abrir la pgina de configuracin.
Aqu usted tendr que configurar la interfaz de proxy que es tpicamente LAN. A continuacin,
compruebe que la caja 'Permitir a los usuarios en la interfaz'. Luego marque la casilla 'Habilitar
proxy transparente'. Ahora desplcese hacia abajo hasta la parte inferior y pulse guardar. Esto
iniciar el servicio de calamar con los ajustes definidos por usted.
En este punto usted tiene un servidor proxy transparente funcionamiento completamente
funcional en pfSense.Usted no tiene que realizar ningn cambio en los equipos de la red para
que utilicen el proxy. Cualquier cliente que solicitan pginas web sobre el puerto 80, ser
redirigido a travs del proxy. Los usuarios de la red ni siquiera saben su trfico est pasando
por un proxy!

Ajustes de gestin del trfico

Gestin del trnsito areo


La ficha de gestin del trfico tiene algunos parmetros que son tiles si desea colocar
restricciones de uso de ancho de banda en el proxy.
El uso de estas opciones que puede configurar una descarga mxima o cargar tamao que
restringir las transferencias en un tamao determinado.
Tambin puede configurar el proxy de estrangular archivos binarios, imgenes de CD o
cualquier otro tipo de archivo que especifique. Per anfitrin estrangulamiento establece la
cantidad mxima de ancho de banda de un host individual puede utilizar.

Ajustes de rendimiento
Hay varias opciones en la ficha cach de la pgina de configuracin de calamar que se puede
modificar para mejorar el rendimiento en su entorno. A continuacin se presentan algunas de
las configuraciones que recomiendo modificacin. Si el equipo que ejecuta el proxy tiene una
cantidad limitada de disco y memoria RAM que usted debe tener cuidado de no utilizar

temperaturas excesivamente agresivos. Por otro lado, si usted tiene un montn de recursos
para gastarlos puede aumentar la configuracin para mejorar el desempeo.

Tamao de la cach de disco duro - Ajusta la cantidad total de espacio en disco duro
calamar utilizar a los objetos de cach. Si usted tiene un disco duro grande puede
aumentar este valor para almacenar en cach ms objetos. Slo recuerde que los
objetos almacenados en cach en la memoria se recuperan ms rpido que los objetos
en el disco duro.

Tamao de la cach de memoria - Si su sistema pfSense tiene un montn de memoria


RAM que recomiendo aumentar el tamao de la memoria cach. Los objetos que los
calamares no pueden almacenar en la memoria terminan siendo intercambiados en el
disco, que es mucho ms lento que la RAM.

El tamao mximo de objeto predeterminado -El de 4K es bastante pequeo,


recomiendo aumentar este nmero a 50. Tambin podemos establecer que es ms
grande, pero la mayora de los aciertos de cach tienden a llevarse a cabo en pequeos
archivos de todos modos.

Editar /boot/loader.conf.local - Este cambio se debe hacer a travs de SSH.Utilizando


un editor de textos como vi agregar kern.ipc.nmbclusters = "32768" en el fichero a
continuacin, guarde el archivo y reinicie el router pfSense.Esto aumenta la cantidad total
de memoria utilizada para buffers de los conectores de los 32M.

Visite el sitio de documentacin de pfSense para ms ajustes de optimizacin del rendimiento


de Squid.

Los valores de administracin de cach

Borrar manualmente el cach de Squid


Squid tiene su propio sistema para purgar viejos objetos de la memoria cach, pero en
ocasiones es posible que desee borrar toda la cach de Squid.
Recomiendo sesin en pfSense usando SSH para ejecutar estos comandos. Es posible
ejecutar usando la funcin de smbolo del sistema en el men de diagnstico pero no te
aconsejo hacerlo.
En primer lugar usted necesita para detener el servicio de proxy.
apagado -k calamar
El comando a continuacin eliminar todos los archivos en el directorio de cach.Este
comando puede tardar mucho tiempo en ejecutarse, especialmente si se ha definido un
tamao grande de cach as que sea paciente.
-fr rm / var / squid / cache / *
Antes de reiniciar Squid deber volver a crear el canje de estructurar directamente.

Si recibe un mensaje que Squid ya se est ejecutando seguir adelante y apagar el servicio y
otra vez y vuelva a ejecutar el comando. PfSense parece reiniciar Squid por s mismo cuando
se da cuenta de que no se est ejecutando.
calamar -z
Por ltimo, puede reiniciar Squid para comenzar a usar el proxy de nuevo.
/ Usr / local / sbin / squid-D
Para asegurarse de que empez usted puede comprobar el estado en el men de servicios
que se encuentra bajo el men de estado de la interfaz web.

Lightsquid Informe

Informes Proxy
Si usted est interesado en el seguimiento de la utilizacin de su proxy puede instalar un
paquete adicional llamado Lightsquid.
Lightsquid generar informes interactivos que hacen un seguimiento de todos los sitios web
visitados por los usuarios, as como una lista de los mejores sitios.
Usted puede incluso determinar qu IP visit un sitio determinado, y qu hora fue visitado.
Lightsquid se puede instalar a travs del gestor de paquetes pfSense de la misma manera que
ha instalado el calamar.
Despus de la instalacin de un nuevo elemento de men se crear bajo Estado llamado
Informe Proxy.
En la pgina de configuracin puede establecer la programacin de actualizacin de informe a
un intervalo de entre 10 minutos y 24 horas. Esto determina la frecuencia con Lightsquid
genera un nuevo informe. Puede actualizar manualmente el informe mediante el botn de
actualizacin ahora. Para ver el informe, haga clic en la pestaa Lightsquid Informe.

Mini ITX pfSense Router / Firewall con 5x Gbe LAN, SATA SSD de 32 GB precargado con 64 bits pfSense 2.1
Comprar ahora

Otros Guas de pfSense

Cmo configurar una lista negra DNS usando pfSense


Si ests buscando una manera fcil de bloquear dominios de la red sobre la base de
muchas listas negras DNS categoras comn puede hacer el trabajo con facilidad. Lista
negra de DNS es un paquete para la plataforma pfSense popular.

Dual Wan Router - Cmo cargar balanza con pfSense


La compra de un doble wan del router se puede configurar fcilmente copias de varios
cientos de dlares. Adems de los altos precios de muchos de los modelos en el
mercado carecen de muchas caractersticas. As que en lugar de desembolsar dinero en
efectivo para un router con ...

Configuracin de un router pfSense


Si lo que buscas para reemplazar el router a casa con algo que ofrece un mayor control,
las caractersticas y el rendimiento pfSense es una excelente opcin. pfSense puede
actuar como un router y firewall ofrece un montn de caractersticas para libre que a
menudo slo se encuentran

Conclusin
Espero que este centro ha demostrado lo fcil que es configurar un proxy transparente usando
el poder de pfSense. Proxys transparentes pueden aadir valor a las redes domsticas
pequeas o grandes redes corporativas con cientos de usuarios.
Sintase libre de comentar si usted tiene cualquier pregunta y por favor hgamelo saber lo
ms que le gustara aprender sobre pfSense.

Mantenimiento de Servidores pfSense


Tutorial de cmo eliminar la cach de Squid en pfSense
Chicos estoy fuera unos das configurando pfSense
Es difcil despues de que se haya echado a perder el servidor (alguien se metio a configurar cosas
que no eran y termin por daar los servicios de Squid, SquidGuard y Servicios como Varnish entre
otros)
ahora se lo que se siente amigo +Romn Tito Avalos ... me acaba de pasar a mi tambin ..
nadie poda navegar ni acceder a Internet... hasta que vine yo a resolver todo... viendo logs...
vaciando cache de Squid por contenido corrupto... reiniciando el servicio de squid...
Pasos a seguir:
1; Prefiero que nadie este conectado a el squid (y que nadie me vea).
2; Entramos a la consola. ya sea empleando Putty desde WInBug
3; Nos vamos a la ruta donde se localiza el folder del cache, que en mi caso es: /var/squid
cd /var/squid
4; Apagamos squid:
/usr/local/etc/rc.d/squid.sh stop
5; Validamos que ya no este abierto el puerto, de lo contrario si aun sigue algun proceso activo,
importante que no haya nada de squid ejecutndose:
sockstat -4 | grep 3128
NOTA:No debe devolvernos nada, de lo contrario buscar los procesos y matarlos.
6; Borramos el folder del cache
rm -rf cache/
NOTA: Si tienen miedo y tienen espacio en su disco: mv cache cacheold
si algo sale mal, retornamos el cache: mv cacheold cache
7; Creamos el folder de nuevo.
mkdir cache
8; Cambiamos permisos:
chown proxy:proxy cache/
9; Creamos directorios de nuevo.
squid -zX
NOTA: la X es para ver todo lo que hace, si no desean verlo la quitan del comando. Este comando
puede tardar segn el tamao del cache en su configuracin y la velocidad de su maquina.
10; Iniciamos de nuevo squid:
/usr/local/etc/rc.d/squid.sh start

11; Listo.
Recordar que esto lo tienen que hacer lo mas rpido posible de lo contrario squid puede iniciar sin
la intervencin de uno ya que recordar que existe un monitor de squid que lo arranca si no esta
en ejecucin el servicio, si esto pasa deben iniciar desde el paso 1, as que practiquen y hagan su
batch.
Por que a veces tenemos hacer esto?
Ah veces que nuestro cache necesita una purga general, esta es una buena opcin para iniciar
con un cache limpio sin nada de datos e iniciar de nuevo.

Gracias, ya logre hacer que esto funcione, lo que hice fue lo que mencionas:
1ro una regla en el NAT "Port Forward"
Interface: LAN
External Address: Any
Protocol: TCP
External Port Range: HTTP
NAT IP: IP_Proxy
Port: 3128
Listo.
De ahi ya agregue otra para el HTTPS.
Y me fui por las reglas (Rules).
En las reglas para la LAN bloquie todo lo que pasa por la lan hacie el puerto 80 y otra para
bloquear el 443.
Listo.
Ahora si algun chistoso quita el proxy de su navegador ya se jodio por que no va a salir a
ningun lado.
Ahora si el proxy se encargara de controlar que sale y entra.
Que bonito es lo bonito cuando es bonito, saludos y gracias maaraujo

Lo que necesitamos hacer es decirle a pfsense que toda comunicacion a los protocolos http->80
y https-->443 en la red local las mande a el puerto 3128 que es donde corre squid.
Yo en lo personal, voy abriendo puertos segun los vaya necesitando, en mi caso los 2 primeros
que doy de alta en las reglas de la LAN es el puert 80 y 443. Pero ahora como acabo de instalar
squid, necesito hacer un cambio.
Las reglas RDR o "Port-Forward" se ejecutan primero que las reglas de la LAN, entonces checa
la figura como quedaria la regla para el puerto 80 "Todo paquete que atraviese por
gateway(LAN) puerto 80, mandalo a el gateway pero puerto 3128 de squid y con esto squid
recibe toda esa comunicacion.
Cuando hagas el "Port-Forward" desmarca la opcion que agrega la regla automaticamente a la
LAN.
Los mismo pasa con el puerto 443.
Ya con esto, las 2 reglas de mi LAN donde permito el paso del protocolo 80 y 443 las bloqueo.
Checa la imagen para que veas como queda.
Cuando apliques todo esto, tu pfsense va a dejar de funcionar, que es lo buscamos de un
principio, para recuperarlo tienes que agregar tu proxy a tu navegador y listo.
Cuando algun chistosito en tu red quiera brincarse el cerco y elimine los datos de tu proxy de
su navegador le va a salir la pantalla de acceso denegado.
Listo problema resuelto.

Das könnte Ihnen auch gefallen