Migré squid3 a squid3-devel y no funciona
-
ps aux | grep ^proxy | grep squid.conf
Esto debería darte el proceso de squid. Por lo que veo de un anterior post tuyo seguramente no ves nada porque tu terminal está cortando el texto (a menos anchura).
Desgraciadamente no sé ver nada anormal.
Lo último que me pasa por la cabeza es que dijiste que la instalación lleva un año funcionando.
¿Entonces no es una 2.1? Igual el problema es ese.
-
ps aux | grep ^proxy | grep squid.conf
Esto debería darte el proceso de squid. Por lo que veo de un anterior post tuyo seguramente no ves nada porque tu terminal está cortando el texto (a menos anchura).
Uso PuTTy en Windows pero lo extraño es que parece cortar solo ciertos comandos porque otras lineas largas sin salen como las de
[2.1-RELEASE][admin@ujmv-fw-ts.ujmvts.edu]/root(1): grep "no rdr" /usr/local/pkg/* /usr/local/pkg/reglas_squid_no_transparente.txt:no rdr proto carp all /usr/local/pkg/squid.inc: $rules .= "no rdr on $iface proto tcp from any to { 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 } port {$pf_transparent_rule_port}\n"; /usr/local/pkg/squid.inc: $rules .= "no rdr on $PPPOE_ALIAS proto tcp from any to { 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 } port {$pf_rule_port}\n"; /usr/local/pkg/squid.inc: $rules .= "no rdr on $PPTP_ALIAS proto tcp from any to { 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 } port {$pf_rule_port}\n"; /usr/local/pkg/squid.inc: $rules .= "no rdr on $iface proto tcp from { $exempt_ip } to any port {$pf_transparent_rule_port}\n"; /usr/local/pkg/squid.inc: $rules .= "no rdr on $PPPOE_ALIAS proto tcp from { $exempt_ip } to any port {$pf_rule_port}\n"; /usr/local/pkg/squid.inc: $rules .= "no rdr on $PPTP_ALIAS proto tcp from { $exempt_ip } to any port {$pf_rule_port}\n"; /usr/local/pkg/squid.inc: $rules .= "no rdr on $iface proto tcp from any to { $exempt_dest } port {$pf_transparent_rule_port}\n"; /usr/local/pkg/squid.inc: $rules .= "no rdr on $PPPOE_ALIAS proto tcp from any to { $exempt_dest } port {$pf_rule_port}\n"; /usr/local/pkg/squid.inc: $rules .= "no rdr on $PPTP_ALIAS proto tcp from any to { $exempt_dest } port {$pf_rule_port}\n"; [2.1-RELEASE][admin@ujmv-fw-ts.ujmvts.edu]/root(2):
Desgraciadamente no sé ver nada anormal.
Lo último que me pasa por la cabeza es que dijiste que la instalación lleva un año funcionando.
¿Entonces no es una 2.1? Igual el problema es ese.
Si efectivamente, lo había tenido instalado desde hace poco menos de un año y había hecho todos los updates sin problemas y todo funcionaba con Squid3 3.1.20 pkg 2.0.6 en Modo transparente y squidGuard-squid3 1.4_4 pkg v.1.9.5 con los logs y todo hasta que decidí probar el viernes pasado lo expuesto en https://forum.pfsense.org/index.php?topic=73007.0 porque como dije squid3-dev-3.3.10.pkg.2.2 nunca me arrancó previamente.
todo funcionó según se explica en ese post y de hecho los servicios levantaron y se puede navegar sin problema y las reglas del firewall funcionan pero el proxy ya no capturaba el trafico en modo transparente a pesar que que antes lo hacia y los logs del proxy quedaron congelados hasta la ultima vez que use con el squid3
En definitiva parece que tendré que desinstalar todo y arrancar desde cero con el proxy. Mi duda es que archivos debo conservar de la configuración del proxy Squid3 y SquidGuard para no tener que crear todo a mano de nuevo
y Gracias por su ayuda
Ricardo
-
Mi duda es que archivos debo conservar de la configuración del proxy Squid3 y SquidGuard para no tener que crear todo a mano de nuevo
Queda todo en config.xml pero…
tuve la desagradable sorpresa de que si cargas el config.xml repite la instalación de todos los paquetes. Y no sé por qué pero eso no me fue bien. Igual me pasó por problemas de conexión con el repositorio de paquetes. A veces anda algo saturado.
Por tanto, terminé haciendo la instalación básica más los paquetes. Y después cargué el config.xml usando el comando fetch contra un servidor web local. Y reinicié. Con esto me salté la instalación automática de paquetes al restaurar config.xml.
-
Estaba pensando que podría ser que tuvieras porquería en el config.xml. Mira las entradas para squid y squidGuard, con un editor de textos. A ver si tienen algo extraño.
-
Estaba pensando que podría ser que tuvieras porquería en el config.xml. Mira las entradas para squid y squidGuard, con un editor de textos. A ver si tienen algo extraño.
Si hoy temprano revise ese config.xml pero no vi ninguna configuración extraña
También hoy tome una estación de trabajo y le configure en conexiones opciones de Internet como proxy la ip de my pfsense y el puerto 3128 y probé monitorearla y vi que en este manera el squid sí funcionaba, de hecho pude ver la actividad de esta estación solamente, reflejada en el log del proxy, asi como en el log de Squidguard.
Ahora bien, fui a la configuración del proxy y desactive el modo transparente, salve y reinicie el proxy y después revise y vi que la estación continuó navegando como antes
A continuación volví a la configuración del proxy y volví a habilitar el modo transparente, salve y reinicie el proxy y sorpresa! vi que que en log del proxy y squidguard comenzaron a parecer otras estaciones de trabajo lo que significaba que el modo transparente volvió a funcionar como antes.
Finalmente después de ver que el tráfico en el log de squid y squidguard volvía a ser el mismo de antes, decidí reiniciar todo el box PFSense por si acaso y al volver del reinicio y revisar los logs del proxy y squidguard, malo, el modo transparente ya no funcionaba nuevamente y no había actividad en los logs de squid para las demás estaciones de trabajo.
Ahora bien, haciendo lo que describí previamente de deshabilitar/habilitar el modo transparente y re-arrancar el proxy parece hacerlo funcionar hasta que el equipo como un todo se reinicia
Ha visto algo así antes o le sugiere alguna otra cosa este comportamiento?
Otra cosa que no habia notado antes después del upgrade a squid-dev hay un mensaje en System->packages->Installed packages ->```
"Available: 3.3.10 pkg 2.2.2 Installed: 3.3.10 pkg 2.2.1"Significa esto que hay que hacer el update pero no se en donde se consigue. Es nuevo este update porque yo instalé el squid-dev apenas el viernes pasado pero no recuerdo haber visto este mensaje Gracias por su ayuda Ricardo
-
Ahora bien, haciendo lo que describí previamente de deshabilitar/habilitar el modo transparente y re-arrancar el proxy parece hacerlo funcionar hasta que el equipo como un todo se reinicia.
Esto es que deben haber dos scripts de arranque haciendo cosas distintas.
O "algo" no está a punto cuando arranca. Leí por ahí que si la WAN está por DHCP y tarda hay problemas de arranque de squid. No pude comprobarlo pues no es el caso de mis instalaciones.
Significa esto que hay que hacer el update pero no se en donde se consigue. Es nuevo este update porque yo instalé el squid-dev apenas el viernes pasado pero no recuerdo haber visto este mensaje.
Esto son un par de mejoras que hizo marcelloc ayer:
https://forum.pfsense.org/index.php?topic=74312.msg406823#msg406823
https://forum.pfsense.org/index.php?topic=74312.msg406829#msg406829
Tienes dos botones a la derecha, uno para instalar de nuevo el paquete y otro para los xml del configurador web.
También veo el aviso, como es normal.
-
Esto es que deben haber dos scripts de arranque haciendo cosas distintas.
O "algo" no está a punto cuando arranca. Leí por ahí que si la WAN está por DHCP y tarda hay problemas de arranque de squid. No pude comprobarlo pues no es el caso de mis instalaciones.
Tampoco es mi caso, tengo IP WAN fija.
Ahora bien, hay alguna forma de diagnosticar esos scripts de arranque?
gracias por su ayuda
Ricardo
-
Ricardozam:
Tu caso es parecido al mio…
Yo estuve usando squid3-dev y lo deje,volví a 3.1 porque es un dolor de cabeza!
Funcionaba en transparente,y no tenía ningún problema con https,incluso desde android.
Pero decidí probar Win 8.1 en una maquina virtual,y no hay caso no se actualiza vía proxy-https
hay un error especifico que lo indica...
Entonces decidí poner en "Bypass proxy for these destination IPs" todas los hostnames de microsoft update.
Error grave error...
squid parece funcionar sin problemas(no tenía regla http ni https),pude actualizar el 8.1 y navegaba sin problemas
pero me di cuenta que Ignoraba las blacklist(todo lo que no debía permitir),lo hacia.
También dejaba de reportar los virus!!!
En "Realtime" dejaba de ver actividad!,pero el cache seguía creciendo...
Al borrar lo que había en "Bypass proxy for these destination IPs" y reiniciar volvía a bloquear lo que había en blacklist,los virus
y había actividad en "Realtime" -
¿Ahora bien, hay alguna forma de diagnosticar esos scripts de arranque?
Al arrancar, sin cambiar nada en la WebGUI
cat /usr/local/etc/rc.d/squid.sh
Cambiando la configuración de squid en la WebGUI
cat /usr/local/etc/rc.d/squid.sh
-
En mi caso no veia ningun error!!!
en el webgui si uno comete un error grave,al pulsar save, lo ve en letras rojas.
por ejemplo en ACL: al ingresar un hostname en:"Banned host addresses".
–---------
al crear una acl "a mano" y dejarla vacia.
ejemplo:acl extension url_regex -i "/var/squid/acl/extension.acl"
http_access deny extension
al pulsar save squid no reporta ningun error.
pero desde el terminal con:squid -k reconfigure
Si reporta que la lista acl esta vacía!!En mi caso,no vi ningun tipo de error
ps -aux | grep squid ##veia squid clamd y c-icap
con squid -k reconfigure ##solo note que demoraba como 7 u 8 seg en devolver el prompt.
pero no reportaba errores.PD.desinstale squid3-dev y borre todos los dir de squid,clamav a mano...
instale 3.1 funciona muy bien,lo unico que veo es que en"Transparent HTTP proxy"
hace referencia a "men-in-the-middle".....
eso pertenece al webconf de squid3-dev.
se encuentra en:/usr/local/pkg/squid.xml
adjunto captura.
despues de desintalar squid3-dev
hice find / -name squid
para localizar y borrar los dir de squid.
Tambien debi hacer: find / -iname "squid.*" ###;-)
para ver si quedaba algun .xml o .inc .algo....
-
pero desde el terminal con:squid -k reconfigure
El código del WebGUI hace esto…
squid -k reconfigure -f /usr/pbi/squid-amd64/etc/squid/squid.conf
desinstale squid3-dev y borre todos los dir de squid,clamav a mano…
instale 3.1 funciona muy bien,lo unico que veo es que en"Transparent HTTP proxy"
hace referencia a "men-in-the-middle".....
eso pertenece al webconf de squid3-dev.
se encuentra en:/usr/local/pkg/squid.xmlPuedes descargar tus archivos dudosos "a mano"…
https://github.com/pfsense/pfsense-packages/tree/master/config/squid3/33
https://github.com/pfsense/pfsense-packages/tree/master/config/squid3/31
fetch -o /usr/local/pkg/squid.xml https://github.com/pfsense/pfsense-packages/blob/master/config/squid3/31/squid.xml
-
Al arrancar, sin cambiar nada en la WebGUI
cat /usr/local/etc/rc.d/squid.sh
Cambiando la configuración de squid en la WebGUI
cat /usr/local/etc/rc.d/squid.sh
Lo extraño de las cosas no
Hoy al llegar antes de comenzar el diagnóstico del arranque del PFsense
Sólo por si acaso, probé actualizar el squid3-dev a la versión 3.3.10 pkg 2.2.2, (tenia la 2.2.1) y lo hice mediante el botón de reinstalar paquete del GUI de PFSenseCual no sería mi sorpresa al ver que al reiniciar la caja de PFSense todo estaba funcionando como antes: el proxy squid y squid-guard en modo transparente funcionaban a la perfección. Incrédulo reinicie hasta 4 veces la box de PFSense y siempre todo funcionó como antes
Parece ser que, con la reinstalación del paquete de squid-dev, los dichosos scripts de arranque que no me levantaban el squid en modo transparente al arrancar la Box PFSense se autocorrigieron.
Por qué? Ni idea, quizás la nueva versión hizo el milagro?
:o :o :o :o :o :o :o :o :o :o :o :o :o :o :o :o :o :o :o :o :o :o :o :o
Ahora estoy probando el antivirus. Segui el tutorial en cuanto a la configuracion del antivirus en http://egoncalves.com.br/pfsense/pfsense-squid3-dev-clamav-i386/ en cuanto a la configuración de Services -> Proxy server -> Antivirus y cambie squidclamav.conf para
# When a virus is found then redirect the user to this URL redirect http://172.16.1.3/clwarn.cgi
que es la IP de my proxy y reinicie el proxy con el botón reiniciar
Si cargo http://172.16.1.3/clwarn.cgi desde el browser, la pagina me abre correctamente
pero cuando intento usar http://www.eicar.org/download/eicar_com.zip
para probar el antivirus obtengo esto en el browserhttp://proxy.domain.dom/cgi-bin/clwarn.cgi?url=http://www.eicar.org/download/eicar_com.zip&source=172.16.1.209&user=-&virus=stream:%20Eicar-Test-Signature%20FOUND
Es decir aparentemente el antivirus esta haciendo el trabajo pero no me esta re-direccionando a donde debería.
Revise squidclamav.conf en Services -> Proxy server -> Antivirus y esta correcta# When a virus is found then redirect the user to this URL redirect http://172.16.1.3/clwarn.cgi
Hay que cambiar algún otro archivo que no aparece en el tutorial?
Gracias por su ayuda
Ricardo
-
Es decir aparentemente el antivirus esta haciendo el trabajo pero no me esta re-direccionando a donde debería.
No tengo esto funcionando pero…
¿ Diste permisos de ejecución a clwarn.cgi ?
¿Qué pasa, que se queda pensando? En FireFox y en Chrome tienes la consola del desarrollador web donde se ve qué hace el navegador.
Puedes probar también a poner https en el redirect, si tienes a pfSense en modo https. A ver si hay diferencia.
Gracias por su ayuda
¡De nada! Entre todos aprendemos más.
-
¿ Diste permisos de ejecución a clwarn.cgi ?
Si se refiere a esto, si lo hice:
chmod 775 /usr/local/www/clwarn.cgi
De hecho en Chrome, si cargo http://172.16.1.3/clwarn.cgi la pagina me abre correctamente con el mensaje en rojo
¿Qué pasa, que se queda pensando? En FireFox y en Chrome tienes la consola del desarrollador web donde se ve qué hace el navegador.
No se queda pensando, de hecho me abre casi inmediatamente con el error
Oops! Google Chrome could not find proxy.domain.dom
y esto en la barra de direcciones:
http://proxy.domain.dom/cgi-bin/clwarn.cgi?url=http://www.eicar.org/download/eicar_com.zip&source=172.16.1.209&user=-&virus=stream:%20Eicar-Test-Signature%20FOUND
de hecho, http://proxy.domain.dom/cgi-bin/clwarn.cgi era lo que estaba originalmente en squidclamav.conf antes de cambiarlo por
http://172.16.1.3/clwarn.cgiPuedes probar también a poner https en el redirect, si tienes a pfSense en modo https. A ver si hay diferencia.
No no tengo activado https para el acceso a PFSense
Se ve que el antivirus hace el trabajo por el URL que envía al servidor web pero no lo hace con la IP correcta
Debe haber otro archivo que debe cambiarse. estoy abriéndolos uno por uno a ver en
/var/log/clamav
/var/db/clamav
/var/run/clamavGracias por su ayuda
Ricardo
-
Igual te está jugando una mala pasada la caché del navegador.
Si no es el navegador…
grep proxy.domain.dom *
en /usr/local/pkg y en /cf/config
-
Al hacer un cambio en Antivirus,como indicar la ip del pfsense y borrar "cgi-bin",delante de clwarn.cgi
hay que reiniciar c-icap,para que los cambios tengan efectos. -
Tienes toda la razón, clwarn.cgi está en http://es.wikipedia.org/wiki/Perl y hay caché en lado servidor.
-
Al hacer un cambio en Antivirus,como indicar la ip del pfsense y borrar "cgi-bin",delante de clwarn.cgi
hay que reiniciar c-icap,para que los cambios tengan efectos.De hecho reinicie la box de PFSense completata pero igual me envía a http://proxy.domain.dom/cgi-bin/clwarn.cgi
Gracias por su ayuda
Ricardo
-
Igual te está jugando una mala pasada la caché del navegador.
Si no es el navegador…
grep proxy.domain.dom *
en /usr/local/pkg y en /cf/config
-
en antiviurus no uses squidguard,para probar,descomenta,solo esta linea:
When a virus is found then redirect the user to this URL
redirect https://192.168.1.1/clwarn.cgi
que perl indicaste en:/usr/local/www/clwarn.cgi
en mi VM uso: /usr/local/bin/perlmi squidclamav.conf
# Maximum size of a file that may be scanned. Any file bigger that this value # will not be scanned. maxsize 5000000 # When a virus is found then redirect the user to this URL redirect https://192.168.1.1/clwarn.cgi # Path to the squiGuard binary if you want URL filtering, note that you'd better use the squid configuration directive 'url_rewrite_program' instead. #squidguard /usr/local/squidGuard/bin/squidGuard # Path to the clamd socket, use clamd_local if you use Unix socket or if clamd # is listening on an Inet socket, comment clamd_local and set the clamd_ip and # clamd_port to the corresponding value. clamd_local /var/run/clamav/clamd.sock #clamd_ip 192.168.1.5,127.0.0.1 #clamd_port 3310 # Set the timeout for clamd connection. Default is 1 second, this is a good # value but if you have slow service you can increase up to 3. timeout 1 # Force SquidClamav to log all virus detection or squiguard block redirection # to the c-icap log file. logredir 0 # Enable / disable DNS lookup of client ip address. Default is enabled '1' to # preserve backward compatibility but you must desactivate this feature if you # don't use trustclient with hostname in the regexp or if you don't have a DNS # on your network. Disabling it will also speed up squidclamav. dnslookup 1 # Enable / Disable Clamav Safe Browsing feature. You mus have enabled the # corresponding behavior in clamd by enabling SafeBrowsing into freshclam.conf # Enabling it will first make a safe browsing request to clamd and then the # virus scan request. safebrowsing 0 # # Here is some defaut regex pattern to have a high speed proxy on system # with low resources. # # Do not scan images #abort ^.*\.(ico|gif|png|jpg)$ #abortcontent ^image\/.*$ # Do not scan text files #abort ^.*\.(css|xml|xsl|js|html|jsp)$ #abortcontent ^text\/.*$ #abortcontent ^application\/x-javascript$ # Do not scan streamed videos #abortcontent ^video\/x-flv$ #abortcontent ^video\/mp4$ # Do not scan flash files #abort ^.*\.swf$ #abortcontent ^application\/x-shockwave-flash$ # Do not scan sequence of framed Microsoft Media Server (MMS) data packets #abortcontent ^.*application\/x-mms-framed.*$
-
Igual te está jugando una mala pasada la caché del navegador.
Si no es el navegador…
grep proxy.domain.dom *
en /usr/local/pkg y en /cf/config
De hecho resultó ser el cache del navegador, lo vacié y funcionó correctamente
probado en otras estaciones de trabajo con igual efectividad
ahora comenzaré a probar la intercepción HTTPS y monitorear el proxy ahora en rendimiento
Gracias por su ayuda
Ricardo