+ Responder ao Tópico



  1. #1

    Padrão proxy transparent squid 2.6

    Ola pessoal tenho um servidor debian rodando squid 2.6.x.x que no momento esta rodando um proxy autenticado, ja tentei varias vezes mudar para transparent, coloco as regras de redirecionamento no firewall . mas não funciona, alguém teria um proxy transparente rodando no debian ecth, de me uma ajuda.

    aqui estão minhas configurações:
    #---------# Porta usada pelo squid - porta 3128 #-------------------------------#

    http_port 3128 transparent

    #---------# Deixa os erros em portugues #---------------------------------------#

    error_directory /usr/share/squid/errors/Portuguese

    #---------# We recommend you to use the following two lines #####################

    acl QUERY urlpath_regex "/etc/squid/senhas"
    cache deny QUERY

    #---------# Apache to signal ETag correctly on such responses ###################

    acl apache rep_header Server Apache
    broken_vary_encoding allow apache

    #---------# Corrige bug de refresh do internet explorer 5.x (verificar) #########

    ie_refresh on

    #---------# Informa o usuario e grupo que executam o squid ######################

    cache_effective_user proxy
    cache_effective_group proxy

    #---------# Localizacao do arquivo de logs do squid #############################

    access_log /var/log/squid/access.log squid

    #---------# Default: ############################################################

    cache_log /var/log/squid/cache.log

    #---------# Default: ############################################################

    cache_store_log /var/log/squid/store.log

    #---------# Hosts_file - /etc/hosts #############################################

    hosts_file /etc/hosts

    #--------# CONFIGURACAO DE CACHE #---------------------------------------------#

    #--------# Tamanho do cache de arquivos na memoria #---------------------------#

    cache_mem 350 MB

    #--------# Tamanho maximo de objetos em cache na memoria #---------------------#

    maximum_object_size_in_memory 256 KB

    #--------# Tamanho maximo de objetos no cache do disco #-----------------------#

    maximum_object_size 4096 KB

    #--------# Tamanho minimo de objetos no cache do disco #-----------------------#

    minimum_object_size 0 KB

    #--------# Parametros para esvaziar o cache quando necessario #----------------#

    cache_swap_low 80
    cache_swap_high 85

    #--------# Diretorio onde o cache sera salvo #---------------------------------#

    cache_dir ufs /var/spool/squid 2000 16 256

    #--------# Tempo de permanencia de objetos no cache #--------------------------#

    refresh_pattern ^ftp: 10 20% 10080
    refresh_pattern ^gopher: 1440 0% 1440
    refresh_pattern . 10 20% 4320

    #--------# Maximo de IPs DNS que serao armazedos no cache #--------------------#

    ipcache_size 2048
    ipcache_low 90
    ipcache_high 95

    #--------# Maximo de IPs DNS que serao armazedos no cache #--------------------#

    fqdncache_size 2048

    #--------# Programa usado para a autenticacao #--------------------------------#

    auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/senhas

    #--------# Auth_param basic credentialsttl - 2 hour #--------------------------#

    auth_param basic credentialsttl 2 hour
    auth_param basic realm Sua senha � individual, n�o a divulgue!

    #--------# squidGuard #--------------------------------------------------------#

    #redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf

    #--------# Libera acesso ao SIAFI #--------------------------------------------#

    acl ip_serpro dst 161.148.40.200
    http_access allow ip_serpro

    #--------# Libera acesso ao Portal da Rede Interna #---------------------------#

    #acl ip_mail dst 10.56.52.2
    # http_access allow ip_mail

    #--------# Libera portal FTP interno #-----------------------------------------#

    #acl rede_ftp dst 10.56.52.3
    # http_access allow rede_ftp

    #--------# Proibe acesso a sites de bate papo #--------------------------------#

    #acl chat url_regex chat batepapo bate-papo
    # http_access deny chat




    acl all src 0.0.0.0/0.0.0.0
    acl rede_interna src 10.56.52.0/22
    acl to_rede_interna dst 10.56.52.0/22
    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 # https
    acl Safe_ports port 80 # http
    acl Safe_ports port 21 # ftp
    acl Safe_ports port 443 # https
    acl Safe_ports port 22 # ssh

    acl purge method PURGE
    acl CONNECT method CONNECT



    http_access allow rede_interna
    http_access deny all
    http_reply_access allow all

    icp_access deny all
    cache_effective_group proxy
    coredump_dir /var/spool/squid
    Última edição por papaalves; 18-12-2007 às 00:36.

  2. #2

    Padrão

    Proxy autenticado no squid nao funciona sobre o proxy transparente!!!!

  3. #3

    Padrão

    vc quer retirar a autenticação e fazer transparente?

    só add ae

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



    ambas nao rolam :P

    rolar até rola mais tem que faze xoxo com paret proxy

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

    Thumbs up

    Papaalves,

    Boa tarde. Bem o squid é um software que atua como intermediador para entre o cliente o serviço acessado. O squid é um webproxy cache que possui a capacidade de interpretar e centralizar conexões http/s, armazenando o conteúdo mais acessado em memória ou em áreas reservadas do disco rígido com o objetivo de disponibilizá-las de forma mais rápida e eficiente a quem as solicita. O squid utiliza a memória para alocar a tabela de objetos "quentes", então é de suma importância você verificar a quantidade de memória disponível para o squid. Caso o squid precisa utilizar o swapping o desempenho do mesmo será bastante degradado. Não esquecer também o tamanho do seu cache. pois a cada 1 gb de cache armazenado no seu disco rígido, ele consumirá 10 MB de sua memória para o índice de objetos. Então bem atento a isso. Mas vamos ver se consigo te ajudar.

    1. No squid 2.6 não precisa acrescentar no arquivo squid.conf as seguintes diretivas:

    httpd_accel_host virtual
    httpd_accel_port 80
    httpd_accel_with_proxy on
    httpd_accel_uses_host_header on

    Basta apenas acrescentar na diretiva http_port 3128 o "transparent". Então acessa o
    squid.conf e configure-o deixando-o assim:

    [root@squid /] vi /etc/squid/squid.conf

    * http_port 3128 transparent

    Cuidado no seu arquivo squid.conf, pois o squid lê suas diretivas de cima para baixo.

    2 . Feito a configuração do squid para webproxy transparente, vamos agora configurar o seu firewall para que faça o redirecionamento dos pacotes da porta 80 para a porta do
    squid 3128. Com isso todo o tráfego da porta 80 será redirecionado para a porta 3128 do squid. Porém antes, você terá que ativar o redirecionamento de pacotes no linux, caso contrário não adianta criar a regra no firewall iptables, ok?

    Abra o arquivo sysctl.conf com o editor de sua preferência, no meu caso, utilizo o "vi":

    [root@squid /] vi /etc/sysctl.conf -> Local onde encontra-se o arquivo /etc

    Altere a seguinte linha de comando:

    net.ipv4.ip_forward = 0 -> o 0 indica que está desabilitado

    para

    net.ipv4.ip_forward = 1 -> trocando para 1 você o habilita

    3. Agora basta apenas criar as regras do firewall iptables para começar a utilizar o
    seu webproxy.

    1. redirecionamento

    [root@squid /] iptables -t nat -A PREROUTING -i eth1 -p TCP --dport 80 -j REDIRECT --to-port 3128

    * Feito essa regra, ela faz com que todo o pacote entrando na interface eth1 oriundo
    da porta 80 seja direcionado para a port 3128.

    2. NAT

    Agora você precisa criar a regra para NAT - IP MASQUERADING

    [root@squid /] iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

    * Aqui, esta regra faz com que o a solicitação de saída de interface eth0 seja mascarada (reescrever o endereço de IP da máquina) para assim poder ter acesso a internet. (NAT - Ip masquerading).


    Fique atento a sua configuração da NETWORK (rede). Estou exemplificando como se a sua rede fosse configurada dessa maneira:

    (INTERNET) <------> [ROUTER] <---- eth0 ----> (SERVIDOR PROXY/FIREWALL) <---- eth1 ----> SWITCH

    Verifique os ip´s da placas, verifique o o arquivo resolv.conf (/etc), bem como o arquivo network (/etc/sysconfig/).




    Espero ter sanado todas as dúvidas.
    Caso precise de algo mais, favor entrar em contato.

    Atenciosamente,
    Última edição por MDdantas; 23-01-2008 às 15:03.