Instalación de ThunderCache 3.1 paralelo a Mikrotik

Publicado en 'Redes Inalámbricas' por joemg6, 8 Ago 2011.





  1. Firecold

    Firecold Miembro frecuente

    Registro:
    27 Feb 2012
    Mensajes:
    87
    Likes:
    6
    Temas:
    0




    Amigo leandro1979 yo he logrado poner squid como transparent proxy sin problemas hasta ahora, el unico detalle es que mi red esta de esta manera, y talvez no funcione en tu caso:

    Internet --- Servidor Thunder ---- Router ---- Clientes
    0.0.0.0/0--- 192.168.1.1 ---------------------- 192.168.1.2 en adelante
    ppp0 -------- eth0 ----------------------------


    todo empiesa desde la configuracion de squid en la linea:
    http_port 192.168.1.1:3128 intercept # intercept hace que squid sea transparente para los demas clientes, para los que no estan familiarizados con este termino quiere decir es que no hay que hacer ninguna modificacion en las maquinas clientes, al momento de navegar en internet lo van a hacer a travez del proxy quieran o no quieran, es mas la mayoria ni se va enterar. Tambien se puede hacer http_port 3128 intercept.

    El segundo paso es hacer una regla con iptables para enmascarar de este modo

    iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.1.0/24 -j MASQUERADE

    En castellano esta regla dice, cambiar la direccion de origen de todo los paquetes que salen por la interface ppp0, por la dirección IP pública asociada a dicha interface. Cuando los paquetes de respuesta regresen, poner la dirección IP privada en lugar de la dirección IP pública que tendran como destino.
    En esta regla no se esta haciendo ningun tipo de filtrado, solo se esta aplicando el NAT a los paquetes que coinciden con los criterios expresados en la regla (-o ppp0 -s 192.168.1.0/24, paquetes que salen por ppp0 y vienen de la red 192.168.1.0).

    y despues Proxy Transparente.
    Esta regla es de mucha ayuda para los administradores no tener que ir cliente por cliente en la red a configurar sus navegadores web que con esta hacemos un redireccionamiento de puertos en el mismo servidor.
    Toda peticiones que venga por la interfaz de red eth0 y con salida al puerto 80 redirecciona al puerto 3128.

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

    teniendo en cuenta que en mi configuracion yo obtengo internet de ppp0 y la red es eth0, espero ser de ayuda y que sirva de algo, claro no es la unica forma de hacerlo, he visto que lo hacen de distintas maneras, pero a mi me funciona esta. Saludos :yeah: :paz:
     
    Última edición: 5 Set 2012
    A luistec le gustó este mensaje.


  2. willysantana

    willysantana Miembro frecuente

    Registro:
    15 Abr 2012
    Mensajes:
    189
    Likes:
    7
    Temas:
    5
    amigo quien a solucionado la limpieza del thunder.
    tengo problema con la limpieza.
    gracias.


    ya tengo resuelto el thunder 100% del cpu.

    cuando el thunder esta 100% se reinicia el thunder y todo normal.

    esto lo subio un amigo al foro.

    Esto pasa desde siempre con Thunder, lo que armé es un script que comparto con uds, guardenlo en un archivo llamado ####====gthunder.sh====####

    ejemplo /etc/thunder/gthunder.sh

    le dan permisos de ejecucion "chmod +x /etc/thunder/gthunder.sh"

    lo ejecutan en el cron con lo siguiente (en el siguiente ejemplo se ejecuta cada 7 minutos):

    #thunder cpu 100%
    */7 * * * * root /etc/thunder/gthunder.sh

    El script se compone de la siguiente forma:
    Código:

    ############################################################
    #!/bin/bash
    PATH="/bin:/usr/bin:/usr/local/bin"
    P=`ps -o pcpu -C thunder | grep -v CPU | awk '{ s= s + $1 } END { print s }'`
    P=${P/.*/}
    date=$(date)
    if [ $P -gt 89 ] ; then
    sudo echo $date >> /var/log/reinciosTH.log
    sudo /etc/init.d/thunder restart >/dev/null 2>&1
    fi
    ############################################################

    Este script lo que hará es que cada vez que se ejecute sumará las instancias de Thunder,
    y cuando estas superen el 89% (cosa que solo pasa cuando una de las instancias esta colgada, y casi siempre al 100%)
    anotará en un log llamado [reiniciosTH.log] la fecha y hora del reinicio de Thunder,
    y acto seguido reiniciara Thunder para destrabar la instancia colgada.
     
    Última edición: 6 Set 2012
  3. melvincota

    melvincota Miembro nuevo

    Registro:
    3 Jul 2012
    Mensajes:
    21
    Likes:
    0
    Temas:
    1
    alguien tiene disponible algun pluigin para actualizacion del antivirus kaspersky.. tambien tengo otra duda, al parecer el thunder tiene un plugin del antivirus nod32, y me marca hits en el relatorio. pero cada actualizacion de la base de datos simpre la descarga del intrent; sra que esta funcionando este plugin?
     
  4. leandro1979

    leandro1979 Miembro frecuente

    Registro:
    9 Set 2011
    Mensajes:
    63
    Likes:
    4
    Temas:
    0
    como estas gracias por tu interes
    pero tproxy no es un proxy transparente
    se usa para que las ip publicas tambien puedan usar cache
    el funcionamiento es el siguiente
    entra al cache la ip 172.16.1.x y sale del cache la misma ip entonces tu òdrias
    poner el cache en cualquier sitio de tu red y solo redireccinar el trafico
    en cambio como funciona en este momento el cache primero que nada no puedes
    utilizar ip publicas
    segundo todas las ip que entran a tu cache salen con la ip del cache
    esto genera a veces lentitud en la red por que todo sale con la misma publica
    no podriamos hacer muchas cosas que seria destinar poo de ip publicas aleatorias a nuestros clientes
    saludos
    leandro

    ----- mensaje añadido, 06-sep-2012 a las 11:27 -----

    como esta foro
    esto si es de suma importancia si alguien sabe porque thunder llega a matar al cpu 100%
    seria bueno que alguien explicara el porque ocurre esto
    la imagen que voy a adjuntar es de un servidor dl120 g7 xeon
    jamas deberia de ustilizar tanto procesador

    PID USER PR NI VIRT RES SHR S %CPU %MEMTIME+COMMAND
    13882 root 20 0 51772 11m 1344 R 100 0.1 702:26.08 thunder
    29205 root 20 0 51772 11m 1344 R 100 0.1 645:01.27 thunder
    20764 root 20 0 43580 7552 1344 R 98 0.1 211:45.20 thunder
    25691 root 20 0 51772 11m 1344 R 97 0.1 656:21.39 thunder
    1786 proxy 20 0 1382m 1.3g 1896 S 5 9.6 12:12.65 squid
    1401 mysql 20 0 383m 45m 7488 S 0 0.3 2:02.55 mysqld
    13186 root 20 0 39568 2188 1596 S 0 0.0 0:00.01 thunder
    1 root 20 0 8356 840 712 S 0 0.0 0:00.84 init

    no se como insertar imagenes que tengo en mi cpu
    pero peden ver que tengo 3 procesos thunder y estan al 100% el cpu

    gracias
    leandro
     
  5. willysantana

    willysantana Miembro frecuente

    Registro:
    15 Abr 2012
    Mensajes:
    189
    Likes:
    7
    Temas:
    5
    ya tengo resuelto el thunder 100% del cpu.

    cuando el thunder esta 100% se reinicia el thunder y todo normal.

    esto lo subio un amigo al foro.

    Esto pasa desde siempre con Thunder, lo que armé es un script que comparto con uds, guardenlo en un archivo llamado ####====gthunder.sh====## ##

    ejemplo /etc/thunder/gthunder.sh

    le dan permisos de ejecucion "chmod +x /etc/thunder/gthunder.sh"

    lo ejecutan en el cron con lo siguiente (en el siguiente ejemplo se ejecuta cada 7 minutos):

    #thunder cpu 100%
    */7 * * * * root /etc/thunder/gthunder.sh

    El script se compone de la siguiente forma:
    Código:

    ######################### ######################### ##########
    #!/bin/bash
    PATH="/bin:/usr/bin:/usr/local/bin"
    P=`ps -o pcpu -C thunder | grep -v CPU | awk '{ s= s + $1 } END { print s }'`
    P=${P/.*/}
    date=$(date)
    if [ $P -gt 89 ] ; then
    sudo echo $date >> /var/log/reinciosTH.log
    sudo /etc/init.d/thunder restart >/dev/null 2>&1
    fi
    ######################### ######################### ##########

    Este script lo que hará es que cada vez que se ejecute sumará las instancias de Thunder,
    y cuando estas superen el 89% (cosa que solo pasa cuando una de las instancias esta colgada, y casi siempre al 100%)
    anotará en un log llamado [reiniciosTH.log] la fecha y hora del reinicio de Thunder,
    y acto seguido reiniciara Thunder para destrabar la instancia colgada.
     
  6. Firecold

    Firecold Miembro frecuente

    Registro:
    27 Feb 2012
    Mensajes:
    87
    Likes:
    6
    Temas:
    0
    Amigo leandro es cierto de la forma que yo lo hago no hace cache de ips publicas, pero no quiere decir que no se pueda, para eso esta la opcion http_port 3128 intercept, sin colocar ninguna ip la cual haria cache de cualquier ip que se encuentre a su alcance, es mas con solo que este en la misma red podrias hacer cache de cualquier ip, solo se nesecita redireccionar el trafico y simplemente no se enmascara, de igual manera solo lo hago para incrementar la seguridad, puede vincularse el servicio a una IP que solo se pueda acceder desde la red local, pero igual si quieres saber mas sobre tproxy de dejo este enlace http://wiki.squid-cache.org/Features/Tproxy4 y http://www.linuxinfo.com.br/squid_tproxy_ubuntu.htm, espero te sirva, Saludos :yeah: :paz:
     
    Última edición: 6 Set 2012
  7. dgonzaleznet

    dgonzaleznet Miembro maestro

    Registro:
    24 Oct 2011
    Mensajes:
    406
    Likes:
    41
    Temas:
    18
    Nessa a mi me paso lo mismo que tu una vez y formatie... no encontraba la solución...

    Me he dado cuenta y estaba conversando con leandro que el thunder suele usar el 100% del procesador y que eso relentiza la navegación un tanto... ahora he mandado abajo mi thunder y toda solicitud al internet se hace de manera mas dinamica osea que si abro yahoo.com con el thunder demora unos 5 segundos mientras que sin el thunder abre en 2 ese es un ejemplo por decirlo de manera figurada... y en las horas picos pues la navegación se estaba tornando media insufrible...

    Entonces por ahora tengo abajo mi thunder estoy considerando en hacer un dns local para poder ayudar en la navegación de mi red interna, actualmente tengo 17 mbps de navegacion y estoy casi saturado con 110 clientes...

    Esperare un poco y hare labs a ver si se puede solucionar esto... no me toca de otra... por ahora podria meter thunder en los cybers cafes y locutorios que tienen una red cableada y por consiguiente de mayor velocidad throughput... ese es otro asunto que satura mi red...

    So long mis panas... a ver que pasa
     
  8. leandro1979

    leandro1979 Miembro frecuente

    Registro:
    9 Set 2011
    Mensajes:
    63
    Likes:
    4
    Temas:
    0
    como estas buenas tardes
    tu script arace bien pero no es factible
    el momento que detienes el thunder el servicio se cae
    osea los que esten biendo videos decargando archivos y habrindo una pagina
    o chat se caerian hasta que suba de nuevo el thunder lo mejor seria recompilar thunder
    saludos
    leandro

    ----- mensaje añadido, 06-sep-2012 a las 14:11 -----

    como estas
    por lo que veo usas squid 3.2.x te comento para que sea tproxy no es tan simple hay que compilar el squid en mi caso el 2.7 para que funcione con tproxy aparte de eso hay ya no se redireccionaria el trafico al squid ya que se necesita enrutar y crear iptables para que hacepte tproxy el inconveniente no es el tproxy yo lo configuro perfectamente el inconveniente es el thunder que no se como redireccionar para que funcione con este metodo
    saludos
    leandro
     
  9. willysantana

    willysantana Miembro frecuente

    Registro:
    15 Abr 2012
    Mensajes:
    189
    Likes:
    7
    Temas:
    5
    amigo pero tu tiene el thunder abajo?.
    pero estas usando squid por lo meno?, o no tiene ningún server?
    porque apagaste tu thunder?
     
  10. dgonzaleznet

    dgonzaleznet Miembro maestro

    Registro:
    24 Oct 2011
    Mensajes:
    406
    Likes:
    41
    Temas:
    18
    lo apague por las razones que decia arriba
     
  11. willysantana

    willysantana Miembro frecuente

    Registro:
    15 Abr 2012
    Mensajes:
    189
    Likes:
    7
    Temas:
    5
    ya entendí la navegación era mas lenta con thunder.

    descubriste el fallo del server.
     
  12. Nessa

    Nessa Miembro nuevo

    Registro:
    21 Jul 2012
    Mensajes:
    31
    Likes:
    9
    Temas:
    0
    Tienes razón, he realizado pruebas y siempre que se trabaja con cache sea squid, thundercache, o webproxy de mikrotik se tiene un incremento en la latencia de la navegación.

    Voy a reinstalar nuevamente todo el servidor, gracias por la respuesta.
     
  13. leandro1979

    leandro1979 Miembro frecuente

    Registro:
    9 Set 2011
    Mensajes:
    63
    Likes:
    4
    Temas:
    0
    buenas noches
    siempre que se usa squid transparente se hace mas lento el proceso de resolucion pero eso ha ocurrido siempre
    para los que el cache se les hace muy lento mas de lo normal al punto que la navegacion demora mucho
    leer sobre
    filedescriptors
    realizar lo siguiente
    apt-get install squid squidclient squid-cgi
    despues corran este comando
    squidclient -h 127.0.0.1 mgr:info
    y vean al final cuantos filedescriptors tienen y cuantos usan

    segun eso pueden saber si la lentitud es por falta de threads

    saludos
    leandro
     
  14. Firecold

    Firecold Miembro frecuente

    Registro:
    27 Feb 2012
    Mensajes:
    87
    Likes:
    6
    Temas:
    0
    No se si estoy mal pero esto no deberia redireccionar:

    #----------------------------------------------------------------------
    #Redireccionamiento Thunder - REGEx
    #----------------------------------------------------------------------
    acl thunder_lst url_regex -i \"/etc/thunder/thunder.lst\"
    cache deny thunder_lst
    cache_peer $IP_DE_MAQUINA parent 8080 0 proxy-only no-digest
    dead_peer_timeout 2 seconds
    cache_peer_access $IP_DE_MAQUINA allow thunder_lst
    cache_peer_access $IP_DE_MAQUINA deny all
    #----------------------------------------------------------------------


    puede que me equivoque, pero creo si colaboramos podemos hacer esto posible, y es mas facil con squid 3.1 que con squid 2.7, a mi parecer claro esta, espero que lleguemos conjuntamente a una solucion viable.

    Creo que la mayoria dejo el thunder, con el default dependiendo de nuestra red, hay que subir algunos parametros, por ejemplo:

    ipcache_size 50000
    fqdncache_size 25000
    max_filedescriptors 65000
    aparte poner el cache de squid en otro disco, ayuda un poco, en lo personal nunca se me ha puesto lenta la navegacion, pero entiendo que muchos tienen muchos clientes y sigo diciendo habria que ver que version de squid funciona mejor, creo que desde la 2.7 para aca a habido algunas mejoras. :paz: :paz:
     
  15. leandro1979

    leandro1979 Miembro frecuente

    Registro:
    9 Set 2011
    Mensajes:
    63
    Likes:
    4
    Temas:
    0
    como estas
    usas debian o ubuntu por mi ni habria problema usar squid 3.x.x
    cuantos usuarios tienes corriendo en tu thunder

    como tu sabes para cambiar los filedescriptors no solo hay que subir en el squid hay que cambiar todo el sistema para que sean aceptados

    si quieres podemos postear un poco de info para ayudar al foro

    usaste malloc para que el consumo de memoria sea minimo y se restablesca

    saludos
    leandro
     
  16. Firecold

    Firecold Miembro frecuente

    Registro:
    27 Feb 2012
    Mensajes:
    87
    Likes:
    6
    Temas:
    0
    Uso ubuntu 12.04, tengo 15 usuarios, para los que no sepan que son los filedescriptors aqui un enlace: http://www.reloco.com.ar/linux/prog/fds.html, y para cambiar el numero se filedescriptors aqui otro enlace: http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/ este enlace les dice como modificarlos, pero no vallan a poner los valores que dice el enlace, eso es dependiendo lo que neseciten, cuando les toque editar /etc/security/limits.conf, les recomiendo no escribir lo que dice el enlace si no algo asi:

    Código:
    *        soft        nofile      4096 # en 4096 lo que consideren necesario
    *        hard       nofile      10240 # en 10240 lo que consideren necesario
    
    reinicien y me cuentan, y aleandro que es malloc, disculpa mi ignorancia pero no se que es, Saludos :paz: :paz:
     
  17. leandro1979

    leandro1979 Miembro frecuente

    Registro:
    9 Set 2011
    Mensajes:
    63
    Likes:
    4
    Temas:
    0
    15 usuarios no hace falta hacer ningun cambio
    hasta 100 funciona con el script

    si tienes que modificar el filedescriptor con muy pocos usarios
    es porque algun o algunos usuarios tienen virus y te inundan de peticiones tcp
    alservidor

    es recomendable que para los home crees reglas que no pasen de 80 conexiones y un cyber puede ser de 120 a 150 conexiones
    si son mas es virus
    puedes crear listas en mikrotik que te diga que usuarios exeden estos parametros para que se den cuanta de quien tiene virus en la red

    saludos
    leandro
     
  18. Firecold

    Firecold Miembro frecuente

    Registro:
    27 Feb 2012
    Mensajes:
    87
    Likes:
    6
    Temas:
    0
    Disculpa amigo, creo que te estas equivocando, yo no dije para mi si no para los que tienen muchos clientes, en mi caso como dije anteriormente nunca se me lenteado el internet, pero es bueno todo esto porque me imagino que a alguien le puede servir, como siempre espero haber ayudado en algo, Saludos :yeah: :paz:
     
  19. willysantana

    willysantana Miembro frecuente

    Registro:
    15 Abr 2012
    Mensajes:
    189
    Likes:
    7
    Temas:
    5
    hola amigo, en mi red tengo 70 clientes y tengo 10mega de Internet con 2 año usando el thunder
    no e notado lentitud.
    al parecer con la configuración de joeng todo va bien.
    solo que el thunder 100% aveses. y el thunder no limpia el cache.
    el error de mysql.

    alguien lo resolvió.

    gracias.
     
  20. btocarmona

    btocarmona Miembro frecuente

    Registro:
    22 Oct 2011
    Mensajes:
    77
    Likes:
    6
    Temas:
    1
    sres el plugin de Mercadolibre me causa que la pagina se vea descompaginada les pasa a ustedes?

    #include <iostream>
    #include <cstring>
    #include <vector>
    #include "../utils.cpp"

    // use this line to compile
    // g++ -I. -fPIC -shared -g -o mlstatic.com.so mlstatic.com.cpp
    // regex
    // http.*\.mlstatic\.com.*(\.jpg|\.png|\.gif)


    string get_filename(string url) {
    vector<string> resultado;
    if (url.find("?") != string::npos) {
    stringexplode(url, "?", &resultado);
    stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
    return resultado.at(resultado.size()-1);
    } else {
    stringexplode(url, "/", &resultado);
    return resultado.at(resultado.size()-1);
    }
    }

    extern "C" resposta getmatch(const string url) {
    resposta r;

    if ( (url.find(".mlstatic.com") != string::npos)
    ) {

    r.file = get_filename(url);
    if (!r.file.empty()) {
    r.match = true;
    r.domain = "MercadoLibre";
    } else {
    r.match = false;
    }
    } else {
    r.match = false;
    }
    return r;
    }
     
Etiquetas: