Forwarding Loop

Publicado por ruso17, Enero 28, 2015, 08:17:50 AM

Tema anterior - Siguiente tema

ruso17

Estimados, me encuentro con el problema de que tengo un loop de redireccion y no logro dar con la solucion, adjunto los logs y las configuraciones para ver que puede ser el problema:

Squid.conf
#========================== Squid 3.x Conf ===========================#
#
# Opciones de SQUID 3.x
#----------------------------------------------------------------------
http_port 3128 intercept
visible_hostname proxy.os.com
icp_port 0
#----------------------------------------------------------------------
#error_directory /usr/share/squid3/errors/Spanish/
#----------------------------------------------------------------------
acl denegados url_regex -i "/etc/squid3/denegados.lst"
#----------------------------------------------------------------------
# Servidor DNS y Politica de Cambios
#----------------------------------------------------------------------
dns_nameservers 8.8.8.8 8.8.4.4
dns_retransmit_interval 5 seconds
dns_timeout 2 minutes
#----------------------------------------------------------------------
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl CONNECT method CONNECT

acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl SSL_ports port 443
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 Safe_ports port 631         # cups
acl Safe_ports port 873         # rsync
acl Safe_ports port 901         # SWAT
acl Safe_ports port 1863        # MSN
#acl SSL_ports port 443          # https
acl SSL_ports port 563          # snews
acl SSL_ports port 873          # rsync

http_access allow manager localhost
http_access deny manager all
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny denegados
#----------------------------------------------------------------------
coredump_dir /var/spool/squid3
#----------------------------------------------------------------------
# Memoria reservada para cache
#----------------------------------------------------------------------
cache_mem 7168 MB
#----------------------------------------------------------------------
# Maximo tamaño de archivo en cache de memoria
#----------------------------------------------------------------------
maximum_object_size_in_memory 640 KB
#----------------------------------------------------------------------
# Maximo y minimo tamaño de archivos cache en el Disco duro
#----------------------------------------------------------------------
maximum_object_size 30 MB
minimum_object_size 4 KB
#----------------------------------------------------------------------
# Sustituir archivos de cache cuando llegue a 96%
#----------------------------------------------------------------------
cache_swap_low 92
cache_swap_high 96
#----------------------------------------------------------------------
# Total de espacio en HD a ser usado por el cache, numero de carpetas,
# numero de subcarpetas en cache
# 100000 = 100 GB
#----------------------------------------------------------------------
cache_dir aufs /var/spool/squid3/cache1 100000  16 256
#----------------------------------------------------------------------
# Estandar de actualización de cache
# 1 mes = 10080 mins, 1 dia = 1440 mins
#----------------------------------------------------------------------
refresh_pattern -i .(gif|png|jp?g|ico|bmp|tiff?)$ 14400 80% 43200 reload-into-ims
refresh_pattern -i .(swf|htm|html|shtm|shtml|nub)$ 14400 80% 43200 reload-into-ims
refresh_pattern -i .(rpm|cab|deb|exe|msi|msu|zip|tar|xz|bz|bz2|lzma|gz|tgz|rar|bin|7z|doc?|xls?|ppt?|pdf|nth|psd|sis)$ 14400 80% 43200
refresh_pattern -i .(avi|iso|wav|mid|mp?|mpe?g?|mpeg|mov|3gp|wm?|flv|x-flv|axd)$ 14400 80% 43200
refresh_pattern -i .(qtm?|viv|au|ram?|snd|sit|hqx|arj|lzh|lha|txt|rtf|tex|latex|class|js|ico)$ 14400 80% 43200
refresh_pattern -i \.a[0-9][0-9]$ 14400 80% 43200
refresh_pattern -i \.r[0-9][0-9]$ 14400 80% 43200
refresh_pattern -i \.css$ 10 20% 4320
#----------------------------------------------------------------------
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
#refresh_pattern (Release|Package(.gz)*)$       0       20%     2880
refresh_pattern .               0       20%     4320
#----------------------------------------------------------------------
# Log de acessos por el cache o para SARG
#----------------------------------------------------------------------
logfile_rotate 7
access_log /var/log/squid3/access.log
access_log /var/log/squid3/error.log
cache_store_log none
#----------------------------------------------------------------------
# Otras configuraciones
#----------------------------------------------------------------------
half_closed_clients off
server_persistent_connections off
client_persistent_connections off
log_fqdn off
quick_abort_min 0 KB
quick_abort_max 0 KB
quick_abort_pct 95
max_filedescriptors 815146
cache_effective_user proxy
cache_effective_group proxy
#----------------------------------------------------------------------
# Manteniendo objetos recientes y pequeños en memoria
#----------------------------------------------------------------------
memory_replacement_policy heap GDSF
cache_replacement_policy heap LFUDA
#----------------------------------------------------------------------
# Sitios que se les niega el cache 
#----------------------------------------------------------------------
acl nocache dstdomain .4shared.com .youtube.com .windowsupdate.com .gl$
no_cache deny nocache
#----------------------------------------------------------------------
# Deny cache                             
#----------------------------------------------------------------------
acl dontrewrite url_regex (get_video\?|videoplayback\?|videodownload\?|\.flv?)
acl dontrewrite url_regex (get_video\?|videoplayback\?id|videoplayback.*id|videodownload\?|\.flv?)
acl dontrewrite url_regex (get_video|videoplayback\?id|videoplayback.*id).*begin\=[1-9][0-9]*
acl dontrewrite url_regex \.(php|asp|aspx|jsp|cgi|js)\?
acl dontrewrite url_regex threadless.*\.jpg\?r=
acl dontrewrite url_regex -i .(asx|asf)$
cache deny dontrewrite
#----------------------------------------------------------------------
acl raptor_lst url_regex -i "/etc/raptor/raptor.lst"
cache deny raptor_lst
cache_peer 192.168.55.102 parent 8080 0 proxy-only no-digest
dead_peer_timeout 2 seconds
cache_peer_access 192.168.55.102 allow raptor_lst
cache_peer_access 192.168.55.102 deny all
#----------------------------------------------------------------------

Squid -v:
Squid Cache: Version 3.1.20
configure options: 
'--build=x86_64-linux-gnu'
'--prefix=/usr'
'--includedir=${prefix}/include'
'--mandir=${prefix}/share/man'
'--infodir=${prefix}/share/info'
'--sysconfdir=/etc'
'--localstatedir=/var'
'--libexecdir=${prefix}/lib/squid3'
'--srcdir=.'
'--disable-maintainer-mode'
'--disable-dependency-tracking'
'--disable-silent-rules'
'--datadir=/usr/share/squid3'
'--sysconfdir=/etc/squid3'
'--mandir=/usr/share/man'
'--with-cppunit-basedir=/usr'
'--enable-inline'
'--enable-async-io=128'
'--enable-storeio=ufs,aufs,diskd'
'--enable-removal-policies=lru,heap'
'--enable-delay-pools'
'--enable-cache-digests'
'--enable-underscores'
'--enable-icap-client'
'--enable-follow-x-forwarded-for'
'--enable-auth=basic,digest,ntlm,negotiate'
'--enable-basic-auth-helpers=LDAP,MSNT,NCSA,PAM,SASL,SMB,YP,DB,POP3,getpwnam,squid_radius_auth,multi-domain-NTLM'
'--enable-ntlm-auth-helpers=smb_lm,'
'--enable-digest-auth-helpers=ldap,password'
'--enable-negotiate-auth-helpers=squid_kerb_auth'
'--enable-external-acl-helpers=ip_user,ldap_group,session,unix_group,wbinfo_group'
'--enable-arp-acl'
'--enable-esi'
'--enable-zph-qos'
'--enable-wccpv2'
'--disable-translation'
'--with-logdir=/var/log/squid3'
'--with-pidfile=/var/run/squid3.pid'
'--with-filedescriptors=815732'
'--with-large-files'
'--with-default-user=proxy'
'--enable-linux-netfilter'
'build_alias=x86_64-linux-gnu'
'CFLAGS=-g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall'
'LDFLAGS=-fPIE -pie -Wl,-z,relro -Wl,-z,now'
'CPPFLAGS=-D_FORTIFY_SOURCE=2'
'CXXFLAGS=-g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security'
--with-squid=/usr/src/squid/squid3-3.1.20


hosts:
127.0.0.1 localhost.localdomain localhost
192.168.55.102 proxy.os.com proxy
#
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
fe00::0 ip6-mcastprefix
ff02:1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts


Script IpTables
#!/bin/bash
echo ";;;;;;;;;;;;;;;;;;;;;;;"
echo ";     RaptorCache     ;"
echo ";;;;;;;;;;;;;;;;;;;;;;;"

#Borrar cadenas anteriores
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

#Condiciones por defecto
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

#Aceptamos el localhost
iptables -A INPUT -i lo -j ACCEPT

#Aceptamos la red local
iptables -A INPUT -s 192.168.55.0/24 -j ACCEPT

iptables  -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

echo 1 > /proc/sys/net/ipv4/ip_forward


Interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback


Resolv.conf
# Generated by NetworkManager
domain inacom
search inacom
nameserver 127.0.0.1
nameserver 192.168.55.1
nameserver 8.8.8.8


Y por ultimo cahe.log
2015/01/28 10:08:30| WARNING: Forwarding loop detected for:
HEAD / HTTP/1.1
Host: 192.168.55.102:3128
Via: 1.0 proxy.os.com (squid/3.1.20), 1.1 proxy.os.com (squid/3.1.20), 1.1 proxy.os.com (squid/3.1.20), 1.1 proxy.os.com (squid/3.1.20), 1.1 proxy.os.com (squid/3.1.20)
X-Forwarded-For: 10.1.1.100, 192.168.55.102, 192.168.55.102, 192.168.55.102, 192.168.55.102, 192.168.55.102, 192.168.55.102, 192.168.55.102, 192.168.55.102, 192.168.55.102, 192.168.55.102, 192.168.55.102, 192.168.55.102, 192.168.55.102, 192.168.55.102, 192.168.55.102, 192.168.55.102
Cache-Control: max-age=259200

2015/01/28 10:08:30| ctx: enter level  0: 'http://192.168.55.102:3128/'
2015/01/28 10:08:30| HttpMsg::parse: Too large reply header (65636 > 65536
2015/01/28 10:08:31| ctx: exit level  0
2015/01/28 10:08:31| ctx: enter level  0: 'http://192.168.55.102:3128/'
2015/01/28 10:08:31| HttpMsg::parse: Too large reply header (65632 > 65536


A este ultimo le borre un par de cientos de lineas repetidas (basicamente se repetia la version de squid y la direccion ip de raptor)

Como datos adicionales, el error no lo hacia hasta antes de volver a compilar squid3 con la modificacion de '--with-filedescriptors=815732' y '--enable-async-io=128' y hasta ahi usaba raptor sin reglas de firewall sin que aparezca el problema, aunque no puedo tener certeza

NO UTILIZO MK, tengo un pfsense con una regla de nat que redirecciona todos los hosts de determinada subred (de prueba, claro esta):
If Proto Src. addr Src. ports Dest. addr Dest. ports NAT IP NAT Ports Description
LAN TCP 10.1.6.0/24 * * 80 (HTTP) 192.168.55.102 3128 prueba nat


Hardware utilizado:
Debian GNU/Linux 7.8 (wheezy) / 28-01-2015 08:27 am
Intel(R) Xeon(R) CPU E3-1220 V2 @ 3.10GHz - 4 cores (64 bits) / 7.79 GiB RAM

   Disco    S.M.A.R.T.    Modelo    Espacio    Temp.
1    /dev/sda    Enabled    Western Digital Caviar Black    931.51 GiB    46 °C
2    /dev/sdb    Enabled    Western Digital Caviar Black    931.51 GiB    45 °C
3    /dev/sdc    Enabled    Uknow    111.79 GiB    41 0 °C
Caché Dir.    Espacio Total    Espacio Usado    Espacio Libre    Obj. en Caché    % Usado    % Libre
/raptorcache    1832.78 GiB    139.25 GiB    1693.53 GiB    278.737    8 %    92 %

ruso17

Nadie? Aunque sea como para cambiar el punto de vista y buscar alternativas

firecold

Cita de: ruso17 en Enero 29, 2015, 02:55:02 PM
Nadie? Aunque sea como para cambiar el punto de vista y buscar alternativas

Perdona amigo no habia visto tu publicacion, pero normalmente es por algun problema de configuracion, puedes ver este enlace: Enlace, Saludos

ruso17

 ;D
Fire, ahora el colgado que nunca vio la respuesta fui yo!
Igualmente, en ese entonces apague mi servidor, era demasiado tiempo que me quitaba, estoy probando la version 2, sin ese problema en la instalacion por defecto + el patch de la limitacion de 40

firecold

Cita de: ruso17 en Septiembre 25, 2015, 06:15:41 PM
;D
Fire, ahora el colgado que nunca vio la respuesta fui yo!
Igualmente, en ese entonces apague mi servidor, era demasiado tiempo que me quitaba, estoy probando la version 2, sin ese problema en la instalacion por defecto + el patch de la limitacion de 40

Asi parece, pero no se preocupe que la nueva actualizacion viene con grandes mejoras que igualan hasta los mejores sistemas de cache, Saludos