+ Responder ao Tópico



  1. #1

    Padrão proxy transparente squid3 no fedora 11 não funciona

    Ola a todos,

    Pessoal trabalho em uma secretaria de educação de uma cidade no interior do ceará e não estou conseguindo configurar o squid 3 no fedora 11 como proxy transparente, só funciona se eu setar nos browses dos terminais. Acontece que são muitos computadores e tem muitos visitantes que usam a rede wireless. Então o proxy é muito importante, até porque tenho que bloquear conteudo indesejaveis.

    Meu squid.conf está configurado assim.

    http_port 3128 transparent
    cache_mem 8 MB
    hierarchy_stoplist cgi-bin ?
    acl QUERY urlpath_regex cgi-bin \?
    no_cache deny QUERY
    cache_dir diskd /var/spool/squid 30000 16 256
    cache_access_log /var/log/squid/access.log
    cache_log /var/log/squid/cache.log
    cache_store_log none
    refresh_pattern ^ftp: 1440 20% 10080
    refresh_pattern ^gopher: 1440 0% 1440
    refresh_pattern . 0 20% 4320
    half_closed_clients off
    acl blocked url_regex -i "/etc/squid/bloqueados/block.txt"
    acl unblocked url_regex -i "/etc/squid/bloqueados/unblock.txt"
    acl manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl to_localhost dst 127.0.0.0/8
    acl SSL_ports port 443 563
    acl Safe_ports port 80 # http
    acl Safe_ports port 21 # ftp
    acl Safe_ports port 443 563 # https, snews
    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 CONNECT method CONNECT
    http_access allow manager localhost
    http_access deny manager
    http_access deny !Safe_ports
    http_access deny CONNECT !SSL_ports
    http_access allow to_localhost
    http_access deny blocked !unblocked
    acl mynetwork src 192.168.0.0/24
    http_access allow localhost
    http_access allow mynetwork
    http_reply_access allow all
    icp_access allow all
    deny_info ERR_ACCESS_DENIED all
    memory_pools off
    coredump_dir /var/spool/squid
    ie_refresh on


    dentro do rc.local eu coloquei as seguintes regras de iptables:

    #!/bin/sh
    #
    # This script will be executed *after* all the other init scripts.
    # You can put your own initialization stuff in here if you don't
    # want to do the full Sys V style init stuff.

    touch /var/lock/subsys/local

    modprobe ip_tables
    modprobe ip_conntrack
    modprobe iptable_filter
    modprobe iptable_nat
    modprobe ip_conntrack_ftp
    modprobe ip_nat_ftp

    iptables -F
    iptables -t nat -F

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

    iptables -t nat -A PREROUTING -p tcp -m multiport -s 192.168.0.0/255.255.255.0 --dport 80 -i eth0 -j REDIRECT --to-ports 3128
    iptables -t nat -A PREROUTING -p tcp -m multiport -s 192.168.0.0/255.255.255.0 --dport 8080 -i eth0 -j REDIRECT --to-ports 3128


    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE

    agradeço qualquer ajuda.

    Antonio Sales

  2. #2
    Analista de Sistemas Avatar de MDdantas
    Ingresso
    Apr 2007
    Localização
    Caruaru - Pernambuco
    Posts
    422

    Padrão

    @science,

    boa noite. Primeiramente, acrescente as seguintes linhas na configuração do seu squid.conf:


    visible_hostname nome do servidor
    maximum_object_size_in_memory 512 KB - vai depender do tamanho dos arquivos na memoria que vc irá querer
    maximum_object_size 8192 KB - Vai depender do tamanho dos arquivos que você irá querer realizar cache
    minimum_object_size 0 KB
    cache_swap_low 80
    cache_swap_high 90

    Após resconfigurar o seu squid.conf, vamos agora modificar o seu rc.local:

    Apague tudo e acrescente apenas essas linhas.

    iptables -t nat -A PREROUTING -i ethX -p TCP --dport 80 -j REDIRECT --to-port 3128
    iptables -t nat -A POSTROUTING -o ethY -j MASQUERADE

    lembrando que terás que verificar qual a tua placa conectada com a rede ethX e qual a tua placa conectada com o link da internet ethY.

    Agora ative o redirecionamento de pacotes:

    ou vc acessa o sysctl.conf, que fica em /etc e modifica a linha (vi /etc/sysctl.conf)

    net.ipv4.ip_forward = 0 - Mude para 1


    ou então utilize o echo 1 > /proc/sys/net/ipv4/ip_forward.


    Depois desabilite o SELinux, firewall que já está ultrapassado, apenas irá atrapalhar:


    para desabilitar:



    acesse utilizando o editor de sua preferencia:


    vi /etc/sysconfig/selinux


    vá em SELINUX = enforcing - mude para disabled.


    reinicie o servidor e manda bala.


    Fique com Deus
    Atenciosamente,
    Dantas

  3. #3

    Padrão

    ola amigo...

    da uma olhadinha no seguinte topico: https://under-linux.org/f132192-serv...il-e-funcional

    la aborda a configuracao do squid, assim como: um firewall basico

  4. #4

    Padrão

    Ainda não estou conseguindo fazer o o proxy transparente funcionar. seguir as recomendações dos rapazes acima e ficou assim o squid e o rc.local:




    # squid.conf
    # Antonio Sales
    # [email protected]
    #-----------------------------------------------
    # Opcoes para suportar proxy transparente.
    http_port 192.168.0.1:3128 transparent

    #diz ao Squid que ele deve buscar os dados diretamente na origem
    hierarchy_stoplist cgi-bin ?

    #diz ao squid para não armazenar em cache o conteúdo dos CGI's
    acl QUERY urlpath_regex cgi-bin \?
    no_cache deny QUERY

    #memoria usada pelo squid
    cache_mem 128 MB

    #esvazia o cache
    cache_swap_low 75
    cache_swap_high 78

    #tamanho maximo para gravacao no cache squid
    maximum_object_size 150 MB

    #tamanho minimo para gravacao no cache squid
    minimum_object_size 0 KB

    # Tamanho maximo dos objetos mantidos em memoria.
    maximum_object_size_in_memory 2048 KB

    # politica de substituicao dos objetos quando se esgota o espaco destinado ao cache em disco.
    # lru: mantem os objetos referenciados recentemente.
    # heap GDSF: otimiza o "hit rate" por manter objetos pequenos e
    # e populares no cache, guardando assim um numero maior de objetos.
    # heap LFUDA: otimiza o "byte hit rate" por manter objetos populares
    # no cache sem levar em conta o tamanho. Se for utilizado este, o
    # maximum_object_size devera ser aumentado para otimizar o LFUDA.
    cache_replacement_policy heap LFUDA

    #define a politica de substituicao dos objetos em memoria
    #da mesma forma como o cache_replacement_policy
    memory_replacement_policy heap GDSF

    #determina onde e como será feito o cache e o tamanho
    #a cada 1GB (1024), deve separar 15mb de memoria
    cache_dir aufs /var/spool/squid 50000 64 128

    # Log de requisicoes.
    cache_access_log /var/log/squid/access.log

    # Log de objetos guardados. Pode ser desativado.
    cache_store_log none

    # Log do cache.
    cache_log /var/log/squid/cache.log

    #Pode ser usada para especificar uma lista de servidores DNS no
    #lugar no /etc/resolv.confdns_nameservers Endereço_IP
    #nao esquecer de trocar a faixa de dns pela da sua faixa
    # caso tenha um servidor dns instalado na mesma maquina, deixe assim: dns_nameservers 127.0.0.1
    #dns_nameservers 127.0.0.1
    dns_nameservers 172.30.9.1

    #TAG's referentes ao processo de autenticação.
    auth_param basic children 5
    auth_param basic realm Squid proxy-caching web server
    auth_param basic credentialsttl 2 hours

    auth_param basic casesensitive off

    ## Aumentando o tempo do CACHE WINDOWS UPDATE
    refresh_pattern -i w?xpsp[0-9]\.microsoft\.com/ 0 100% 20160 reload-into-ims
    refresh_pattern -i w2ksp[0-9]\.microsoft\.com/ 0 100% 20160 reload-into-ims
    refresh_pattern -i windowsupdate.com/.*\.(cab|exe|dll|msi) 0 100% 43200 reload-into-ims
    refresh_pattern -i microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
    refresh_pattern -i download\.macromedia\.com/ 0 100% 20160 reload-into-ims

    #configuram como serão tratados os tempos de vida dos objetos no cache
    refresh_pattern ^ftp: 15 20% 2280
    refresh_pattern ^gopher: 15 20% 2280
    refresh_pattern (/cgi-bin/|\?) 0 0% 0
    refresh_pattern . 0 20% 4320

    #O cache pode ser configurado para continuar com o download de requisições abortadas
    quick_abort_min -1 KB
    quick_abort_max 0 KB
    quick_abort_pct 100%

    #Tempo de vida para resultados mal sucedidos de resolução DNS.
    negative_ttl 2 minutes

    #Tempo de vida para resultados bem sucedidos de resolução DNS. não deixe inferior a 1 minuto.
    #Padrão de 6 horas.
    positive_dns_ttl 5 minutes

    #Alguns clientes podem parar o envio de pacotes TCP enquanto deixam o recebimento em aberto.
    #Algumas vezes o Squid não consegue diferenciar conexões TCP totalmente fechadas e parcialmente fechadas.
    #Mudando essa opção para off fará com que o Squid imediatamentefeche a conexão quando a leitura do socket
    #retornar "sem mais dados para leitura"
    half_closed_clients off
    read_timeout 60 seconds
    pconn_timeout 120 seconds

    #Estas ACL's fazem parte da configuração padrão do Squid
    acl manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl to_localhost dst 127.0.0.0/8
    acl SSl_ports port 443 563
    acl Safe_ports port 80 # http
    acl Safe_ports port 21 # ftp
    acl Safe_ports port 443 563 # 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 CONNECT method CONNECT

    #bloquear conteudo indesejaveis
    acl blocked url_regex -i "/etc/squid/bloqueados/block.txt"
    acl unblocked url_regex -i "/etc/squid/bloqueados/unblock.txt"

    ##faixa de ip da rede
    acl rede src 192.168.0.0/255.255.255.0

    #Definição de regras de acesso referentes as ACL's da parte da configuração
    #padrão do Squid, e regras de acesso
    http_access deny blocked !unblocked
    http_access allow localhost
    http_access allow rede
    http_access allow manager localhost
    http_access deny manager
    http_access deny !Safe_ports
    http_access deny CONNECT !SSL_ports

    #Ela diz ao Squid que se nenhuma das regras anteriores for
    #aplicada o acesso será então negado
    http_access deny all

    # Usuario sob o qual ira rodar o Squid.
    cache_effective_user squid
    # Grupo sob o qual ira rodar o Squid.
    cache_effective_group squid

    #Mostra o nome do servidor configurado nas mensagens de erro
    visible_hostname servidor.lgm.farolbr

    #Desligando essa variavel, faz com que o squid descarregue a memoria nao
    #utilizada, chamando uma funcao interna free() do squid
    memory_pools off

    #Por padrão o Squid irá incluir o ip ou nome da sua máquina nas solicitações HTTP.
    #Para o site visitado não interessa para ele qual seu ip interno, o importante é que você visitou o site.
    forwarded_for off

    #mensagens de erro em Portugues
    error_directory /usr/share/squid/errors/Portuguese

    #essa opção como off mostra no log o endereço completo.
    strip_query_terms off
    ie_refresh on

    # Resolve um problema com conexões persistentes que ocorre com certos servidores,
    detect_broken_pconn on

    #o Squid irá trabalhar com 2 requisições paralelamente
    pipeline_prefetch on


    #################################################################################

    # o rc.local
    #!/bin/sh
    #
    # This script will be executed *after* all the other init scripts.
    # You can put your own initialization stuff in here if you don't
    # want to do the full Sys V style init stuff.

    touch /var/lock/subsys/local

    modprobe ip_tables
    modprobe ip_conntrack
    modprobe iptable_filter
    modprobe iptable_nat
    modprobe ip_conntrack_ftp
    modprobe ip_nat_ftp

    # # Limpando Regras
    iptables -F
    iptables -X
    iptables -Z
    iptables -F INPUT
    iptables -F OUTPUT
    iptables -F FORWARD
    iptables -F -t nat
    iptables -X -t nat
    iptables -F -t mangle
    iptables -X -t mangle
    echo " Limpando Regras ..............................[ OK ]"

    # Definindo Politica Padrao
    iptables -P INPUT ACCEPT
    iptables -P FORWARD ACCEPT
    iptables -P OUTPUT ACCEPT
    echo " Alterando politica padrao.....................[ OK ]"

    # Redireciona todo trafego http(80) para o squid (3128),
    iptables -t nat -A PREROUTING -p tcp -m multiport -s 192.168.0.0/255.255.255.0 --dport 80 -i eth0 -j REDIRECT --to-ports 3128
    iptables -t nat -A PREROUTING -p tcp -m multiport -s 192.168.0.0/255.255.255.0 --dport 8080 -i eth0 -j REDIRECT --to-ports 3128

    iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
    echo 1 > /proc/sys/net/ipv4/ip_forward


    Agradeço qualquer ajuda

    Antonio Sales

  5. #5

    Padrão

    pq vc diz q nao esta funcionando?

    experimente o seguinte comando no momento em q a rede estiver navegando na net:
    tail -f /var/log/access.log


    veja se vai ter alguma resposta