Professional Documents
Culture Documents
http://www.linuxman.pro.br/squid/
LinuxMan
editprimarylinks
Home
GoogleAds
ConfigurandoumSquid"Ninja"
SubmittedbyErionWed,2005-09-1423:10.
Umbrevetutorialcomalgumasdicasedetalhesimportantesconseguidosnodia-a-dia.
Introduo Sobreoautor Sobreessedocumento Changelog ToDo Oqueesperardeumproxy/cache? EoSquid?Satisfaztodosessespontos? OqueoSquid? PorqueutilizarumProxy/Cache? Controledeacesso Performance PorqueutilizaroSQUID? Protocolosutilizados-RedeeAplicao. Requisitos Referncias InstalandooSquid Instalandoviabinriooucomfacilidadesdosistema InstalandoemumsistemabaseadoemRedHatLinux InstalandoemumsistemabaseadoemDebian InstalandoemumFreeBSD InstalandoemumOpenBSD InstalandoemumWindows2000 Baixandoocdigo-fonte Limpandoosquid.conf Configuraesbsicas-ACLs Referncias TransparentProxy
BloqueandoSitesindesejados Criandoosarquivosnecessrios
1 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Pr-requisitos Viralator Referncias Autenticandousurios ncsa_auth Editandoosquid.conf Criandoumarquivodesenhas smb_auth Instalandoosmb_auth ConfigurandooPDC Configurandosquid.conf Referncias ControledeBanda Editandoosquid.conf Referncias
BrincandocomACLs UtilizandoIPseredes UsandoACLsexternas Trabalhandocomdomnios Restringindoporhorrio ExpressoregularnaURL MACAddress Limitandoonmerodeconexesporusurio ImpedindoouLimitandootamanhodeuploads Referncias Criandoumarquivodeconfiguraoautomtica Referncias Gerandorelatrios SARG
Referncias TrabalhandocomHierarquias
2 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Configuraodeproxyreverso Referncias OtimizandooSquid EspecificandooHardware Sistemasdearquivo DNS Mltiplasrotas Editandoosquid.conf Referncias UtilidadesPblicas Resetandoocachedosquid Reiniciandoasconfiguraesdosquid EntrandoemmodoDebug Squidsaindocomerro(SquidParent:childprocessexitedduetosignal)
Estudodecasos Simples,eficienteemuitotil Aspequenasdominam Precoces Arrozcomfeijo Matrizefilial Cacheareo ISP ExaminandooSquid.conf TagsdaseoNetwork
http_port icp_port htcp_port mcast_groups tcp_outgoing_address udp_incoming_address udp_outgoing_address TagsdaseoPeercacheserverseSquidhierarchy cache_peer neighbor_type_domain icp_query_timeout maximum_icp_query_timeout mcast_icp_query_timeout dead_peer_timeout hierarchy_stoplist no_cache
3 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
minimum_object_size maximum_object_size_in_memory ipcache_size ipcache_low ipcache_high fqdncache_size cache_replacement_policy memory_replacement_policy TagsdaseoLogfilepathnamesandcachedirectories cache_dir cache_access_log cache_log cache_store_log cache_swap_log emulate_httpd_logon|off log_ip_on_direct mime_table log_mime_hdrson|off useragent_log referer_log pid_filename debug_options log_fqdn client_netmask TagsdaseoSupportforExternalfunctions ftp_user ftp_list_width ftp_passive cache_dns_program dns_children dns_retransmit_interval dns_timeout dns_defnames dns_nameservers unlinkd_program diskd_program pinger_program redirect_program redirect_children redirect_rewrites_host_header redirector_access authenticate_program authenticate_children authenticate_ttl authenticate_ip_ttl authenticate_ip_ttl_is_strict
TagsdaseoparatunningdoSquid wais_relay_host/wais_relay_port request_header_max_size request_body_max_size reply_body_max_size refresh_pattern reference_age quick_abort_min/quick_abort_max/quick_abort_pct negative_ttl positive_dns_ttl negative_dns_ttl range_offset_limit TagsdaseoTimeouts
4 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
connect_timeout peer_connect_timeout siteselect_timeout read_timeout request_timeout client_lifetime half_closed_clients pconn_timeout ident_timeout shutdown_lifetime TagsdaseoAccessControlLists acl http_access icp_access miss_access cache_peer_access ident_lookup_access Tagsdaseoauth_param program children realm credentialsttl Tagsdaseoparmetrosadministrativos cache_mgr cache_effective_user/cache_effective_group visible_hostname hostname_aliases Tagsdaseohttpd-accelerator httpd_accel_host httpd_accel_port httpd_accel_with_proxy httpd_accel_uses_host_header TagsdaseoMiscellaneous append_domain tcp_recv_bufsize err_html_text deny_info memory_pools memory_pools_limit forwarded_for log_icp_queries icp_hit_stale minimum_direct_hops minimum_direct_rtt cachemgr_passwd client_db netdb_low/netdb_high netdb_ping_period query_icmp test_reachability reload_into_ims always_direct never_direct anonymize_headers fake_user_agent
5 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
icon_directory error_directory minimum_retry_timeout maximum_single_addr_tries snmp_port snmp_access Tagsdaseodelaypool delay_pools delay_class delay_access delay_parameters incoming_icp_average / incoming_http_average / incoming_dns_average / min_icp_poll_cnt / min_dns_poll_cnt/min_http_poll_cnt max_open_disk_fds offline_mode uri_whitespace broken_posts nonhierarchical_direct prefer_direct strip_query_terms coredump_dir redirector_bypass ignore_unknown_nameservers digest_generation digest_bits_per_entry digest_rebuild_period digest_rewrite_period digest_swapout_chunk_size digesvt_rebuild_chunk_percentage chroot client_persistent_connections/server_persistent_connections pipeline_prefetch extension_methods high_response_time_warning high_page_fault_warning high_memory_warning store_dir_select_algorithm ie_refresh
Outrasrefernciaseleiturascomplementares
Introduo
6 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Almdisso,suabandaficalivreparaquesitesmenosacessados,ou quenoestejamnocachesejambaixadoscommaiorvelocidade.
Comumsistemadecachingbemplanejadoemantido,todostemaganhar.
Sobreoautor
EriRamosBastostrabalhacomLinuxdesde1998,passandopordiversasdistribuiesefasesdiferentesdopinguim.Atualmente trabalha como consultor em solues Linux / Unix e est disponvel para ajudar a sua empresa a implantar Linux em todos os setores.Consultoria
Sobreessedocumento
Esse documento GPL, tendo sido baseado em diversas documentaes disponveis na web. Todas as marcas citadas aqui pertencemaosseusrespectivosdonos. APginaoficialdessedocumentohttp://www.linuxman.pro.br/squid/. TambmestdisponvelemversoPDF.
Esse documento foi totalmente escrito em texto puro, utilizando VIM como Editor e posteriormente convertido em HTML por txt2tagseemPDFporhtmldoc.
Changelog
11/11/2003
13/11/2003
7 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
05/02/2004
Sintaxemaislimpadogrepparalimparosquid.conf
23/03/2004
AcrescentadadicasobrerotatedosrelatriosdoSarg
18/06/2004
ImpedindoouLimitandootamanhodeuploads AtualizaodaURLdoSarg
ToDo
Oqueesperardeumproxy/cache?
Podemossumarizarosbenefciosesperadosem:
Velocidadedeacesso
Disponibilidade
8 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
TransparnciaouOstensividade
Capacidadedetrabalharcomredesheterogneas.
Issoespecialmenteverdadequandonosabemosquetipodeplataforma irutilizarnossainstalao.
Simplicidade
EoSquid?Satisfaztodosessespontos?
OqueoSquid?
Squidumproxy-cachedealtaperformanceparaclientesweb, suportandoprotocolosFTP,gophereHTTP.
OSquidmantmmetadadoseespecialmenteobjetosarmazenadosnaRAM, cacheiabuscasdeDNSeimplementacachenegativoderequestsfalhos.
9 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
PodemosexecutaroSquidnasprincipaisplataformasdomercado,como Linux,UnixeseWindows.
PorqueutilizarumProxy/Cache?
Podemosdizerqueexistemdoisgrandesmotivospeloqualsedeve utilizarumPROXY/CACHE:
Controledeacesso
Performance
10 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
ConexessofeitasnoProxy,evitandosadainternet
PorqueutilizaroSQUID?
OSquidestcontinuamentemelhorandosuaperformance,almde adicionarnovasfeatureseterumaexcelenteestabilidadeemcondies extremas.
Podemosaindacitaracapacidadedeclustering,transparentproxy, cachedeFTPe,claro,seubaixocusto.
Protocolosutilizados-RedeeAplicao.
ParaconfigurarseufirewallapropriadamenteparaNAT,verifiquea documentaodeseusistemaoperacionaloufirewall.
Requisitos
11 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
AmaiorpartedasconfiguraesdependeapenasdoSquid.Oproxy transparentetambmdependedosistemaoperacionaledofirewall
Referncias
RedeNacionaldePesquisa(1)http://www.rnp.br/newsgen/0103/wccp.shtml
RedeNacionaldePesquisa(2)http://www.rnp.br/arquivos/docgeral.html
DuaneWesselsHomePage-http://www.life-gone-hazy.com/index-two.html
FirewallLinuxman(IPTABLES)http://www.linuxman.pro.br/cgi-bin/firewall/
SurveyofWebCachingSchemesfortheInternet-
http://www.acm.org/sigcomm/ccr/archive/1999/oct99/Jia_Wang2.pdf
InstalandooSquid
OSquidpodeserinstaladoemumaimensavariedadesdesistemas operacionais.PraticamentetodososUnixescomumbomcompiladorC/C++ podegerarbinriosdoSquid.
Instalandoviabinriooucomfacilidadesdosistema
Vamosdiretoaoassunto:
InstalandoemumsistemabaseadoemRedHatLinux
12 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
http://www.rpmfind.net/linux/rpm2html/search.php?query=squid&submit=Search+...&system=redhat&arch=
InstalandoemumsistemabaseadoemDebian
InstalandoemumFreeBSD
Oupormeiodeumpacotepr-compilado: # # # # mount /cdrom #CD de instalao do FreeBSD mkdir /usr/ports/distfiles cp /cdrom/packages/All/squid-x.y.z.tgz /usr/ports/distfiles/ # onde pkg_add -v /usr/ports/distfiles/squid-x.y.z.tgz
x.y.z a verso.
InstalandoemumOpenBSD
Baixeosquidjcompiladoem http://www.openbsd.org/3.2_packages/i386/squid-2.5.PRE13.tgz-long.html
InstalandoemumWindows2000
13 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Baixandoocdigo-fonte
Casoqueiraocontroledebanda,tpicoavanadoabordadoaqui, instaleosquidpelofonte,deacordocomasinstrues.
Nadatadecriaodessedocumento,aversomaisrecente(estvel)do squideraa2.5STABLE1.
Verifiqueaversomaisrecenteem http://www.squid-cache.org/Versions/v2/. # groupadd squid # useradd -g squid -s /dev/null squid >/dev/null 2>&1 # wget http://www.squid-cache.org/Versions/v2/2.5/squid-2.5.STABLE1-src.tar.gz # tar zxvf squid-2.5.STABLE1-src.tar.gz # cd squid-2.5.STABLE1 # ./configure --enable-delay-pools --enable-cache-digests\ --enable-poll --disable-ident-lookups --enable-truncate \ --enable-removal-policies --enable-arp-acl # make all # make install # cd auth_modules/NCSA # make # make install
Limpandoosquid.conf
Podeparecerftil,masumalimpezainicialnoarquivosquid.confpode serbemtil.Oarquivodeconfiguraooriginaltem,emmdia,2000 linhas. # cp squid.conf squid.conf.original # egrep -v "^#|^$" squid.conf.original > squid.conf
Configuraesbsicas-ACLs
Vamossuporquenossaredeinternaseja192.168.5.0/24.Criea seguintelinhanosquid.conf,naseodeACLs(TAG:acl): acl rede_interna src 192.168.5.0/24 Easeguintelinhanaseodeacesso(TAG:http_access) http_access allow rede_interna
14 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Referncias
http://www.squid-cache.org/Doc/
http://www.serassio.it/SquidNT.htm
TransparentProxy
Comofuncionaoproxytransparente
ConfigurandooSquid
Configurandooiptables
15 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Provavelmentevocjtenhaseuscriptdeinicializaodofirewall, sendoassimanicacoisanecessriainseriressalinhanele: # iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
ConfigurandooPF(OpenBSD)
Adicioneaseguintelinhaaoseu/etc/nat.conf(levandoem consideraoquesuainterfaceinternasejafxp1) rdr on fxp1 from any to any port 80 -> 127.0.0.1 port 3128
ConfigurandooIPFilter(FreeBSD)
Adicioneasseguinteslinhasaoseu/etc/rc.conf ipfilter_enable="YES" ipnat_enable="YES" ipmon_enable="YES" ipfs_enable="YES"
Adicioneasseguinteslinhasaoseu/etc/ipnat.rules(levandoem consideraoqueorl0suainterfaceinterna) rdr rl0 0/0 port 80 -> 127.0.0.1 port 3128 tcp
Referncias
http://ldp.conectiva.com.br/HOWTO/mini/TransparentProxy.html
BloqueandoSitesindesejados
Todasasconfiguraesdeusurios,grupos,horrioseSITESso configuradasemACLs,
Procurenoseusquid.confondecomeamaserdescritasasACLs. GeralmenteaprimeiraACLaaparecer:
16 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Criandoosarquivosnecessrios
ou # touch /usr/local/squid/etc/bloqueados/unblock.txt
Editandoosquid.conf
Vamosaosquid.conf
DICA:O"!"Significasemprenegaodealgumacoisa.
Referncias
17 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
http://members.lycos.co.uk/njadmin/
http://web.onda.com.br/orso/
BloqueiodeBanners
BaixandoeinstalandooBannerFilter
Movatodoorestopara/etc/squid/bannerfilterou /usr/local/squid/etc/bannerfilter
Editeoredirector.pl.Sevocnotemoperlnolocalpadro (/usr/bin/perl),mudeaprimeiralinha(oucrieumsymlink).
Movaobannerfilter.confparao/etc Mudeasvariveis$DATAe$WWWcomoindicadonoscomentrios.
Opcionalmente,mudetambm$LOGe$BANNERGIFcomoindicado.
Rodeoscriptupdate.shparaatualizaraslistasdebanners. interessantefazerissoconstantemente.
Editandoosquid.conf
18 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
ou redirect_program /usr/local/etc/bannerfilter/redirector.pl
DICA:possveltambmeditarasimagens,deformaatorna-las personalizadasparasuaempresa.
Osbannersiroaparecerdessaformaapstudoinstalado
Referncias
http://phroggy.com/bannerfilter/
Protegendousurioscomantivrus
Pr-requisitos
SernecessrioqueoSquidredirecionedeterminadosdownloadseURLs paraoViralator,deformaqueprecisamosdoSquirmInstaladona mquina.Baixe-oemhttp://squirm.foote.com.au/squirm-1.0betaB.tar.gz # # # # # # # tar zxvf squirm-1.0betaB.tar.gz cd squirm-1.0betaB cd regex ./configure make clean make cp -p regex.o regex.h
E,comonopoderiadeixardeser,umantivrusfaz-senecessrio.
19 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
AtualmenteoViralatortemsuporte:
AntiVir
AVP
RAV
Inoculate
SophosSweep
McAfee
Trend
Viralator
Apsterosquirminstalado,adicioneasseguinteslinhasnoseu arquivosquirm.paterns: abortregexi (^http://[192.168.0.1].*) abortregexi (^http://[cache1.empresa.com.br].*) regexi (^.*\.zip$) http://[192.168.0.1]/cgi-bin/viralator.cgi?url=|\1 regexi (^.*\.doc$) http://[192.168.0.1]/cgi-bin/viralator.cgi?url=|\1 regexi (^.*\.exe$) http://[192.168.0.1]/cgi-bin/viralator.cgi?url=|\1
Onde:192.168.0.1oIPdoseuproxyecache1.empresa.com.bro FQDN2domesmo.
Repitaalinhaquefazrefernciaaextensoparatodosostiposde arquivosquequiserescanearporvrus.
Crieumusurioegrupoparausodosuexeceadicione-osaoseu arquivodeconfiguraodoapache(normalmentehttpd.conf) < VirtualHost 192.168.0.1> ServerAdmin webmaster@empresa.com.br DocumentRoot /var/www/ ServerName cache1.empresa.com.br ErrorLog logs/error_log TransferLog logs/access_log ScriptAlias /cgi-bin/ /usr/local/viralator/cgi-bin/ User viralator Group viralator </VirtualHost>
Onde:/usr/local/viralator/cgi-bin/deveseroseudiretriodecgise viralatoronomedousurioegrupoquevoccriou.
Crieumdiretriochamadodownloadsacessvelaoapache-Algocomo /var/www/downloadsnoDebian-mudesuaspermissespara755.
20 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
# # # #
unzip viralator-09pre2.zip cp viralator-09pre2.cgi /usr/local/viralator/cgi-bin/viralator.cgi chown viralator.viralator -R /usr/local/viralator/cgi-bin/ chmod 755 /usr/local/viralator/cgi-bin/viralator.cgi
Editeoarquivo/usr/local/viralator/cgi-bin/viralator.cgieverifique setodososcaminhosdeprogramasestocorretos.
Referncias
http://viralator.loddington.com/ http://squirm.foote.com.au/
Autenticandousurios
ncsa_auth
Oncsa_authaalternativamaissimples.Eleestdisponveljunto comosquidepodeserimplementadorapidamente.asoluoideal parapequenasemdiainstalaeseredescomarquiteturadegrupode trabalho.
Editandoosquid.conf
Procurepelaseoquefalasobreautenticao(TAG: authenticate_program)einsiraaslinhas: auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/ auth_param basic children 5 auth_param basic realm Digite seu Login
Criandoumarquivodesenhas
Adicionandousurios
21 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
econfirmarasenhaduasvezes.
Quantoaoauthenticate_children5,osuficientesesuaredeno muitogrande.Mudeovalordeacordocomsuasnecessidades.
AgoravamoseditarnovamenteaACLdenossaredeinterna(aquelada seo2.3) acl rede_interna src 192.168.5.0/24 acl rede_interna proxy_auth REQUIRED
smb_auth
Instalandoosmb_auth
Baixeosmb_authem http://www.hacom.nl/~richard/software/smb_auth-0.05.tar.gz # tar zxvf smb_auth-0.05.tar.gz # cd smb_auth-0.05
ConfigurandooPDC
22 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Configurandosquid.conf
Adicioneasseguinteslinhas: auth_param basic program /usr/local/bin/smb_auth -W DOMINIO -U 192.168.5.24 auth_param basic children 5 auth_param basic realm Digite seu Login
Onde:DOMINIOodomniodoPDCe192.168.5.24oIPdomesmo.
Referncias
http://squid.visolve.com/squid24s1/externals.htm#authenticate_program
http://web.onda.com.br/orso/ncsaplus.html
http://www.hacom.nl/%7Erichard/software/smb_auth.html
http://www.linux.trix.net/dicas_squid_nt.htm
ControledeBanda
Esseumfeaturemuitotilparaquemtemumabandaestreita,ou simplesmentetemprioridadesparasuabanda.
Editandoosquid.conf
Vamosadicionaralgumaslinhas.Aprimeiravaievitarquehaja restriodebandainternamente,porissonodeixedecoloc-la. acl controle1 url_regex -i 192.168.5 acl controle2 url_regex -i ftp .exe .mp3 .tar.gz .gz .zip .rar .avi .mpeg .mpg .qt .ram .rm .iso .raw .wav delay_pools 2 delay_class 1 2 delay_parameters 1 -1/-1 -1/-1 delay_access 1 allow controle1 delay_class 2 2 delay_access 2 allow rede_interna delay_access 2 allow controle2
Referncias
23 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
http://www.tldp.org/HOWTO/Bandwidth-Limiting-HOWTO/index.html
http://www.linuxit.com.br/modules.php?name=Sections&op=viewarticle&artid=232
BrincandocomACLs
UtilizandoIPseredes
Issooarroz-com-feijodasACLs.LimitarporIPe/ourede.Vamos porexemplosparasimplificar: acl acl acl acl ip_do_diretor src 192.168.5.5 ips_da_diretoria src 192.168.5.5 192.168.5.6 192.168.5.7 168.5.8 rede_do_rh src 192.168.6.0/24 rede_do_cpd src 192.168.7.0/255.255.255.0
UsandoACLsexternas
O recurso de ACL externa muito til para um tratamento melhorado de algum recurso que no compreendido por ACLs normais.
Uma ACL externa pode ser escrita em qualquer linguagem. Ela deve sempre retornar OK para o stdout caso a condio seja satisfeita,ouERRtambmparaostdoutcasoelanosejasatisfeita.
Voumostraraquiumexemploondeadiretoriadeveacessarqualquercoisa,masosusuariosnormaissaosubmetidosacertas restries.Levoemconsideraoqueousuriojestautenticado. external_acl_type checa_diretoria %LOGIN /etc/squid/modulos/diretoria.sh acl diretoria external checa_diretoria
Arquivo/etc/squid/modulos/diretoria.sh(deveserexecutvel) #!/bin/bash while read linha do if [ `grep -i $linha /etc/squid/users/diretoria` ] then echo OK else echo ERR fi done Esse script verifica se o usurio autenticado pertence diretoria. Para que um usurio seja reconhecido como diretoria, seu usernamedeveestardentrodoarquivo/etc/squid/users/diretoria.
Trabalhandocomdomnios
24 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Restringindoporhorrio
acl expediente time MTWHF 9:00-18:00 acl final_de_semana time SA 8:00-13:00
Onde: Sigla
S M T W H F A
Dia
Domingo segunda-feira tera-feira quarta-feira quinta-feira sexta-feira sbado
ExpressoregularnaURL
MACAddress
Limitandoonmerodeconexesporusurio
25 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
ImpedindoouLimitandootamanhodeuploads
Diversasempresastemanecessidadedeimpedirqueseususuriosdemuploaddearquivosparawebmails,discosvirtuaisou algumoutrotipoderepositrionainternet. O grande problema que o mtodo utilizado para fazer estes uploads o POST, tambm utilizado para preenchimento de formulrios,pesquisas,loginsesenhas,etc.Issoimpedeobloqueiototaldomtodo. Comofazerento?
A opo mais lgica seria limitar o tamanho de um POST para um nmero suficientemente grande para permitir seu funcionamento normal e suficientemente pequeno para impedir o upload de arquivos. Para isso usamos a tag request_body_max_size,abordadaumpoucomaisabaixo.
No entanto essa tag tem uma falha, por no ser compatvel com ACLs, ela limitar todos os usurios no que for determinado, situaonormalmenteincmoda.
Segue um script que encontrei na internet (referncia abaixo), que nos permite criar ACLs baseadas nesse parmetro. Vamos cham-lode/etc/squid/modulos/size.sh #!/bin/sh while read line; do set -- $line length="$1" limit="$2" if [ "$length" -le "$2" ]; then echo OK else echo ERR fi done
Comissolimitamosotamanhodouploadpara10KB,oquedevesersuficienteparapreenchimentodeumformulrio,maspouco paraumupload.
Referncias
http://squid.visolve.com/squid24s1/access_controls.htm
http://www.secforum.com.br/article.php?sid=1259
http://www.mail-archive.com/squid-users@squid-cache.org/msg16568.html
Criandoumarquivodeconfiguraoautomtica
Parafacilitaravidadosusurios(edoadministrator),podemoscriarumarquivodeconfiguraoautomticaquesercolocado nos browsers dos clientes. Dessa forma todos tero seu proxy reconfigurado dinamicamente em caso de mudanas, sem a necessidadedeintervenoemcadamquina.
Essearquivodeveseracessvelviawebe,viaderegra,chama-seproxy.pac.
26 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Vamo supor que seu proxy esteja rodando no servidor 192.168.5.1 na porta 3128 e voc no deseje que ele seja utilizado nas pginasdoseudomnio(empresa.com.br): function FindProxyForURL(url, host) { if (isPlainHostName(host) || dnsDomainIs(host, ".empresa.com.br")) return "DIRECT"; else return "PROXY 192.168.5.1:3128; DIRECT"; }
Referncias
http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html
Gerandorelatrios
SARG
DesenvolvidopelobrasileiroPedroOrso,eletransformaologdosquid emumrelatriohtmllegvelecompleto.
Instalao
# # # # # #
wget http://web.onda.com.br/orso/sarg-1.4.tar.gz tar zxvf sarg-1.4.tar.gz cd sarg-1.4/ ./configure make make install
Configurao
27 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Sendoimportantedestacar: Comandos
access_log output_dir resolve_ip user_ip topsites_num
Descrio
Indicaoarquivodelogdosquid Indicaondesergeradoohtml.recomendvelquesejaemumlocalacessvelpeloseuhttpserver EvitaqueosargtentefazerresoluodeDNS Sevocnoestiverutilizandoautenticaoporusurio,coloque"no".Seestiver,coloque"yes" QuantidadedesitesquevocquervercomoosTOPdeacessos
Gerandoosrelatrios
ExemploderelatriodoSARG
Dica
Os relatrios do Sarg ocupam um imenso espao em disco, principalmente pelo falto de no ter um rotate nem comprimir os HTMLS.Podemoscontornarissocolocandoemnossacrontable: find /var/www/squid-reports/ -name "*.html" -type f -mtime +30 -exec bzip2 {} \; find /var/www/squid-reports/ -name "*.bzip2" -type f -mtime +180 -exec rm -rf {} \;
Calamaris
Baixandoerodando
Diretoereto: # # # # wget http://cord.de/tools/squid/calamaris/calamaris-2.57.tar.gz tar zxvf calamaris-2.57.tar.gz cp calamaris /usr/bin cat /var/log/squid/access.log | calamaris -F html
28 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
ExemploderelatriodoCalamaris
SquidGraph
Instalao
Comoumsistemafeitoemperl,nonecessriocompilar.
Criandoosgrficos
29 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
ExemploderelatriodoSquidGraph
Referncias
Sarg'sHomePage
TrabalhandocomHierarquias
Ficafcildevisualizarquesetodasasempresasinterligassem localmenteseusproxies,todasteriamganho.
TodaacomunicaoentreoscachesfeitaviaICP
EntendendooICP
OICPfoidesenvolvidocomopartefundamentaldoprojetoHarvest(Pai doSquid).Seuobjetivoproverummtodorpidoeeficientede obter-secomunicaoentreservidorescache.
30 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Fazendoroteamentopordomnios
Essafeature,apesardesimples,podemelhorarmuitoodesempenhode grandesinstalaes.
Aconfiguraoseriaalgoassim: cache_host_domain cache_host_domain cache_host_domain cache_host_domain cache1 cache2 cache3 cache4 portalxpto.com portalxing.com portalling.com !portalxing.com ! portalxpto.com !portalling.com
Sendoqueocache4seroresponsvelportodososdomniosqueno sejamos3anteriores.
Roteandoporprotocolo
Podemostambmdefinirqualserarotatomadabaseando-seem protocolo. acl FTP proto FTP acl HTTP proto http cache_host_acl cache1 FTP cache_host_acl cache2 HTTP
Paiefilho
Paisefilho
Emumasituaoideal,existemdiversosservidores.Aescolhasobre qualutilizarserbaseadanomtodoroundrobin. cache_host cache1 parent 3128 3130 round-robin no-query cache_host cache2 parent 3128 3130 round-robin no-query cache_host cache3 parent 3128 3130 round-robin no-query
31 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Referncias
http://www.squid-cache.org/Doc/Hierarchy-Tutorial/tutorial.html
UtilizandooSquidcomoproxyreverso
Configuraodeproxyreverso
Onde: Parametro
http_port80 httpd_accel_host192.168.0.51 httpd_accel_port80 httpd_accel_single_hoston httpd_accel_uses_host_headeroff
Objetivo
NmerodaportaondeoSquidirescutar IPdoservidorWebinterno Portaondeowebserverestescutando Ativaosquidparasomenteumwebserveratrs importantemanteressaopoOFF,vistoqueelaalteraosheaders
Referncias
32 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
http://squid.visolve.com/white_papers/reverseproxy.htm
OtimizandooSquid
VamoslistaralgumasdicasparatornarodesempenhodeseuSquid. Algumasdelassogenricas,comoaumentaramemriaalocadapelo Squid,outrassoespecficas,comoutilizarumdeterminadosistemade arquivosnoLinux.
EspecificandooHardware
Essaetapaimportantenoinciodoprojeto.Oidealtraarum perfildecomoecomoserem1anoovolumedeusodessehardware.
PequenasinstalaesdispensamHD(disco)SCSI,umaopoquejfica inviveleminstalaesmaiores.
AoutilizarRAID,prefiraonvel0doqueoutros,vistoqueomesmo feitoparadesempenho.
Maisabaixovamosestudaralgunscasosdeempresasdetamanhose necessidadesdiferentes,comtodooperfildehardwareutilizado.
Sistemasdearquivo
Linux-reiserfsouxfs Windows2000-NTFS
DNS
33 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Mltiplasrotas
Editandoosquid.conf
cache_swap_lowpercentage
Definaalgocomo: cache_swap_low 95
cache_swap_highporcentagem
Justamenteoopostodaopoanterior.Aquisedefineolimitemximo. cache_swap_high 98
maximum_object_sizebytes
Adefiniodessapropriedadedeveseranalisadacomcritrio,visto quelimitamosaquiotamanhomximodeumobjetoemcache.Objetos maioresdoqueesselimitenososalvosemdisco. Paradefinircomoconfigurarotamanhomximonessaopo,deve-se levaremconsideraoqueumnmerograndeimplicaemmaioreconomia debandaeperdadeperformancenocachelocal,enquantoumnmero menornoajudamuitoemganhodebanda,masmelhoraavelocidadeem tempoderesposta.Recomenda-seautilizaodeumavalorentre4e16 MB. maximum_object_size 16384 KB
34 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
maximum_object_size_in_memorybytes
cache_dirTypeMaxobjsizeDirectory-NameMbytesLevel-1Level2
possvelterdiversosdiretriosdecach,masissosvaifazer sentidoseestiverememHDsseparadas.Casoapartioondeoseui Squidfazcachevenhaaencher,possvelcriarumdiretriodecache emoutrapartio,semcomissoobterganhosdeperformance significativos. cache_dir ufs /scsi2/cache 5000 16 256
Referncias
http://www.pop-pb.rnp.br/proxy/tsld033.htm
UtilidadesPblicas
Aquiestoalgunscomandosquepodemserteis.
Resetandoocachedosquid
Reiniciandoasconfiguraesdosquid
EntrandoemmodoDebug
35 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Oresultadodomododebugestarnoarquivocache.log,dentrododiretriodelogs.
ATENO:Aquantidadedelogsgeradaporessemodomuitograndeeircausarlentidonosistema.Nodeixeessaopo habilitadapordefault.
Squidsaindocomerro(SquidParent:childprocessexitedduetosignal)
Quandoocorreumerroqueimpedeaexecuoouprovocaamortedosquid,umavisoenviadoaoseulogassinalandoocdigo doerro. Compileiaquiumapequenatabelacomalgunserrosqueencontreieassoluespropostas. Nmero
6 9 11 25
Verifique
Quantidadedememriadisponvel,espaoemdisco,BadBlocksnoHD,problemasdeDNS Ofilesystemread-only Segmentationfault.OuvocecontrouumbugnoSquidouseusistema(libs)estcomproblema Vejasealgumlogtemmaisde2GB-access.log,cache.logoustore.log
Estudodecasos
Simples,eficienteemuitotil
Diagramadarede
36 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Justificativa:
Aspequenasdominam
Soluo:
1-AdicionarumasegundaplacaderedeaoservidorMicrosoft.
InstaleoSquidnoservidorMicrosoftdeacordocomasinstrues dadasanteriormenteeconfigure-oadequadamente.
Justificativa:
Precoces
Poroutrolado,existemempresaspequenas,talvezatmicro,quetm umavisodetecnologiamaisfrentenomercado.Advocacias,
37 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Soluo:
Instalartambmosargegerarrelatriosdiriosdeutilizao. Utilizar-sedafacilidadedelogrotateefazebackupdiriodoslogs.
Justificativa:
Arrozcomfeijo
Soluo:
1-Adquirirumservidordequalidade,analisandoanecessidadede hardwaredainstalao
Justificativa:
38 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
fazemoservioporumvalorquaseirrisrio,comotambmofazemcom perfeio.
15.5Umaempresasadia
Paranodizerquestemosproblemas,averbaerabemgordaparaa implantaoerazovelparaamanuteno.
Diagramadarede
Soluo:
1-Adquirir3linksADSLdevelocidades512Kbps(x2)e2Mbits(1x)
2-Adquirir2servidores(umdelescom5placasderede)
InstalarLinuxemambososservidores.1delesseroCacheeooutro ofirewall.
Nocache,deve-seinstalarumsistemadeautenticao,restriode horrio,restriodesitesegeraodelogs.
Justificativa:
Todososusurios,porsuavezsomuitobemcontroladosemtudooque fazem.Garante-seassimtodososrequisitosexigidospelocliente.
Matrizefilial
Nosorarososcasosdeempresasquedispedelinkcomainternet apenasemsuamatrizetodasassuasfiliaisinterligadasaelapor
39 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Soluo: 1-Adquirirumservidorparacadafilial
Justificativa:
Cacheareo
Diagramadarede
Nossocenrioaquiexatamenteesse.UmISPwirelesscomumbackbone centralediversospontosdepresena.
Soluo:
1-AdquirirumservidorparacadaPOP3
40 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Justificativa:
ISP
PublicServiceAdsbyGoogle
ExaminandooSquid.conf
41 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Apartirdeagora,vamosexplicarpassoapassoastagsde configuraodosquid.conf.
Altereasopescomcautelaecertifique-sedequerealmente necessitafazeramudanaqueplaneja.
TagsdaseoNetwork
Essaseoexplicatodososparmetrosdeendereosderedes relevantesparaumainstalaodoSquid.
http_port
http_portporta http_portip:porta
hostname:porta
1.2.3.4:porta
icp_port
icp_portporta
htcp_port
42 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
htcp_portporta
mcast_groups
Especificaumalistadegruposmulticast,noqualseuservidorpode juntar-separareceberrequisiesICP.Padro=none
mcast_groupsEndereo_IP
tcp_outgoing_address
udp_incoming_address
usadopelosocketICPparareceberpacotesdeoutroscaches.Padro: 0.0.0.0
udp_incoming_addressEndereo_IP
udp_outgoing_address
usadopelosocketICPparaenviarpacotesaoutroscaches.Padro: 255.255.255.255
udp_outgoing_addressEndereo_IP
TagsdaseoPeercacheserverseSquidhierarchy
AstagsdessaseosorelevantesquandorodandooSquidemumarede comhierarquia.
43 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
cache_peer
cache_peerhostnametipoporta_httpporta_icp[opes]
ParmetrosDescrio
HostnameHostname(FQDN)ouendereoIPdocacheaserpesquisado.
tipoAquiespecifica-seahierarquiadecachedefinida.Opo importanteparaescolhaderegrasdevizinhana.
Opes:
parent
sibling
multicast
porta_httpOnmerodaportaondeocacheouveasrequisieshttp.
porta_icpOnmerodaportaondeocacheouveasrequisieshttp.
Opes proxy-only Weight=n ttl=n no-query Descrio Especificaqueosobjetosdesseservidornodevemsersalvoslocalmente Especificaopesodeum"pai".Deveserumvalorinteiro,sendoqueopadro1.Servidorescomumpesomaior tempreferncia Especificaotempodevidadeummulticast Essa opo ser utilizando quando fazendo requisiesa cachesque no aceitamou no suportamICP.Caso utilizeessaopo,configureoquartocampocomo0 SeessecacheserusadocomoumaltimaopoeelenoestconfiguradoparatrabalharcomICP,entputilize essaopo.Elenoseropadro,massimaltimaopo,apesardoqueindicaonomedatag Defineumasriede"pais"quepodemserusadosbaseadosemalgortimoround-robin. Indicaqueoservidorindicadomembrodeumgrupodemulticast. Indica que,para uma resposta ICP_OP_MISS,nssomente iremospassar CLOSEST_PARENT_MISS e nunca FIRST_PARENT_MISS. Nofazrequisiestipodigestparaessevizinho. DesabilitarequisiesICMPRTTdessevizinho Evitaqueessevizinhosejainfluenciadoporumadelaypool. Casoesseservidorexijaautenticao. Especificaotimeoutparaessaconexo. DizaoSquidparabuscaroresumodocacheutilizandoessaURL.
default round-robin multicast-responder closest-only no-digest no-netdb-exchange no-delay login=usurio:senha connect-timeout=nn digest-url=url
44 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
cache_peer_domain
Limitaodomnioparaqualcadavizinhoserrequisitado.usadoparaenviarrequisiesparacachesdiferentes dependendododomnio.
Colocarum'!'antesdodomnosignificaqueocacheirarmazenaro quenoforparatal.
Pode-secolocartantosdomniosquantonecessrioporcache,tanto namesmalinhacomoemlinhasseparadas.
Quandomltiplosdomniossodadosparaumnicocache,oprimeiro domnioaplicado.
Cachehostssemdomnioiroaceitartodosospedidos cache_peer_domaincache_hostdomnio[domnio]
neighbor_type_domain
neighbor_type_domainparent|siblingdomnio[domnio]
icp_query_timeout
Aquipode-sedefinirmanualmenteotimeoutdeumarequisioICP. VistoqueoSquidirautomaticamentedeterminarumvalorideal baseadoemrequisiesrecentes,bomnoalteraressaopo.
icp_query_timeoutmilisegundos
maximum_icp_query_timeout
TempomximodeexpiraodeumarequisioICP.Arespostanoser maisesperadadepoisdessetempo.
maximum_icp_query_timeoutmilisegundos
mcast_icp_query_timeout
45 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
ComooSquidficaaguardandoresposta,nocoloqueumvalormuito alto.OpadroestOK.2000ms.
mcast_icp_query_timeoutmilisegundos
dead_peer_timeout
dead_peer_timeoutsegundos
hierarchy_stoplist
Umalistadepalavrasque,encontradasnaURL,farocomqueoobjeto sejamanipuladoautomaticamenteporessecache.
hierarchy_stoplistpalavras
no_cache
UmalistadeelementosdeumaACL,onde,seencontrados,impedemo objetodesercacheado.
no_cachedeny|allownomeacl
TagsdaseoCachesize
cache_mem
Especificaonmeroidealdememriausadopara:
Ostamanhodosdadosparaessesobjetossodefinidosemblocosde4 KB.Esseparmetroespecificaolimiteidealparaosblocosalocados.
46 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
cache_memtotalMB
cache_swap_low
cache_swap_lowporcentagem
cache_swap_high
maximum_object_size
maximum_object_sizebytes
minimum_object_size
minimum_object_sizebytes
maximum_object_size_in_memory
Adefiniodessapropriedadedeveseranalisadacomcritrio,visto
47 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
quelimitamosaquiotamanhomximodeumobjetoemcache.Objetos maioresdoqueesselimitenososalvosemdisco.
maximum_object_size_in_memorybytes
ipcache_size
Especificaotamanhodocachedeip.Padrode1024.
ipcache_sizenmero_entradas
ipcache_low
EspecificaonmeromnimodeIPscacheados.Padrode90.
ipcache_lowporcentagem
ipcache_high
EspecificaonmeromximodeIPscacheados.Padrode95.
ipcache_highporcentagem
fqdncache_size
EspecificaonmeromximodeFQDNscacheados.Padrode1024.
fqdncache_sizenmero_entradas
cache_replacement_policy
Definequalobjetosermantidonamemriaequalserremovidopara criarespaoparanovosobjetos.
Opo LRU Descrio AopopadroutilizadapeloSquid.Mantmemcacheobjetosreferenciadosarecentemente,ouseja,comearemovendo docacheoobjetoquefoireferenciadoamaistempo.
48 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Tem a filosofia de mantm em cache objetosmenores,referenciadosmaisvezes,gerando uma maior possibilidade de fornecerumhit. Mantmosobjetosmaispopularesemcache,independentedeseutamanho. PolticaLRUacrescidadousodepilhas.
cache_replacement_policypoltica
memory_replacement_policy
Determinaquaisobjetossoremovidosdamemriaquandopreciso liberarespao.Segueasmesmaspolticasdocache_replacement_policy
memory_replacement_policypoltica
TagsdaseoLogfilepathnamesandcachedirectories
recomendvelquevocutilize-sedeumapolticaderotacionamento delog,comoolog-rotate.
cache_dir
MbytesQuantidadedeespaoemdiscoocupadoporessediretrio. DefinidoemMB.
nvel-1Nmerodesubdiretriosdeprimeironvelcriadossobo diretrioprincipal.
nvel-2Nmerodesubdiretriosdesegundonvelquesercriado
49 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
abaixodecadasubdiretriodeprimeironvel.
cache_dirtipotamanho_mx_objnome_diretrioMbytesnvel-1nvel2 [..]
cache_access_log
Especificaocaminhoparaoarquivodelogsdeacesso,oqualguarda todasasrequisieseatividadesdeclientes.Osdetalhesdolog podemsercustomizadoscomolog_mime_hdrs,log_fqdnmclient_netmaske emulate_httpd_log.Padro:/usr/local/squid/logs/access.log.
cache_access_logpath_diretrio/nome_arquivo
cache_log
cache_logpath_diretrio/nome_arquivo
cache_store_log
cache_store_logpath_diretrio/nome_arquivo
cache_swap_log
cache_swap_log.00
cache_swap_log.01
cache_swap_log.02
50 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
cache_swap_logpath_diretrio/nome_arquivo
emulate_httpd_logon|off
emulate_httpd_logon|off
log_ip_on_direct
Ativa/DesativaaopodelogginparaumIPdestinoemumahierarquia quandoocachedirecionaarequisiodeumservidororigem.
log_ip_on_directon|off
mime_table
ConfiguraatabelaMIMEdoSquid.Essearquivoirconterostipos MIMEsuportadospeloSquid.Padro:/usr/local/squid/etc/mime.conf.
mime_tablepath_diretrio/nome_arquivo
log_mime_hdrson|off
log_mime_hdrson|off
useragent_log
useragent_logpath_diretrio/nome_arquivo
referer_log
51 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
referer_logpath_diretrio/nome_arquivo
pid_filename
EspecificaemqualarquivoserarquivadooPIDdosprocessosdo Squid.Padro:/usr/local/squid/logs/squid.pid.
pid_filenamepath_diretrio/nome_arquivo
debug_options
Comooslogssoconfiguradospornvel,podemosconfigurarotantode informaesqueoSquidirgerarparanossaanlise.Recomendoque utilizeopadro,excetoseestivertendoalgumproblemaquenopossa serfacilmentediagnosticado.Quantomenoronveldelog,menos informaesserogeradas.UsandoapalavraALL,podemosconfiguraro nveldelogemtodosdeumanicavez.Padro:ALL,1.
debug_optionsseo,nvel
log_fqdn
PodeserconfiguradocomoON,sevocdesejalogaroFQDNno access.log.Porpadroestdesabilitado.
log_fqdnon|off
client_netmask
Amscaraderedeparaoendereodeclientesesadadocachemgr. Utilizeopadrocomomelhoropo.Padro:255.255.255.255.
client_netmaskmscara_rede
TagsdaseoSupportforExternalfunctions
52 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
ElessochamadospeloSquidatravsdefork()ouexec()padro.O nmerodeforksfilhosserespecificadosparacadaprocessoexterno.
Parmetrosrelevantesparaessaseo:
ftp_user
ftp_usernome_usurio
ftp_list_width
ftp_list_widthnmero
ftp_passive
SeoseufirewallnopermitequeoSquiduseconexespassivas, desligueessaopo.
ftp_passiveon|off
cache_dns_program
cache_dns_programprograma
dns_children
NmerodeprocessossimultneosparaoserviodeDNS.Paraservidores comgrandeload,pelomenos10filhosdevemseriniciados.Omximos ficaem32filhos,sendoopadro5.Novamenteprecisotercompilado oSquidespecialmenteparasuporteaDNSexterno.Quantomaisrpidaa
53 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
resoluoDNS,melhorodesempenhogeraldosistema.Tendoissoem mente,utilize32processosfilhos.
dns_childrennmero
dns_retransmit_interval
TempoinicialqueoDNSaguardapararetransmitirumasolicitao.O intervalodobracadavezquetodososDNSconfiguradossotentados.
dns_retransmit_intervalsegundos
dns_timeout
dns_timeoutminutos
dns_defnames
dns_nameservers
PodeserusadaparaespecificarumalistadeservidoresDNSnolugar no/etc/resolv.conf
dns_nameserversEndereo_IP
unlinkd_program
unlinkd_programpath_diretrio/nome_programa
54 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
diskd_program
Especificaalocalizaododiskd.
diskd_programpath_diretrio/nome_programa
pinger_program
Defineocaminhodoexecutvelpinger.
pinger_programpath_diretrio/nome_programa
redirect_program
DizqualocaminhodoredirecionadordeURL.Existemdiversas aplicaesquepoderoserutilizadasaqui.
redirect_programpath_diretrio/nome_programa
redirect_children
Nmerodeprocessosfilhosparaoprogramaderedirect.
redirect_childrennmero
redirect_rewrites_host_header
redirect_rewrites_host_headeron|off
redirector_access
Sedefinido,essalistadeacessoespecificaquaisrequisiesso enviadasparaoprocessoderedirect.Porpadro,todasoso.
redirector_accessallow|deny
55 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
authenticate_program
Especificaocomandodoautenticadorexterno.Esseprogramaluma linhacontendo:"usuriosenha"edevolveumOKouERR.Parautilizar oautenticadorprecisoterumaACLrelacionada.
authenticate_programpath_diretrio/nome_programa path_diretrio/arquivo_senhas
authenticate_children
Nmerodeprocessosfilhosdoautenticador.Padrode5.
authenticate_childrennmero
authenticate_ttl
authenticate_ttlsegundos
authenticate_ip_ttl
authenticate_ip_ttl_is_strict
authenticate_ip_ttl_is_stricton|off
TagsdaseoparatunningdoSquid
56 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Essaseodescreveimportantesparmetrosparadeterminara performancedoSquid.
wais_relay_host/wais_relay_port
DefineoservidorderelacionamentoWAIS
wais_relay_hosthost
wais_relay_portporta
request_header_max_size
request_header_max_sizekbytes
request_body_max_size
request_body_max_sizekbytes
reply_body_max_size
Tamanhomximodocorpodeumreply.Issotilparaimpedirqueseus usuriosbaixemarquivosgrandes.Padrode0.
reply_body_max_sizekbytes
refresh_pattern
57 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
dandoreloademumapginaireconomizarsuabanda,poisadorde cabeageradasermuitomaiscaradoquesuabanda.
Parmetros mn Descrio Tempo mnimo,em minutos,que um objeto sem um tempo de expirao explicitamente configurado ser considerado vlido.Utilize,impreterivelmente0. aporcentagemdaidadedosobjetos,desdealtimamodificao,noqualesseserconsideradovlido,desdequeno tenhaumvalordeexpiraoconfigurado. otempomximo,emminutos,queumobjetossemumtempodeexpiraoexplicitamenteconfiguradoserconsiderado vlido.
porcentagem
mx
refresh_pattern[-i]regexmnporcentagemmx[opes]
reference_age
reference_agetempo
quick_abort_min/quick_abort_max/quick_abort_pct
quick_abort_minkbytes
quick_abort_maxkbytes
quick_abort_pctporcentagem
58 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
negative_ttl
negative_ttltempo
positive_dns_ttl
positive_dns_ttltempo
negative_dns_ttl
TempodevidaderesoluesfalhasdeDNS.
negative_dns_ttltempo
range_offset_limit
range_offset_limitbytes
TagsdaseoTimeouts
connect_timeout
59 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
connect_timeoutsegundos
peer_connect_timeout
peer_connect_timeoutsegundos
siteselect_timeout
read_timeout
read_timeouttempo
request_timeout
request_timeoutsegundos
client_lifetime
client_lifetimetempo
half_closed_clients
60 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
half_closed_clientson|off
pconn_timeout
pconn_timeoutsegundos
ident_timeout
ident_timeoutsegundos
shutdown_lifetime
shutdown_lifetimesegundos
TagsdaseoAccessControlLists
61 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
acl
aclnometipostring1...|"arquivo"
src Baseadoemipouhostnamedeorigemdarequisio
aclnomesrcip/mscara.
dst Baseadoemipouhostnamededestinodarequisio.AACLsinterpretadadepoisquearesoluoDNSforfeita.
aclnomedstip/mscara.
Odomnio da mquina cliente.Osdomniossero obtidosporresoluo reversa de IP,o que pode causaratrasospara a respostadarequisio.
srcdomain
aclaclnamesrcdomainnome_domnio
dstdomain Mesmoquesrcdomain,maslevando-seemcontaodestino.
aclnomedstdomainnome_domnio
srcdom_regex Expressoregularqueavaliadaparatentarmarcarumdomniorequisitante.
aclnomesrcdom_regexregex
dstdom_regex Mesmoquesrcdom_regex,mascomrelaoaodestino.
aclnomedstdom_regexregex
time Diadasemanaehora
aclnometime[abreviao-do-dia][h1:m1-h2:m2]
Onde:
h1:m1-horriodeincio h2:m2-horriodotrmino
url_regex EssaACLirprocuraemnaURLumaexpressoregularqueespecificada.Opocase-sensitive
aclnomeurl_regexregex
Essa acl ir fazer uma combinao de uma expresso regular com o caminho em um servidor que est se tentando acessar.IssosignificaqueoSquidirignoraronomedoservidoreoprotocoloutilizado.
urpath_regex
aclnomeurlpath_regexregex
port Oacessopodesercontroladopelaportadoendereodoservidorrequisitado.
aclnomeportnumero-porta
proto Especificaoprotocolodetransferncia(http,ftp,etc).
62 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
aclnomeprotoprotocolo
method Especificaotipodemtododarequisio.
aclnomemethodtipo-mtodo
ExpressoregularcujopadrotentaracombinarcomocontidonocabealhoHTTPderequisiodocliente,descobrindoassim oagente(browser)utilizado.
browser
aclnomebrowsertipo
ident Seqnciadecaracteresquecombinamcomonomedousurio.RequerumservidorIdentrodandonamquinadocliente.
aclnomeidentnome_usurio
ident_regex Omesmoqueident,masutilizando-sedeexpressoregular.
aclaclnameident_regexpattern
src_as Origemdeumsistemaautnomo
dst_as
Destinodeumsistemaautnomo
snmp_community
ComunidadeSNMP.
aclsnmppublicsnmp_communitypublic
Limitemximodeconexesprovenientesdeummesmocliente.tilpararestringirnmerodeusuriosporIP,bemcomofazer controledeusodabanda.
maxconn
req_mime_type
Expressoregularquecombinacomotipodecontedocontidonocabealhoderequisio.
aclnomereq_mime_typepadro
arp MACAddressdocliente.
aclnomearpMAC_ADDRESS
http_access
Permiteounegaacessoaoserviohttpbaseadonalistadeacesso (acl)definida.Ousode"!"indicaqueseranegaodaacl.
icp_access
PermiteounegaacessoportaICP,baseando-senaslistasdeacesso.
icp_accessallow|deny[!]nome...
63 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
miss_access
Usadoparaforarseusvizinhosausarseuservidorcomo"irmo"ao invsde"pai".
miss_accessallow|deny[!]nome...
cache_peer_access
cache_peer_accesscache-hostallow|deny[!]nome...
ident_lookup_access
UmalistadeelementosemumaACL,osquais,seencontrados,iro gerarumarequisioIDENT.
ident_lookup_accessallow|denynome...
Tagsdaseoauth_param
Formatogeral
auth_paramesquemaparmetro[opes]
program
auth_parambasicprogram/path/do/programa/path/do/arquivo/senhas
children
64 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
Nmerodeprocessosfilhosqueoprogramadeautenticaopoder conter.
auth_parambasicchildrennmero
realm
Textoqueiraparecernacaixadedilogodelogin.Nonecessrio configurar,masconfereumacertapersonalizaoaoservidor.
auth_parambasicrealmTextodelogin
credentialsttl
EspecificaporquantotempooSquidirassumirqueumaautenticao bemsucedidacontinuarvlida.
auth_parambasiccredentialsttltempo
Tagsdaseoparmetrosadministrativos
cache_mgr
cache_mgrusurio
cache_effective_user/cache_effective_group
65 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
cache_effective_groupgrupo
visible_hostname
visible_hostnamenomehost
hostname_aliases
hostname_aliasesnomehost
Tagsdaseohttpd-accelerator
Nessaseotambmconfigura-seoSquidparatrabalhardemodo transparente.
httpd_accel_host
httpd_accel_hosthostname(IP)|virtual
httpd_accel_port
Portaparaqualasrequisiesaceleradasseroenviadas.
httpd_accel_portporta
66 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
httpd_accel_single_host
httpd_accel_single_hoston|off
httpd_accel_with_proxy
httpd_accel_with_proxyon|off
httpd_accel_uses_host_header
httpd_accel_uses_host_headeron|off
TagsdaseoMiscellaneous
dns_testnames
dns_testnamesURL
67 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
logfile_rotate
logfile_rotatenmero
append_domain
Anexaonomedodomniolocalparahostnamessemnenhumponto(.). Essaopodeveconterumdomniocomponto(.)noincio.
append_domainnome_domnio
tcp_recv_bufsize
TamanhomximodeumbufferTCP.
tcp_recv_bufsizebytes
err_html_text
err_html_texttexto
deny_info
memory_pools
Seconfigurado,oSquidirmanterpoolsdememriaalocadaelivre parausofuturo.
memory_poolson|off
68 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
memory_pools_limit
memory_pools_limitbytes
forwarded_for
forwarded_foron|off
log_icp_queries
Configurando-seessaopocomoativa,asrequisiesICPpassaroa serlogadasnoaccess.log.
log_icp_querieson|off
icp_hit_stale
SevocdesejaretornarumICP_HITparaobjetosestticoscacheados, configureessaopopara`on'.
icp_hit_staleon|off
minimum_direct_hops
minimum_direct_hopsnmero
minimum_direct_rtt
69 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
minimum_direct_rtttempo
cachemgr_passwd
Especificaasenhaparaoperaesdegerenciamentodecache.
cachemgr_passwdsenhaaoao...
Aes 5mineventsnon_peersvia_headers 60minfiledescriptorsobjectsvm_objects asndbfqdncachepconn authenticatorhistogramspeer_select cbdatahttp_headersredirector client_listinforefresh comm_incomingioserver_list configipcacheshutdow countersdelaymemstore_digest digest_statsmenustoredir dnsnetdbutilization store_avg_object_size(kbytes)
store_avg_object_sizetamanho
store_objects_per_bucket
Nmerodeobjetosarmazenadosdeumanicavezemumatabelahash.
store_objects_per_bucketkbytes
client_db
Sevocdesejadesabilitarestatsticasporcliente,desabiliteessa opo.
client_dbon|off
netdb_low/netdb_high
70 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
netdb_lowentradas
netdb_highentradas
netdb_ping_period
Otempomnimodemediodeumsite.
netdb_ping_periodtime-units
query_icmp
SevocdesejafazercomqueasrequisiesICPsejamtambm respondidascominformaesICMPpelosseusvizinhos,habiliteessa opo.Lembre-sequenecessrioqueoSquidtenhasido especificamentecompiladocomsuporteaicmpparaqueessaoposeja funcional.
query_icmpon|off
test_reachability
test_reachabilityon|off
reload_into_ims
reload_into_imson|off
always_direct
PodeutilizarelementosdeumaACLparaespecificarrequisiesque devemsempreserencaminhadasparaoservidordeorigem.Isso
71 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
normalmenteutilizadojuntamentecomaopocache_peer. always_directallow|deny[!]nome...
never_direct
aregraopostaaoalways_direct,funcionandodamesmamaneira.
never_directallow|deny[!]aclname...
anonymize_headers
anonymize_headersallow|denynome_cabealho...
possvelutilizaressaopopermitindoquedeterminadostiposde cabealhossejamvistosounegandooutros.
Paraterumaheaderigualao`http_anonymizer',precisoconfigurar daseguinteforma:
anonymize_headersallowAllowAuthorizationCache-Control
anonymize_headersallowContent-EncodingContent-Length anonymize_headersallowContent-TypeDateExpiresHost
anonymize_headersallowIf-Modified-SinceLast-Modified
anonymize_headersallowLocationPragmaAccept
anonymize_headersallowAccept-EncodingAccept-Language
anonymize_headersallowContent-LanguageMime-Version
anonymize_headersallowRetry-AfterTitleConnection
anonymize_headersallowProxy-Connection
fake_user_agent
EssaopofazcomqueoSquidenvie,comoversodobrowser,o parmetroqueforconfigurado.
72 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
fake_user_agentString
icon_directory
Especificaodiretrioemqueosconesestoarmazenados.
icon_directorypath_diretrio/nome_diretrio
error_directory
error_directorypath_diretrio/nome_diretrio
minimum_retry_timeout
maximum_single_addr_tries
Configuraonmeromximodetentativasdeconexesemumservidorque tenhasomenteumendereo.
maximum_single_addr_triesnmero
snmp_port
snmp_portporta
snmp_access
73 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
PermiteounegaacessoportaSNMP,baseando-seemumaacl.
snmp_accessallow|deny[!]aclname...
Tagsdaseodelaypool
delay_pools
delay_poolsnmero
delay_class
Defineaclassedecadadelaypool.Devehaverexatamenteumaclasse dedelayparacadadelaypool.
delay_classnmero(delay-poolnumber),nmero(delayclass)
delay_access
Determinaemqualdelaypoolumarequisioserencaixada.Aprimeira acombinarserutilizada,porissoverifiquecomcuidadosuasacls.
delay_accessallow|denynomeacl
delay_parameters
Defineosparmetrosparaumadelaypool.Cadadelaypooltemum nmerodealocaodetrfegoassociado.
delay_parameterspoolagregado(delay_class1)
delay_parameterspoolagregadoindividual(delay_class2)
74 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
delay_parameterspoolagregadonetworkindividual(delay_class3)
delay_initial_bucket_levelbytes
Sodescritososalgoritmosusadosparaastagsacima,
TagNamenmero
Padro:
incoming_icp_average6
incoming_http_average
4incoming_dns_average
4min_icp_poll_cnt8
min_dns_poll_cnt8
min_http_poll_cnt8
max_open_disk_fds
max_open_disk_fdsnmero
offline_mode
Comessaopoativada,oSquidnuncairtentarvalidarobjetos cacheados.
offline_modeon|off
uri_whitespace
75 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
AaoquesertomadaquandoumaURIcontiverespaosembranco decididanessatag.Padrostrip.
uri_whitespaceopes
Opes strip deny allow encode chop Descrio OsespaosembrancosoremovidasdaURL,deacordocomorecomendadonaRFC2616 Arequisionegadaeoclienterecebeumamensagemde"RequisioInvlida" Arequisioaceitaeosespaosembranconosoalterados. ArequisioaceitaeosespaossocodificadosdeacordocomaRFC1738 Arequisiocortadaemandadaapenasatoespaoembranco
broken_posts
broken_postsallow|denynomeacl
nonhierarchical_direct
nonhierarchical_directon|off
prefer_direct
prefer_directon|off
strip_query_terms
Parahabilitarologdetodosparmetrosdasrequisies,necessrio habilitaressaopo.CasocontrriooSquidapenasdforwarddas
76 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
mesmassemgerarumlogcompleto.
strip_query_termson|off
coredump_dir
coredump_dirdiretrio
redirector_bypass
redirector_bypasson|off
ignore_unknown_nameservers
digest_generation
digest_generationon|off
digest_bits_per_entry
Nmerodebitsdoresumodecachedoservidor,oqualserassociado comacombinaodeumdadotipodemtodoHTTPeURL.
77 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
digest_bits_per_entrynmero
digest_rebuild_period
Nmerodesegundosparaareconstruodoresumodocache.Opadro de1hora.
digest_rebuild_periodtempo
digest_rewrite_period
Tempodeesperaentreescritasderesumonodisco.Comonaopo anterior,oresumoescritoacada1hora.
digest_rewrite_periodtempo
digest_swapout_chunk_size
Nmerodebytesdoresumoaescreverdecadavez.PorpadrooSquid utiliza4KB,queotamanhopadrodeumapginadeswap.
digest_swapout_chunk_sizebytes
digesvt_rebuild_chunk_percentage
Configura-seaquiaporcentagemdoresumodecachequeserverificada decadavez.Porpadroestconfiguradopara10%dototal.
digest_rebuild_chunk_percentageporcentagem
chroot
chrootenable|disable
client_persistent_connections/server_persistent_connections
78 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
client_persistent_connectionson|off
server_persistent_connectionson|off
pipeline_prefetch
Paramelhorarodesempenhoderequisiesefila,oSquidir trabalharcom2requisiesparalelamente.
pipeline_prefetchon|off
extension_methods
high_response_time_warning
high_response_time_warningmsec
high_page_fault_warning
high_page_fault_warningtime-units
high_memory_warning
Seousodememriaexcedeovalordeterminado,oSquidmandaumaviso denvel0nodebug(normalmentegerandoumasadanosyslog)de
79 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
alerta.
high_memory_warningnmero
store_dir_select_algorithm
store_dir_select_algorithmtipo_algoritmo
ie_refresh
ie_refreshon|off
Outrasrefernciaseleiturascomplementares
http://squid.visolve.com/squid24s1/contents.htm
http://br.groups.yahoo.com/group/squid-br/
http://lasdpc.icmc.sc.usp.br/pesquisa/jac/quali.pdf
http://directory.google.com/Top/Computers/Software/Internet/Servers/Proxy/Caching/Squid/?tc=1/ http://hermes.wwwcache.ja.net/servers/squids.html
http://freshmeat.net/search/?q=squid§ion=projects
http://www.pop-pb.rnp.br/proxy/pal0100.PPT
http://squid.visolve.com/squid24s1/externals.htm#authenticate_program
http://web.onda.com.br/orso/ncsaplus.html
http://www.hacom.nl/%7Erichard/software/smb_auth.html
http://www.tldp.org/HOWTO/Bandwidth-Limiting-HOWTO/index.html
http://squid.visolve.com/squid24s1/access_controls.htm
80 of 81
10/06/2010 08:23 AM
http://www.linuxman.pro.br/squid/
http://stein.cshl.org/WWW/software/GD/
http://squid.visolve.com/squid24s1/contents.htm
http://br.groups.yahoo.com/group/squid-br/
http://lasdpc.icmc.sc.usp.br/pesquisa/jac/quali.pdf
http://directory.google.com/Top/Computers/Software/Internet/Servers/Proxy/Caching/Squid/?tc=1/
http://hermes.wwwcache.ja.net/servers/squids.html
http://freshmeat.net/search/?q=squid§ion=projects
http://www.pop-pb.rnp.br/proxy/pal0100.PPT
ThisHTMLpageis (seesource)
Home
editprimarylinks
81 of 81
10/06/2010 08:23 AM