+ Responder ao Tópico



  1. #1

    Padrão Internet lenta com o squid

    Ola meus caros, estou um problema, a minha conexão com a internet fica muito lenta uns 10 minutos depois que o squid é ativado, eu tenho um link de banda larga de 1,2 mega, gostaria de saber como posso solucionar este problema. Obs: tenho 10 maquinas que usam o filtro do proxy. Minha maquina é um p4 com 512mb de ram, hd ide de 80gb e placa mae asus, tenho duas placas de rede uma que recebe a net a eth0 e a outra que compartilha a eth1 segue abaixo o conf de meu squid e do meu iptables.

    Este é meu squid.conf
    ======================================================
    http_port 3128
    hierarchy_stoplist cgi-bin ?
    acl QUERY urlpath_regex cgi-bin \?
    no_cache deny QUERY
    cache_dir ufs /var/spool/squid 128 16 256
    cache_mem 16 MB
    cache_swap_low 90
    cache_swap_high 95
    maximum_object_size 4096 KB
    minimum_object_size 0 Kb
    maximum_object_size_in_memory 4096 KB
    acl manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    client_netmask 255.255.255.0
    cache_access_log /var/log/squid/access.log
    cache_log /var/log/squid/cache.log
    cache_swap_log /var/log/squid/swap.log
    acl rede src 192.168.4.0/24
    acl SSL_ports port 443 563
    acl Safe_ports port 21
    acl Safe_ports port 22
    acl Safe_ports port 80
    acl Safe_ports port 70
    acl safe_ports port 110
    acl safe_ports port 25
    acl safe_ports port 995
    acl Safe_ports port 210
    acl Safe_ports port 280
    acl Safe_ports port 488
    acl Safe_ports port 591
    acl Safe_ports port 771
    acl Safe_ports port 1025-65535
    acl CONNECT method CONNECT
    acl permitir_rede src 192.168.4.0
    #acl proibir_sitios url_regex -i "/etc/squid/sitios"
    acl daniel src 192.168.0.55
    acl proibir_palavras url_regex -i "/etc/squid/palavras.txt"
    acl liberadas url_regex "/etc/squid/liberadas.txt"
    acl downloads urlpath_regex -i "/etc/squid/download.txt"
    acl all src 0.0.0.0/0.0.0.0
    #http_access deny proibir_sitios
    http_access allow daniel
    http_access allow liberadas
    http_access deny proibir_palavras
    http_access allow manager localhost
    http_access allow permitir_rede
    #http_access deny manager
    http_access allow !Safe_ports
    http_access deny CONNECT !SSL_ports
    http_access deny downloads
    #http_access deny all
    icp_access allow all
    miss_access allow all
    cache_effective_user squid
    cache_effective_group squid
    visible_hostname squid.servidor.intranet
    httpd_accel_host virtual
    httpd_accel_port 80
    httpd_accel_with_proxy on
    httpd_accel_uses_host_header on
    ====================================================
    Este é meu firewall.conf com as regras do iptables
    #!/bin/bash

    iniciar(){

    echo "Iniciando Firewall"
    echo "Zerando regras"

    iptables -F
    iptables -Z
    iptables -X
    iptables -t nat -F

    echo "Compartilhando Conexao"
    modprobe iptable_nat
    echo 1 > /proc/sys/net/ipv4/ip_forward
    #iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0 -j MASQUERADE
    iptables -t nat -A POSTROUTING -j MASQUERADE
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to 3128
    iptables -t nat -A PREROUTING -i eth1 -p udp --dport 80 -j REDIRECT --to 3128
    iptables -A INPUT -p tcp -f --dport 7001 -j DROP
    iptables -A INPUT -p udp -f --dport 7001 -j DROP
    iptables -A OUTPUT -p tcp -f --dport 7001 -j DROP
    iptables -A OUTPUT -p udp -f --dport 7001 -j DROP


    echo "Liberando portas necessarias"

    echo "SSH"
    iptables -A INPUT -p tcp -m tcp --dport 4980 -j ACCEPT
    iptables -A OUTPUT -p tcp -m tcp --dport 4980 -j ACCEPT
    iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
    iptables -A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT

    echo "Liberando outlook"
    iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
    iptables -A INPUT -p tcp -m tcp --dport 995 -j ACCEPT
    iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT

    #echo "Acesso a DNS da Print"
    #iptables -A OUTPUT -d 200.225.197.37 -j ACCEPT
    #iptables -A OUTPUT -d 200.225.197.34 -j ACCEPT
    #ipatbles -A INPUT -s 200.225.197.37 -j ACCEPT
    #iptables -A INPUT -s 200.225.197.34 -j ACCEPT

    echo "Navegacao"
    iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
    iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

    echo "FTP"
    iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    iptables -A INPUT -p tcp --dport 20 -j ACCEPT
    iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT
    iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT

    echo "Servidor Apache"
    iptables -A INPUT -p tcp --dport 60000 -j ACCEPT

    echo "Firebird SQL Server"
    iptables -A INPUT -p tcp --dport 3050 -j ACCEPT

    echo "Liberando Mysql"
    iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

    #echo "Fechando portas conhecidas"
    #iptables -A INPUT -p tcp -i eth0 -m multiport --destination-port
    #23,25,80,111,113,137,139,6667 -j DROP

    echo "Aceitando pacostes da rede interna"
    iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
    }

    parar(){
    iptables -F -t nat
    }

    case "$1" in
    "start") iniciar ;;
    "stop") parar ;;
    "restart") parar; iniciar ;;
    *) echo "Use os parametros start ou stop"
    esac

    Me ajudem, ja procurei na net mas ate agora nada faz a net ficar mais rapida. Obrigado.

  2. #2

    Thumbs up

    rolldbm, bom dia ..........

    Eu já tive um problema desse. E era o arquivo access.log que estava gigantesco. Não sei se esse é o seu problema.
    Mas dê uma olhada. eu aproveitei e apaguei todos os logs do Squid.
    E voltou a funcionar normal.
    Mas, vc já viu também junto a sua operadora de internet, se isso tem a ver, com essa lentidão ? Também já aconteceu na empresa onde trabalhei, que depois de apagar os logs, e verificar várias coisas na rede e nada. Aí comuniquei a operadora aqui (BrasilTelecom), e os caras virem, e constatarem que na central deles a porta de conexão estava com problemas. Aí os caras mudaram a conexão para outra porta na central e tudo voltou ao normal.
    Não se estresse amigo. Informática, tudo é possível ......
    Como diz o Chavez, " ... não se irrite ... " ....


  3. #3

    Padrão

    o meu access.log ta com 20mb, ja estive com o tecnico responsavel pela internet i ta tudo ok, vou tentar apagar o log e fazer o teste obrigado pela resposta.

  4. #4
    ccmalarm
    Visitante

    Wink Como a pergunta foi inteligente,,, amigo seu problema esta bem aqui...

    maximum_object_size 4096 KB

    maximum_object_size_in_memory 4096 KB

    seu squid acima...


    acho que voce tinha a intenção de fazer ele salvar o maximo possivel me disco porem se equivocou na configuração
    Tente assim:

    maximum_object_size 710000 KB

    (assim caso algum dos seus clientes tenha costume de baixar ISO de CD cada vez q ele fizer o download do mesmo arquivo ja vai esta la no disco do servidor)

    o grande equivoco esta nessa linha ai:

    maximum_object_size_in_memory 4096 KB

    (mude para no maximo 128 KB pq se nao vai comer toda sua ram e deixar lentoooo sem falar q nao vai estar salvando nada menor de 4mb no disco e junto com sua regra anterior ficaria assim "salva tudo q tiver ate 4096 na RAM e nao salve nada no disco)
    Ficando assim um absusdo total!
    deixe ela assim:
    maximum_object_size_in_memory 128 KB (ou menos que isso)


    porem ao mudar essas 2 linhas é necessario que vc deixe a seguinte linha assim:

    cache_mem 32 MB (ou mesmo 64)
    cache_dir ufs /var/cache/squid 3000 16 256


    teste e depois me diga como ficou!!


    ate logo e foi um prazer ajudar!
    afinal perguntas inteligentes merecem respostas!

  5. #5

    Padrão

    meu caro, obrigado pela resposta, vou testar e lhe envio outra msn com o resultado, qualquer coisa estou aki, para ajudar quem precisar. t+