domingo, 11 de julio de 2010

Instalar y Configurar SQUID en FreeBSD con PF

Para Instalar SQUID:
  1. Ingresar a /usr/ports/www/squid (puede ser squid, squid30, squid31)
  2. make config (elegir las opciones de instalación)
  3. make (realiza la compilación)
  4. make instal (realiza la instalación en el sistema)
una vez instalado se prosigue con la instalación.

Para Realizar la Configuración Inicial:
  1. Es necesario crear los directorios de intercambio /var/squid/cache
    /usr/local/sbin/squid -z
  2. Para realizar un test de la instalación se puede usar:
    /usr/local/sbin/squid -NCd1
    aqui Squid nos mostará una salida que indica el número del proceso, inicializa la cache, entre otros. este test se puede cortar con CTRL+Pausa. durante el test podemos conectar un Cliente al proxy por medio del puerto 3128 para comprobar que existe conectividad.
  3. Si durante el test con el cliente de prueba no se logra conexión, es probable que deba definir en las reglas de squid la subred local:
    editar /usr/local/etc/squid/squid.confagregar:
    acl localnet src ipredlocal/bitsmascara ejemplo:
    acl localnet src 190.100.0.0/16
    (aqui colocar la ip de la red de los clientes)
  4. para permitir el inicio automático agregar la siguiente línea a /etc/rc.conf
    squid_enable="YES"
  5. para configurar PF y habilitar la característica de Proxy Transparente de SQUID hay que editar /etc/pf.conf y agregar las siguientes líneas:
    rdr on $int_if  inet proto tcp from any to any port 80 -> 127.0.0.1 port 3128
    con estas líneas se redirigirán las conexiónes http al puerto 3128 de Squid.
    pass on $int_if inet proto tcp from any to 127.0.0.1 port 3128
    para permitir el acceso al puerto.
  6. Squid no trabaja conexiones https de manera transparente, por lo que debemos dejarlas pasar directamente. (por medio de proxy si trabaja https)
  7. para habilitar el proxy transparente en Squid hay que modificar o agregar las siguientes líneas en /usr/local/etc/squid/squid.conf :
    http_port 127.0.0.1:3128 transparent
    http_port ip_local_del_server:3128

    la primera línea habilta el proxy transparente en la ip localhost, la segunda línea habilita la ip local del servidor para atender como proxy tradicional.
  8. hay que darle permiso al grupo squid al archivo /dev/pf:
    chown root:squid /def/pf
  9. luego de los cambios de los dos pasos previos hay que reiniciar los servicios PF y SQUID
    /etc/rc.d/pf restart
    /usr/local/etc/rc.d/squid restart
No olvidar realizar las pruebas del caso.

No hay comentarios.: