http://www.zago.eti.br/squid/modelos.txt Alguns modelos de squid.conf que circulou na Linux-br. Use CTRL+F para refinar a pesquisa. Linha de: **************** separa mensagens ou tópicos. ******************************************************** Zago http://www.zago.eti.br/menu.html FAQ e artigos sobre Linux ******************************************************** ******************************************************** De:  Eduardo Mota Para:  MN INTERNET Cc:  linux-br@bazar2.conectiva.com.br Assunto:  Re: (linux-br)Proxy Transparente X Iptables X Apache X DNS Data:  Tue, 17 Feb 2004 06:58:41 -0300 Olá MN, Sobre o Proxy Transparente, tenho um tutorial no meu site: http://www.emota.com.br/linux ... 3.2 Proxy Transparente Muito usado, não requer configuração nas estações. A única exigência desta opção é ter o Squid rodando na máquina que será o gateway da rede. Sua configuração é simples, requer apenas algumas modificações. Edite o squid.conf e configure conforme exemplo abaixo: # vi squid.conf httpd_accel_host virtual httpd_accel_port 80 httpd_accel_single_host off httpd_accel_with_proxy on httpd_accel_uses_host_header on Após isso, é necessário incluir uma regra no Firewall. Usando IPTABLES: # iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j REDIRECT --to-port 3128 Com relação ao DNS, você já testou o DNS ? # nslookup www.cliente.meudominio.com.br # nslookup webmail.meudominio.com.br Apenas para ter certeza que tudo está de acordo ? Outra coisa, como também já comentaram, as estações precisam estar com seu IP como Gateway e DNS :-) No servidor, vc já testou o funcionamento do Apache ? # lynx www.cliente.meudominio.com.br # lynx webmail.meudominio.com.br Depois de testar isso, faça um teste usando o proxy # vi /etc/lynx.cfg proxy=http://127.0.0.1:3128/ # lynx www.cliente.meudominio.com.br # lynx webmail.meudominio.com.br Veja se tudo está rolando bem ... Após ter certeza que o server está legal, então veremos os problemas das estações! Boa Sorte ! -- Atenciosamente, Eduardo Mota. ----------------------------------------- http://www.emota.com.br emota@emota.com.br Linux User: 272219 Telefone: (11) 9667-5317 - UIN: 2731255 ******************************************************** De:  Eduardo Mota Para:  rodrigofsantos@unemat.br Cc:  linux-br@bazar2.conectiva.com.br Assunto:  Re: (linux-br) Autenticação no squid não esta indo Data:  Tue, 24 Feb 2004 12:46:31 -0300 Olá Rodrigo, Faz um favor, quando informar que: "não funciona", informe o que ocorre. Pois, pelo que ví no .conf, ele nem pedindo senha deve estar. Mas, pode ser que esteja pedindo e dando erro para autenticar também ! Nas ACL você precisa incluir o seguinte: acl password proxy_auth REQUIRED Depois nos ocntroles, precisa disso: http_access allow unemat proxy_auth Então: Acesso_HTTP Autorizado quando usuário da UNEMAT e Autenticado pelo Proxy ! :-) Boa sorte! Rodrigo Ferreira Santos wrote: Galera estou apanhando feio eu ja uso squid a algum tempo e numca tive > problema com ele em suas configurações mas desta vez esta dureza, amigos eu > estou tentando implementar autenticação com ncsa_auth tomando como base o > tour squid ninja mas esta dificil não funciona nem batendo com porrete, fiz o > seguinte: > > http_port 3128 > hierarchy_stoplist cgi-bin ? > acl QUERY urlpath_regex cgi-bin \? > no_cache deny QUERY > cache_mem 128 MB > cache_swap_low 95 > cache_swap_high 98 > maximum_object_size 6096 KB > cache_replacement_policy lru > memory_replacement_policy lru > cache_dir ufs /var/cache/squid 1000 16 256 > cache_access_log /var/log/squid/access.log > cache_log /var/log/squid/cache.log > cache_store_log none > pid_filename /var/log/squid/squid.pid > client_netmask 255.255.255.0 > dns_nameservers 200.xxx.xxx.xxx 200.xxx.xxx.xxx > hosts_file /etc/hosts > redirect_children 10 > auth_param basic program /usr/bin/ncsa_auth /etc/squid/passwd > auth_param basic children 5 > auth_param basic realm Digite seu usuario e senha > auth_param basic credentialsttl 2 hours > request_header_max_size 10 KB > refresh_pattern ^ftp:           1440    20%     10080 > refresh_pattern ^gopher:        1440    0%      1440 > refresh_pattern .               0       20%     4320 > acl all src 0.0.0.0/0.0.0.0 > acl unemat src 192.168.110.0/255.255.255.0 > 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 10679 > acl Safe_ports port 80          # http > acl Safe_ports port 443 563     # https, snews > acl CONNECT method CONNECT > acl porno url_regex "/etc/squid/regras/porno.txt" > acl naoporno url_regex "/etc/squid/regras/naoporno.txt" > acl porn url_regex "/etc/squid/regras/porn.block.txt" > acl noporn url_regex "/etc/squid/regras/porn.unblock.txt" > acl bloqueio url_regex "/etc/squid/regras/bloqueio.txt" > acl arq_pro url_regex -i .*\.mp3$ > acl arq_pro url_regex -i .*\.avi$ > acl arq_pro url_regex -i .*\.mpeg$ > acl arq_pro url_regex -i .*\.mpg$ > acl arq_pro url_regex -i .*\.asf$ > acl arq_pro url_regex -i .*\.iso$ > http_access allow manager localhost > http_access deny manager > http_access deny !Safe_ports > http_access deny CONNECT !SSL_ports > http_access deny bloqueio > http_access deny porno !naoporno > http_access deny porn !noporn > http_access deny arq_pro > http_access allow unemat > http_access deny all > http_reply_access allow all > icp_access allow all > httpd_accel_port 80 > httpd_accel_host virtual > httpd_accel_with_proxy on > httpd_accel_uses_host_header on > logfile_rotate 10 > error_directory /usr/share/squid/errors/Portuguese > coredump_dir /var/cache/squid > > Bom deste geito o squid compartilha a net bloqueia solicitações de pagina com > url com mais de 10k, bloqueia sites baseado em arquivos e mostra mensagens de > erro em portuga bom se existe algum erro gostaria que alguem me ajudasse pois > tenho que fazer funcionar de qualquer forma ... >   > -- Atenciosamente, Eduardo Mota. ----------------------------------------- http://www.emota.com.br emota@emota.com.br Linux User: 272219 Telefone: (11) 9667-5317 - UIN ******************************************************** COMENTARIO ZAGO: # pra baixar esta configuração via wget # wget http://www.zago.eti.br/modelos/squid.conf-planoreduzido # pro editor "vi" use: # :r !lynx -dump http://www.zago.eti.br/modelos/squid.conf-planoreduzido Não esqueça de ajustar para o IP da tua rede. # De:  robsoncb2 #Para:  Antonio F. Zago #Assunto:  Squid.conf - Horário reduzido ( Pro FAQ ) #Data:  Wed, 23 Jun 2004 01:18:03 -0300 (ART) #Zago aí vai o meu squid.conf com horários reduzidos, a #qual você tinha me pedido para disponibilizar para o #pessoal. Tem algumas configurações extras no final. #squid.conf #----------------------------------------- http_port 3128 # TAG: hierarchy_stoplist # A list of words which, if found in a URL, cause the object to # be handled directly by this cache. In other words, use this # to not query neighbor caches for certain objects. You may # list this option multiple times. # #We recommend you to use at least the following line. hierarchy_stoplist cgi-bin ? # TAG: no_cache # A list of ACL elements which, if matched, cause the reply to # immediately removed from the cache. In other words, use this # to force certain objects to never be cached. # # You must use the word 'DENY' to indicate the ACL names which should # NOT be cached. # #We recommend you to use the following two lines. acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY cache_mem 32 MB cache_swap_low 90 cache_swap_high 95 maximum_object_size 4096 KB cache_dir ufs /var/cache/squid 5000 16 256 cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log cache_store_log /var/log/squid/store.log # TAG: debug_options # Logging options are set as section,level where each source file # is assigned a unique section. Lower levels result in less # output, Full debugging (level 9) can result in a very large # log file, so be careful. The magic word "ALL" sets debugging # levels for all sections. We recommend normally running with # "ALL,1". # #Default: # debug_options ALL,1 #Recommended minimum configuration: acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 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 acl planoreduzido src 172.16.0.0 #acl semanalmanha time MTWHF 00:00-08:00 #acl semanalnoite time MTWHF 22:00-24:00 #acl sabadomanha time A 00:00-08:00 #acl sabadonoite time A 16:00-24:00 #acl domingo time S 00:00-24:00 # TAG: http_access # Allowing or Denying access based on defined access lists # # Access to the HTTP port: # http_access allow|deny [!]aclname ... # # NOTE on default values: # # If there are no "access" lines present, the default is to deny # the request. # # If none of the "access" lines cause a match, the default is the # opposite of the last line in the list. If the last line was # deny, then the default is allow. Conversely, if the last line # is allow, the default will be deny. For these reasons, it is a # good idea to have an "deny all" or "allow all" entry at the end # of your access lists to avoid potential confusion. # #Default: # http_access deny all # #Recommended minimum configuration: # # Only allow cachemgr access from localhost http_access allow manager localhost http_access deny manager # Deny requests to unknown ports http_access deny !Safe_ports # Deny CONNECT to other than SSL ports http_access deny CONNECT !SSL_ports #acl pra sites direto, não passar pelo cache acl NOCACHE url_regex "/etc/squid/direto.txt" \? no_cache deny NOCACHE # # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS # # And finally deny all other access to this proxy #http_access allow all http_access allow planoreduzido #http_access allow planoreduzido semanalmanha #http_access allow planoreduzido semanalnoite #http_access allow planoreduzido sabadomanha #http_access allow planoreduzido sabadonoite #http_access allow planoreduzido domingo #http_access deny all cache_effective_user proxy cache_effective_group proxy # TAG: visible_hostname # If you want to present a special hostname in error messages, etc, # then define this. Otherwise, the return value of gethostname() # will be used. If you have multiple caches in a cluster and # get errors about IP-forwarding you must set them to have individual # names with this setting. # #Default: # none httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on logfile_rotate 7 #Extras: # Acrescente no crontab: 59 23 * * * /usr/bin/squid -k rotate # crie o arquivo /etc/squid/direto.txt # Cole neste arquivo as 3 linhas abaixo, sem o sinal #: # gov.br # caixa # fazenda # Robson # robsoncb2@yahoo.com.br ******************************************************** De:  anderson marcelo Para:  zagolinux@uol.com.br Assunto:  Squid por usuário - pro FAQ. Data:  Thu, 17 Jun 2004 23:14:41 -0300 (ART) Olá zago tudo bem ?? Hoje um dia meio enrolado, acabei saindo tarde. Sobre o squid achei uma solução mais interesante e com restrição por ip, por ip não tem como o usuário ficar trocando a todo momento os ips, para poder ter acesso aos sites que ele deseja caso algum amiguinho venha seder  a ele o ip que usa ele. Para fazer isso ele tem quer ter uma boa noção de redes !!! Com autenticação não acho uma boa solução ate o momento, porque se o usuário seder a senha DEUS controle. O que acha da idéia ?? preciso fazer isso funcionar o mais rápido possivél .... Segue umas acls para teste. Caso venha ter tempo poderia testar ?? O proximo passo e aprimorar o Postifix !!!! Ate mais Anderson Crie uma acl tipo:             acl cadastro src 192.168.25.28             acl CORREIOS dstdomain correios.com.br             acl rede_interna src "/etc/squid/rede_interna.txt"         e neste arquivo um IP autorizado por linha:             192.168.25.1             192.168.25.2             ...             192.168.25.254         menos o IP CADASTRO que terá uma regra diferente...         (Se criar uma regra diferente para algum outro IP, retire ele do         arquivo)                 Então, faça:             http_access allow cadastro CORREIOS             http_access deny cadastro !CORREIOS             http_access allow rede_interna             http_access deny all         pois assim permite CADASTRO acessar CORREIOS,         nega para CADASTRO tudo que não estiver em CORREIOS,         permite a REDE_INTERNA, não toda como antes mas apenas os IPs         autorizados,         e por fim nega acesso a qualquer máquina que não esteja em         cadastro CADASTRO         ou REDE_INTERNA (procure sempre usar 'deny all' como última         regra senão         qualquer um que não seja parado em alguma regra anterior terá         acesso)..                 PS.: Por que você tem uma acl to_localhost dst 127.0.0.0/8 ?? ******************************************************** ********************************************************