+ Responder ao Tópico



  1. #1

    Padrão TProxy

    Salve forum.

    Estu tentando implantar o Squid com suporte a tproxy em nossa rede.
    Meu ambiente é:
    Arch Linux
    kernel: 2.6.30
    iptables: 1.4.6
    ebtables: 2.0.9
    squid: 3.1.0.14

    Arquitetura da rede (modo bridge)
    eth1: 0.0.0.0
    eth2: 0.0.0.0
    br0: 172.16.2.3/12
    route: 172.16.0.1

    Firewall:
    cd /proc/sys/net/bridge/
    for i in *
    do
    echo 0 > $i
    done
    unset i

    iptables -t mangle -N DIVERT
    iptables -t mangle -A DIVERT -j MARK --set-mark 1
    iptables -t mangle -A DIVERT -j ACCEPT
    iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
    iptables -t mangle -A PREROUTING -p tcp --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 3129

    ebtables -t broute -A BROUTING -i eth1 -p ipv4 --ip-proto tcp --ip-dport 80 -j redirect --redirect-target DROP
    ebtables -t broute -A BROUTING -i eth2 -p ipv4 --ip-proto tcp --ip-dport 80 -j redirect --redirect-target DROP

    ip rule add fwmark 1 lookup 100
    ip route add local 0.0.0.0/0 dev lo table 100


    Sysctl:
    net.ipv4.conf.default.rp_filter=0
    net.ipv4.conf.default.forwarding=1
    net.ipv4.conf.all.forwarding=1
    net.ipv4.ip_nonlocal_bind=1
    net.ipv4.ip_forward=1

    Squid.conf
    acl all src all
    acl manager proto cache_object

    acl localhost src 127.0.0.1/32
    acl to_localhost dst 127.0.0.0/8 0.0.0.0/32

    acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
    acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
    acl localnet src 192.168.0.0/16 # RFC1918 possible internal network

    acl SSL_ports port 443
    acl Safe_ports port 80 # http
    acl Safe_ports port 21 # ftp
    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 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 localnet
    http_access deny all
    icp_access allow localnet
    icp_access deny all

    http_port 3128
    http_port 3129 tproxy

    hierarchy_stoplist cgi-bin ?
    access_log /var/log/squid/access.log squid
    refresh_pattern ^ftp: 1440 20% 10080
    refresh_pattern ^gopher: 1440 0% 1440
    refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
    refresh_pattern . 0 20% 4320
    #acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
    #upgrade_http0.9 deny shoutcast
    #acl apache rep_header Server ^Apache
    #broken_vary_encoding allow apache

    cache_mgr [email protected]
    visible_hostname agros.mail.com
    cache_effective_user proxy
    cache_effective_group proxy

    maximum_object_size 10 MB
    cache_dir aufs /var/cache/squid/cache 80000 16 256
    coredump_dir /var/cache/squid/cache/
    cache_store_log /var/log/squid/store.log
    cache_log /var/log/squid/cache.log
    access_log /var/log/squid/access.log squid

    pid_filename /var/run/squid.pid

    debug_options ALL,1 89,6



    Meus problemas:
    Navegação lenta, ou seja, tento abrir a pagina pelo navegador mas o mesmo somente abre caso entre no servidor com o Squid + TProxy instalado e pingo para o site, caso contrário o mesmo dá conexão recusada, com erro MISS/500.

    Fiz testes com o Prxy Lusca mas o mesmo se comportou da mesma maneira.

    Alguem já passou por estas situações ?

  2. #2

    Padrão

    segundo pessoal da lista do tproxy os kernels 2.6.3X, tem problemas....

    pegue um da serie 2.6.2X

  3. #3

    Padrão

    Obrigado Biazus pela dica.

    Vou compilar a versão 2.6.29 para teste.

  4. #4

    Padrão

    Testes com kernel nas versões 2.6.28 e 2.6.29 também apresentaram o mesmo problema.
    Recompilei ainda a libcap e o iptables mas sem sucesso

  5. #5

    Padrão

    Citação Postado originalmente por vfeitoza Ver Post
    Testes com kernel nas versões 2.6.28 e 2.6.29 também apresentaram o mesmo problema.
    Recompilei ainda a libcap e o iptables mas sem sucesso
    Se interessar no nosso serviço amigo:
    https://under-linux.org/f96/mtccp-mi...89/#post464164

  6. #6

    Padrão

    Caro m4d3,

    Realmente desejo implementar este serviço, mas gostaria de uma ajuda para implantação do mesmo.
    Ou até outro caminho semelhante.

    Agradeço desde já pelo auxilio provido.

  7. #7

    Padrão Re: TProxy

    Opa,

    Olha tentei recentemente com o Ubuntu Server 10.4 e também não consegui. Só consegui fazer perfeitamente o que você quer com o CentOS 5.4. Abaixo meu tutorial explicando como fiz:

    squid_tproxy

    Meu link do provedor é de 60Mbps e estou economizando quase 20Mbps.

    Espero ter ajudado

  8. #8

    Padrão Re: TProxy

    Obriagdo gondim,

    Vou testar sua implementação no CENTOS.
    Queria implemn]entar preferencialmente ou no arch linux ou no slack.
    Vou testar nesses dois e em seguida no CentOS.
    Posto o resultado em segui para a galera.

  9. #9

    Padrão Re: TProxy

    Citação Postado originalmente por gondim Ver Post
    Opa,

    Olha tentei recentemente com o Ubuntu Server 10.4 e também não consegui. Só consegui fazer perfeitamente o que você quer com o CentOS 5.4. Abaixo meu tutorial explicando como fiz:

    squid_tproxy

    Meu link do provedor é de 60Mbps e estou economizando quase 20Mbps.

    Espero ter ajudado
    Nesse metodo roda o Cache Full?

  10. #10

    Padrão Re: TProxy

    Citação Postado originalmente por gondim Ver Post
    Opa,

    Olha tentei recentemente com o Ubuntu Server 10.4 e também não consegui. Só consegui fazer perfeitamente o que você quer com o CentOS 5.4. Abaixo meu tutorial explicando como fiz:

    squid_tproxy

    Meu link do provedor é de 60Mbps e estou economizando quase 20Mbps.

    Espero ter ajudado
    Caro amigo, gostei muito de ver seu tutorial, estou usando com sucesso aqui wccp, e graças a ele estou com ip´s válido nos clientes, zph funcional, contudo estou sem spoofing, tentarei novamente o TProxy+wccp, pois com seu tutorial vi alguns erros que estou cometendo.

  11. #11

    Padrão Re: TProxy

    Olá pessoal,

    Consegui fazer o TProxy com Ubuntu 10.04 também. Seguinte para as distros mais recentes nas regras ebtables usem ACCEPT ao invés de DROP que funcionou aqui comigo e com outras pessoas.

    Grande abraço

  12. #12
    cytron
    Visitante

    Padrão Re: TProxy

    Já utilizo tproxy em Slackware desde quando saiu a versão 13.1. Mas não faço uso so servidor em bridge. Coloquei um artigo no Viva o Linux mas apesar de aprovado ainda não está disponível... estranho.

    Vou postar aqui também. Estará com o mesmo título:

    SQUID 3.1.5 com suporte a TPROXY (SEM BRIDGE)

  13. #13

    Padrão Re: TProxy

    Citação Postado originalmente por cytron Ver Post
    Já utilizo tproxy em Slackware desde quando saiu a versão 13.1. Mas não faço uso so servidor em bridge. Coloquei um artigo no Viva o Linux mas apesar de aprovado ainda não está disponível... estranho.

    Vou postar aqui também. Estará com o mesmo título:

    SQUID 3.1.5 com suporte a TPROXY (SEM BRIDGE)
    Isso ai Cara. Funcionando aqui conforme seu tudo 100%. Esse esquema foi perfeito para nós pois não prescisamos de mudar nada em nossa rede. Cliente direto na saida do Tproxy.

  14. #14

    Padrão Re: TProxy

    Citação Postado originalmente por dimasters Ver Post
    Fiz os procedimentos com o Gondim e ficou bala
    A única coisa é que não consegui rodar o zph junto a marcação de pacote só acontece no X-CACHE mesmo...
    Mas está bom....
    Vlw
    Usando o Squid 3.1 o zph virou qos_flow, veja documentação, aqui temos a marcação funcionando normal junto com o Tproxy.