You are on page 1of 83

ManualdeConfiguraodoSquid

Introduo
AWorldWideWeb(WWW),semamenordvida,aformamaisconhecidadainternet. Tantoissoverdade,queosleigostemumacertadificuldadeementenderqueainternet noseresumeaowww.Suapopularidadeecrescimentosoexplicadospelagrande variedadedeassuntosencontradosnela,pelafacilidadedebusca,simplesentendimento, baixocustoe,viaderegra,privacidade. Emdecorrnciadessagrandeprocuraalgunsefeitoscolateraisocorrem.Noincomum ouviraspessoasdizeremque"ainternetestlenta",ouosadministradoresderede observaremseusbackbonesatingiremseuslimitesemhorriosdepico.Doladodos servidoreseISPs(InternetServiceProviders)tambmexisteumladoquepoucaspessoas pensam.Somentequemjpassoupelo"EfeitoSlashdot1"sabedoqueestoufalando.Em ummomentodesobrecargadosservidores,comoocorreunaltimacopadomundoouno tenebroso11desetembro,umsistemadecachesbemplanejadoedistribudoseriamuito bemvistopelosgrandesportais. Autilizaodesistemasdecache,comooSquid,tmsemostradoexcelentesparaaliviar essessintomas,reduzindootrfegonaredee,conseqentemente,alatnciadamesma. Todaaidiaportrsdeumsistemadecachingcriarumgrandebancodedadosondeos sitesmaispopularesouacessadosrecentementesoarmazenadosparafuturasconsultas. Issosignificaquese10usuriosdasuaredetentaremacessarummesmositeaomesmo tempo,somenteumadasconexesrealmenteirserfeitaaessesite.Todasasoutras9vo seaproveitardoprimeiroacessoeutilizarapginajemmemria.Issoumenorme ganhodedesempenhoparaseubackbonelocal,paraobackbonedoISPondeositeest armazenadoeparaoservidorquehospedaomesmo. Almdisso,suabandaficalivreparaquesitesmenosacessados,ouquenoestejamno

cachesejambaixadoscommaiorvelocidade. Comumsistemadecachingbemplanejadoemantido,todostemaganhar.

Oqueesperardeumproxy/cache?
Podemossumarizarosbenefciosesperadosem:

Velocidadedeacesso Amelhorformadeverificarseoseucacheestsendoeficientepelavelocidade. Umsistemadecachequenoagregavelocidadenoestcumprindooseupapel. Disponibilidade Denadaadiantaumsistemavelozdisponvelapenas2horaspordia,oumesmoque precisedeumrebootacada2semanas.Seoseusistemadecachingouseusistema operacionalnotemumaaltadisponibilidade,essehowtochegouemboahora.Em casosdegrandesinstalaes,aindaprecisoirmaisafundo,buscandoaaltssima disponibilidade.Redundnciadeservidores,backup,eliminaodepontonicode falhaedisasterrecoversoumaexigncia. TransparnciaouOstensividade Soconceitosespecficosequeseadaptamacadacaso.Grandesinstalaes,ISPse empresasnopreocupadascomqueseususuriosvemoufazemnainternetdevem preferiratransparncia,ondeousuriodesconheceounosesenteafetado(exceto peloganhodevelocidade)pelapresenadeumcache. Poroutrolado,empresascomumapolticadeseguranamaisrgida,rgoscom informaescrticas,oumesmopaisquerendocontrolaroacessodeseusfilhosa algunssites,vopreferiraostensividade. Capacidadedetrabalharcomredesheterogneas. Algunssistemasdeproxy/cachefuncionambaseadoscomsistemasdeautenticao especiais,feitospararodarsomenteemumaplataforma,fazemintegraocomo serviodediretriosdaqueleoudessesistemaouexigemqueousurioesteja rodandoaversoXYZdofabricanteABCedeixamtodososoutrosavernavios. Emumainstalaosria,precisoqueusuriosdetodasasplataformasquesaibam comotrabalharcomHTTPsejambematendidos. Issoespecialmenteverdadequandonosabemosquetipodeplataformair utilizarnossainstalao.

Simplicidade Deixandoumpoucodeladoousurioefocandonoadministrador,precisoter conscinciadequeumsistemabomumsistemafcildeadministrar.Omais rpido,maisdisponvelemaisabrangentesistemadecachingtotalmenteintilse somenteumapessoanomundosouberlidarcomele.

EoSquid?Satisfaztodosessespontos?
Emumarespostarpida:Sim. Veremosmaisabaixoquetodososrequisitoslistadossoatendidoscomprimaziapelo Squid.

OqueoSquid?
Squidumproxycachedealtaperformanceparaclientesweb,suportandoprotocolosFTP, gophereHTTP. OSquidmantmmetadadoseespecialmenteobjetosarmazenadosnaRAM,cacheia buscasdeDNSeimplementacachenegativoderequestsfalhos. ElesuportaSSL,listasdeacessocomplexaseloggingcompleto.PorutilizaroInternet CacheProtocol,oSquidpodeserconfiguradoparatrabalhardeformahierrquicaoumista paramelhoraproveitamentodabanda. PodemosdizerqueoSquidconsisteemumprogramaprincipalsquid,umsistemade buscaeresoluodenomesdnsserverealgunsprogramasadicionaisparareescrever requests,fazerautenticaoegerenciarferramentasdeclientes. PodemosexecutaroSquidnasprincipaisplataformasdomercado,comoLinux,Unixese Windows.

PorqueutilizarumProxy/Cache?
Podemosdizerqueexistemdoisgrandesmotivospeloqualsedeveutilizarum PROXY/CACHE:

Controledeacesso

Comainternetcadavezmaisacessvelapequenasemdiasempresas,umnmeroimenso depessoasestseinterligandoainternet.Almdetodososbenefciostrazidosporela, comoinformaoemtemporeal,comunicaomundialabaixocusto,contatocom possveisclientesefornecedoresportodoomundo,amesmatrouxealgunsproblemas. Aspessoastendemapassarcadavezmaistemponavegandoporsitesnorelativosaoseu trabalhoprimrio,acessamsitesquenocondizemcomapolticadaempresa,utilizama bandadeinternetdestinadaaservioscomoWEBouVPNepodem,emmuitoscasos, acabarinfectandotodaarededaempresacomvrusewormsquesoadquiridosemsites imprprios.Issosemcontarnaameaasemprepresentedepropagaodedownloadsde softwarespiratasemsicas,fatoresquepodemcomplicaravidadeumaempresadurante fiscalizaes. DeacordocomaRedeNacionaldeEnsinoePesquisa(RNP),65%dalarguradebandadas empresasutilizadaemnavegaoWEB.Eessenmerotendeacrescer.

Performance
Comodissemosanteriormente,ainternetestmaisacessvelparatodos,fatorcausadopela amplautilizaodasconexesdebandalarga,comoxDSL,CableModem,ISDN,etc. Essastecnologiassoexcelentesparapequenasemdiasempresas,masdevidoasuas caractersticasdevelocidadesdiferentesdeupstreamedownstream(xDSL), compartilhamentodebandatotal(CableModem)oubaixodesempenho(ISDN),almda notvelfaltadequalidadedasoperadoras,tornamsequaseinteisparagrandesempresase provedoresdeinternet(ISPs). Essasempresassoentolevadasautilizarsistemasdemaiorqualidade,comolinkspor fibratica,satliteserdio.Mascomosepodeesperar,qualidadetempreo,e,nessecaso, bemsalgado. Visandoaproveitaraomximoessabandadequalidade,autilizaodePROXY/CACHE tornasequasequeobrigatria.AindadeacordocomaRedeNacionaldeEnsinoePesquisa (RNP)2,autilizaodePROXY/CACHEpodegerarumaeconomiaentretrintae cinqentaporcentonoshorriosdepico.Issosignificaqueparaumlinkde2Mbpsque estoperandoaplenacargaeconsiderandoumareduode30%,omesmoproduziriaum ganhonabandaagregadadeaproximadamente600Kbps.Ouseja,asimples implementaodeumPROXY/CACHEbemajustadogeraumaeconomiadaordemde milharesdeReaispormsparaaempresa. ConexessofeitasnoProxy,evitandosadainternet

PorqueutilizaroSQUID?
OSquidestcontinuamentemelhorandosuaperformance,almdeadicionarnovasfeatures eterumaexcelenteestabilidadeemcondiesextremas. Suacompatibilidadecomvriasplataformaseaimensagamadesoftwareparaanalisar logs,gerarrelatrios,melhorarodesempenhoeadicionarseguranaprovidospela comunidadeopensource,combinadoscomferramentasdeadministraosimplificadae baseadasemwebagregamgrandevaloraoproduto. Podemosaindacitaracapacidadedeclustering,transparentproxy,cachedeFTPe,claro, seubaixocusto. Paraosmaiscorajosos,ouparaosmelhoresprogramadores,nopodemosdeixardedizer queosistematotalmenteaberto,possibilitandoasuaotimizaononveldecdigo,alm daotimizaoviaconfigurao.

ProtocolosutilizadosRedeeAplicao.
OSquidbuscaporcomunicaoTCP(TransmissionControlProtocol)eICP(Internet CacheProtocol)emportasespecficas.OTCPusadoparacomunicaoentrewebservers eclientes,eoICPparaconversaentreservidoresdecache.Paracadaservidor(oucliente), aconfiguraodoSquidprecisafornecerumanicaportasobreaqualoSquidirenviaras requisies(TCPouICP)eouvirasrespostas. Comojdissemosanteriormente,oSquidtrabalhaapenascomFTP,gopherehttp.Existe umaconfusomuitocomumentrepessoasqueestocomeandoatrabalharcomoSquid emacharquepodero,atravsdoSquid,configuraracessoaemails,ICQ,IRC,etc.Isso totalmenteequivocado,vistoquenosfunodofirewalltrabalharcomoNAT (NetworkAddressTranslation),comotambmnofazsentidocriarcachesdeemails pessoais,mensagensdoICQ,etc. ParaconfigurarseufirewallapropriadamenteparaNAT,verifiqueadocumentaodeseu sistemaoperacionaloufirewall.

Requisitos
AmaiorpartedasconfiguraesdependeapenasdoSquid.Oproxytransparentetambm dependedosistemaoperacionaledofirewall

Ainstalaopadrodosquid,disponvelnamaiorpartedasdistribuies,noconsegue lidarcomocontroledebanda,sendonecessriorecompilaroSquid.

Referncias
RedeNacionaldePesquisa(1)http://www.rnp.br/newsgen/0103/wccp.shtml RedeNacionaldePesquisa(2)http://www.rnp.br/arquivos/docgeral.html DuaneWesselsHomePagehttp://www.lifegonehazy.com/indextwo.html FirewallLinuxman(IPTABLES)http://www.linuxman.pro.br/cgibin/firewall/ SurveyofWebCachingSchemesfortheInternet http://www.acm.org/sigcomm/ccr/archive/1999/oct99/Jia_Wang2.pdf

InstalandooSquid
OSquidpodeserinstaladoemumaimensavariedadesdesistemasoperacionais. PraticamentetodososUnixescomumbomcompiladorC/C++podegerarbinriosdo Squid. Suapopularidade,noentanto,nospoupaessepassoemmuitasplataformas.Segueabaixoa formadeinstalaonasmaispopularesplataformasdomercado.

Instalandoviabinriooucomfacilidadesdosistema
Sevocnoprecisadenenhumafeaturemuitosofisticadanoseusquid(90%doscasosno precisa),nohporqueinstalarviacdigofontebaixadodositedosquid. Vamosdiretoaoassunto:

InstalandoemumsistemabaseadoemRedHatLinux
AlmdeestardisponvelnosCDsdadistribuio,aindapossvelbaixarasmaisnovas versesjempacotadasnosistemaRPM(RedHatPackageManager).Paraissoacesseo link http://www.rpmfind.net/linux/rpm2html/search.php?query=squid&submit=Search

+...&system=redhat&arch= Edepois:
#rpmivhsquid.x.y.z.rpm

InstalandoemumsistemabaseadoemDebian
ODebiansempreprezoupelafacilidadedeinstalaoaatualizaodepacotes,comseu sistemaapt,quefacilitamuitoavidadosadministradores.Parainstalarosquidbasta executarocomando:
#aptgetinstallsquid

InstalandoemumFreeBSD
SevocinstalouodiretriodeportsnoFreeBSD,ainstalaosersimples,bastando utilizaroscomandosabaixo:
#cd/usr/ports/www/squid25/ #make #makeallinstall

Oupormeiodeumpacoteprcompilado:
#mount/cdrom#CDdeinstalaodoFreeBSD #mkdir/usr/ports/distfiles #cp/cdrom/packages/All/squidx.y.z.tgz/usr/ports/distfiles/#onde x.y.zaverso. #pkg_addv/usr/ports/distfiles/squidx.y.z.tgz

InstalandoemumOpenBSD
Baixeosquidjcompiladoem http://www.openbsd.org/3.2_packages/i386/squid2.5.PRE13.tgzlong.html Edepois:
#pkg_addsquid.x.y.z.tgz

InstalandoemumWindows2000

Baixeoarquivosetup.exedositedoCygwin(http://www.cygwin.com/setup.exe)e selecioneopacotedosquidduranteainstalao.Procedacomofariaqualquerinstalao emplataformaMicrosoft.

Baixandoocdigofonte
Casoqueiraocontroledebanda,tpicoavanadoabordadoaqui,instaleosquidpelofonte, deacordocomasinstrues. Nadatadecriaodessedocumento,aversomaisrecente(estvel)dosquideraa 2.5STABLE1. Verifiqueaversomaisrecenteemhttp://www.squidcache.org/Versions/v2/.
#groupaddsquid #useraddgsquids/dev/nullsquid>/dev/null2>&1 #wgethttp://www.squidcache.org/Versions/v2/2.5/squid2.5.STABLE1 src.tar.gz #tarzxvfsquid2.5.STABLE1src.tar.gz #cdsquid2.5.STABLE1 #./configureenabledelaypoolsenablecachedigests\ enablepolldisableidentlookupsenabletruncate\ enableremovalpoliciesenablearpacl #makeall #makeinstall #cdauth_modules/NCSA #make #makeinstall

Limpandoosquid.conf
Oarquivodeconfiguraodosquidosquid.conf,normalmenteeleseencontra em/etc/squid.confouem/usr/local/squid/etc/squid.conf.Casonoencontreoseuem nenhumdesseslugares,procureocom:
#locatesquid.conf ou #findsquid.conf

Podeparecerftil,masumalimpezainicialnoarquivosquid.confpodeserbemtil.O arquivodeconfiguraooriginaltem,emmdia,2000linhas.

#cpsquid.confsquid.conf.original #grepv^#squid.conf.original|grepv^$>squid.conf

ConfiguraesbsicasACLs
Comocomentadomaistarde,todaaestruturadoSquidbaseadaemlistasdeacessos. Vamosentraremdetalhesmaisparafrente.Porhoravamoscriarumalistadeacessobsica paranossosusurios. Vamossuporquenossaredeinternaseja192.168.5.0/24.Crieaseguintelinhano squid.conf,naseodeACLs(TAG:acl):
aclrede_internasrc192.168.5.0/24

Easeguintelinhanaseodeacesso(TAG:http_access)
http_accessallowrede_interna

Referncias
http://www.squidcache.org/Doc/ http://www.serassio.it/SquidNT.htm

TransparentProxy
Esserecursomuitotilparaevitarqueseususurios"burlem"oproxyremovendoas configuraesdobrowser.Elesseroobrigadosapassarpeloproxy,mesmoqueas mquinasnoestejamconfiguradasparatal.Extremamenterecomendado,principalmente emcasosdebloqueiodesitesoulimitaodebanda. Experinciaspessoaiscomprovamqueusurioscomumpoucomaisdeconhecimentosiro removeraconfiguraodeproxyassimqueoadministradorsairdasala,sejapor ignornciadasfuncionalidades,sejapormedodeserauditadoousimplesmenteporm conduta. ParaserpossvelousodeproxytransparentecomoSquid,ofirewalldeveserconfigurado adequadamente.Seoseufirewallnoestlistadoabaixo,procurenadocumentaodo mesmoqualasintaxeequivalente.

Algumaspessoasdesejamtrabalharaomesmotempocomautenticaoeproxy transparente.Issopossveldeserfeitocomumainteraoentreofirewalleumcgi,ou algodognero. Apesardenoserdoescopodohowtoabrangerregrasdefirewallespecficase programao,umaboaolhadanogoogleeumpoucodepesquisadeveresolveroproblema. Comofuncionaoproxytransparente

ConfigurandooSquid
Vamosinserirasseguinteslinhas:

httpd_accel_hostvirtual httpd_accel_port80 httpd_accel_with_proxyon httpd_accel_uses_host_headeron

Configurandooiptables
Provavelmentevocjtenhaseuscriptdeinicializaodofirewall,sendoassimanica coisanecessriainseriressalinhanele:

#iptablestnatAPREROUTINGieth0ptcpdport80jREDIRECT toport3128

ConfigurandooPF(OpenBSD)
Adicioneaseguintelinhaaoseu/etc/nat.conf(levandoemconsideraoquesuainterface internasejafxp1)
rdronfxp1fromanytoanyport80>127.0.0.1port3128

ConfigurandooIPFilter(FreeBSD)
Adicioneasseguinteslinhasaoseu/etc/rc.conf
ipfilter_enable="YES"

ipnat_enable="YES" ipmon_enable="YES" ipfs_enable="YES"

Adicioneasseguinteslinhasaoseu/etc/ipnat.rules(levandoemconsideraoqueorl0 suainterfaceinterna)
rdrrl00/0port80>127.0.0.1port3128tcp

Referncias
http://ldp.conectiva.com.br/HOWTO/mini/TransparentProxy.html

BloqueandoSitesindesejados
ApartirdeagoravamoscomearatrabalharcomACLs(AccessControlLists).Oconceito deACLmuitotil,pornospermitirtrabalharcomnveisdeacessobaseadosemdiversas informaes. NoincomumqueemumainstalaodeSquid,adiretoriapossaacessarqualquersite,a gerncianopossaacessardeterminadossiteseos"pees"tenhamacessoapenasaositeda empresaedeparceiros.GraasaousodeACLseumpoucodeimaginaoesuor,podemos fazertodasessasrestries. Todasasconfiguraesdeusurios,grupos,horrioseSITESsoconfiguradasemACLs, Vamoscomearcriando2ACLsqueirofazerobloqueiodossitesindesejados.Aordem emqueasACLsaparecemmuitoimportante,porissoaACLquebloqueiaossitesdeve seraprimeiraaaparecer. Procurenoseusquid.confondecomeamaserdescritasasACLs.Geralmenteaprimeira ACLaaparecer:
aclallsrc0.0.0.0/0.0.0.0

Criandoosarquivosnecessrios
Vamosfazeroseguinte:
#mkdir/etc/squid/bloqueados

ou
#mkdir/usr/local/squid/etc/bloqueados #touch/etc/squid/bloqueados/block.txt

ou
#touch/usr/local/squid/etc/bloqueados/block.txt #touch/etc/squid/bloqueados/unblock.txt

ou
#touch/usr/local/squid/etc/bloqueados/unblock.txt

Oarquivoblock.txtircontertodosossitesepalavrasquevocdesejabloqueareo unblock.txttodasasexcees."Comoassim?",vocpergunta. Vamossuporquevoctenhabloqueadoapalavrasexo.Entovocnopoderentrarem www.sexo.com.br,mastambmnopoderentraremwww.sexoesaude.com.br.Ora,mas essesegundositeinofensivo,portantonodeveriaserbloqueado.Bastacoloclono unblock.txt.

Editandoosquid.conf
Vamosaosquid.conf Insiraaslinhasabaixologoantesdeaclallsrc0.0.0.0/0.0.0.0:

aclblockedsitesurl_regexi"/etc/squid/bloqueados/block.txt" aclunblockedsitesurl_regexi"/etc/squid/bloqueados/unblock.txt"

ou

aclblockedsitesurl_regexi "/usr/local/squid/etc/bloqueados/block.txt" aclunblockedsitesurl_regexi "/usr/local/squid/etc/bloqueados/unblock.txt"

Agoraprocurenoseusquid.confalinhahttp_accessdenyallecoloqueantesdela:
http_accessdenyblockedsites!unblockedsites

DICA:O"!"Significasemprenegaodealgumacoisa.

Referncias

http://members.lycos.co.uk/njadmin/ http://web.onda.com.br/orso/

BloqueiodeBanners
Bannerumacoisachata!Quemeperdoemosanunciantes,maseunosuportobanner nempopup.Masopiordetudoqueelasconsomembandaequasenuncaajudamo Squid,poisestoemconstantemudana,impedindoocaching.Comasoluomostrada aqui,todososbannersserosubstitudosporumaimagemprdefinida,podendoinclusive serpersonalizada.Muitolegalemempresasouprovedoresdeacessoemconjuntocomo proxytransparente.

BaixandoeinstalandooBannerFilter
BaixeoBannerFilterdoseusiteoficial (http://phroggy.com/files/unix/bannerfilter1.21.tar.gz).
#tarzxvfbannerfilter1.21.tar.gz #cdbannerfilter1.21

Movaocontedododiretriowwwparaalgumlugaracessvelemseuwebserver.Esses arquivosPRECISAMestaracessveisaosquidviaHTTP.importanteressaltarqueo sistemaperdeosentidoseoservidorhttpnoforamesmamquinaqueoSquidest. Movatodoorestopara/etc/squid/bannerfilterou/usr/local/squid/etc/bannerfilter Editeoredirector.pl.Sevocnotemoperlnolocalpadro(/usr/bin/perl),mudea primeiralinha(oucrieumsymlink). Movaobannerfilter.confparao/etc Mudeasvariveis$DATAe$WWWcomoindicadonoscomentrios. Opcionalmente,mudetambm$LOGe$BANNERGIFcomoindicado. Testeoredirector.pldigitandoalgumacoisaevejaserecebeessacoisadevolta..Pressione CrtlCparaparar.Nopuleessepasso,poisnelevocpoderdescobrirerros. Rodeoscriptupdate.shparaatualizaraslistasdebanners.interessantefazerisso constantemente.

Editandoosquid.conf

Procurepelaseoquefalasobreredirect(TAG:redirect_program)einsiraalinha:
redirect_program/etc/squid/bannerfilter/redirector.pl

ou

redirect_program/usr/local/etc/bannerfilter/redirector.pl

DICA:possveltambmeditarasimagens,deformaatornalaspersonalizadasparasua empresa. Osbannersiroaparecerdessaformaapstudoinstalado

Referncias
http://phroggy.com/bannerfilter/

Protegendousurioscomantivrus
Essasoluodeveserusadaapenasempequenasinstalaes,comoumadicionalde segurana.Seasuaredelocaltemantivrusnasestaesenoservidordedomnio, arquivos,etc,eunorecomendoessafeature.Almdeexigirmuitodamquina,aindano esttotalmenteestvel.AsoluopropostaaquiutilizaroViralator.

Prrequisitos
SernecessrioqueoSquidredirecionedeterminadosdownloadseURLsparaoViralator, deformaqueprecisamosdoSquirmInstaladonamquina.Baixeoem http://squirm.foote.com.au/squirm1.0betaB.tar.gz
#tarzxvfsquirm1.0betaB.tar.gz #cdsquirm1.0betaB #cdregex #./configure #makeclean #make #cppregex.oregex.h

Anoteoresultadodessecomando:

#id`grepcache_effective_user/etc/squid.conf|cutd""f3` #cd..

EditeoarquivoMakefileesubstituaasapariesadequadasde"root"pelousurioegrupo anotadosacima.
#make #makeinstall

AlmdoSquirm,necessrioqueoApacheeoapachesuexecestejaminstalados.Procure umadocumentaosobreoApacheparamaioresdetalhes. E,comonopoderiadeixardeser,umantivrusfazsenecessrio.AtualmenteoViralator temsuporte: AntiVir AVP RAV Inoculate SophosSweep McAfee Trend

Viralator
Apsterosquirminstalado,adicioneasseguinteslinhasnoseuarquivosquirm.paterns:
abortregexi(^http://[192.168.0.1].*) abortregexi(^http://[cache1.empresa.com.br].*) regexi(^.*\.zip$)http://[192.168.0.1]/cgibin/viralator.cgi? url=|\1 regexi(^.*\.doc$)http://[192.168.0.1]/cgibin/viralator.cgi? url=|\1 regexi(^.*\.exe$)http://[192.168.0.1]/cgibin/viralator.cgi? url=|\1

Onde:192.168.0.1oIPdoseuproxyecache1.empresa.com.broFQDN2domesmo. Repitaalinhaquefazrefernciaaextensoparatodosostiposdearquivosquequiser escanearporvrus. Editeagoraoarquivosquid.confadicionandoumredirecionamento:


redirect_program/usr/squid/bin/squirm redirect_children10

Crieumusurioegrupoparausodosuexeceadicioneosaoseuarquivodeconfigurao doapache(normalmentehttpd.conf)

<VirtualHost192.168.0.1> ServerAdminwebmaster@empresa.com.br DocumentRoot/var/www/ ServerNamecache1.empresa.com.br ErrorLoglogs/error_log TransferLoglogs/access_log ScriptAlias/cgibin//usr/local/viralator/cgibin/ Userviralator Groupviralator </VirtualHost>

Onde:/usr/local/viralator/cgibin/deveseroseudiretriodecgiseviralatoronomedo usurioegrupoquevoccriou. CrieumdiretriochamadodownloadsacessvelaoapacheAlgo como/var/www/downloadsnoDebianmudesuaspermissespara755. BaixeoViralatoremhttp://viralator.loddington.com/downloads/viralator09pre2.zipe executeoscomandos:


#unzipviralator09pre2.zip #cpviralator09pre2.cgi/usr/local/viralator/cgibin/viralator.cgi #chownviralator.viralatorR/usr/local/viralator/cgibin/ #chmod755/usr/local/viralator/cgibin/viralator.cgi

Editeoarquivo/usr/local/viralator/cgibin/viralator.cgieverifiquesetodososcaminhosde programasestocorretos.

Referncias
http://viralator.loddington.com/ http://squirm.foote.com.au/

Autenticandousurios
umrecursobeminteressanteparacontrolepessoaldeusurios.Issopermitequevoccrie ACLsindividuaisegereLOGsdequalidadebemsuperior. Existemdiversosmtodosdeautenticao,sendointeressanteaveriguarexatamenteoque vocirprecisar.Namaioriadoscasos,oncsa_authresolveoproblema.

ncsa_auth

Oncsa_authaalternativamaissimples.Eleestdisponveljuntocomosquidepodeser implementadorapidamente.asoluoidealparapequenasemdiainstalaeseredes comarquiteturadegrupodetrabalho.

Editandoosquid.conf
Procurepelaseoquefalasobreautenticao(TAG:authenticate_program)einsiraas linhas:
auth_parambasicprogram/usr/lib/squid/ncsa_auth/etc/squid/ auth_parambasicchildren5 auth_parambasicrealmDigiteseuLogin

Criandoumarquivodesenhas
Oarquivo/etc/squid/passwdnoexisteporpadro.Paracrialovamosfazer:
#touch/etc/squid/passwd

Adicionandousurios

Paraadicionarnovosusuriosbastafazer:

#htpasswd/etc/squid/passwdUSUARIO

econfirmarasenhaduasvezes. Nota:Dependendodasuadistribuio,oncsa_authpodeestaremvrioslugares, como/usr/bin,/usr/sbineassimpordiante!Verifiqueondeestasuaecoloqueaslinhas acimadeacordo! Quantoaoauthenticate_children5,osuficientesesuaredenomuitogrande.Mudeo valordeacordocomsuasnecessidades. AgoravamoseditarnovamenteaACLdenossaredeinterna(aqueladaseo2.3)


aclrede_internasrc192.168.5.0/24 aclrede_internaproxy_authREQUIRED

smb_auth

Osmb_authumatimaopoparaquemtemumaredeumpoucomaioroutrabalhacom ambientesWindowsClient/Server.DevidoasuaintegraocomoPDC,facilitamuitoa vidadoadministrador. Nota:necessrioqueosambaestejainstaladonamquinadoSquidparautilizaressa opo.Elenoprecisaestarconfiguradoouativado.

Instalandoosmb_auth
Baixeosmb_authemhttp://www.hacom.nl/~richard/software/smb_auth0.05.tar.gz
#tarzxvfsmb_auth0.05.tar.gz #cdsmb_auth0.05

EditeoarquivoMakefileetenhacertezadequeosparmetrosSAMBAPREFIXe INSTALLBINestocorretos.
#make #makeinstall

ConfigurandooPDC
Paracontrolaroacessoporusuriosegrupos,osmb_authloarquivo\netlogon\proxyauth emumdoscontroladoresdedomniopreviamenteinformado.Sealeituradessearquivo retornaum"allow",entooacessoliberado.Casocontrrio,negado. CrieumarquivochamadoproxyauthnocompartilhamentoNETLOGONdeseuPDC(d prefernciaaoprimrio).Essearquivodeveconterunicamenteapalavra"allow"(semas aspas)edpermissodeleituraparaosgruposeusuriosquedesejapermitiracesso.

Configurandosquid.conf
Adicioneasseguinteslinhas:
auth_parambasicprogram/usr/local/bin/smb_authWDOMINIOU 192.168.5.24 auth_parambasicchildren5 auth_parambasicrealmDigiteseuLogin

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,ousimplesmentetem prioridadesparasuabanda. Orecursodosquidqueusamosaquichamadodedelaypools.necessrioqueosquid tenhasidocompiladocomessaopoativa,conformeinstruesdaseo2.

Editandoosquid.conf
Vamosadicionaralgumaslinhas.Aprimeiravaievitarquehajarestriodebanda internamente,porissonodeixedecolocla.

aclcontrole1url_regexi192.168.5 aclcontrole2url_regexi ftp.exe.mp3.tar.gz.gz.zip.rar.avi.mpeg.mpg.qt.ram.rm.iso.ra w.wav delay_pools2 delay_class12 delay_parameters11/11/1 delay_access1allowcontrole1 delay_class22 delay_access2allowrede_interna delay_access2allowcontrole2

Referncias
http://www.tldp.org/HOWTO/BandwidthLimitingHOWTO/index.html http://www.linuxit.com.br/modules.php?name=Sections&op=viewarticle&artid=232

BrincandocomACLs
VamostentaragoraexplorarmaisafundoaspossibilidadesqueasACLsnosfornecem. bomlembrarquevriasACLspodemsercombinadas,sendoissoumgrandegeradorde problemas.Faasuasregrascommuitaateno.

UtilizandoIPseredes
IssooarrozcomfeijodasACLs.LimitarporIPe/ourede.Vamosporexemplospara simplificar:
aclip_do_diretorsrc192.168.5.5 aclips_da_diretoriasrc192.168.5.5192.168.5.6192.168.5.7168.5.8 aclrede_do_rhsrc192.168.6.0/24 aclrede_do_cpdsrc192.168.7.0/255.255.255.0

UsandoACLsexternas
OrecursodeACLexternamuitotilparaumtratamentomelhoradodealgumrecursoque nocompreendidoporACLsnormais. UmaACLexternapodeserescritaemqualquerlinguagem.EladevesempreretornarOK paraostdoutcasoacondiosejasatisfeita,ouERRtambmparaostdoutcasoelano sejasatisfeita. Voumostraraquiumexemploondeadiretoriadeveacessarqualquercoisa,masos usuariosnormaissaosubmetidosacertasrestries.Levoemconsideraoqueousurioj estautenticado.
external_acl_typecheca_diretoria %LOGIN/etc/squid/modulos/diretoria.sh acldiretoriaexternalcheca_diretoria

Arquivo/etc/squid/modulos/diretoria.sh(deveserexecutvel)
#!/bin/bash whilereadlinha do if[`grepi$linha/etc/squid/users/diretoria`] then echoOK else

echoERR fi done

Essescriptverificaseousurioautenticadopertencediretoria.Paraqueumusurioseja reconhecidocomodiretoria,seuusernamedeveestardentrodo arquivo/etc/squid/users/diretoria.

Trabalhandocomdomnios
EssetipodeACLtemqueserutilizadacomcuidado.Tentarbloquearoacessoachatem portaiscomessaopotambmpodeacarretaremacessonegadoasitesdenotciasoude interessegeral.Todosossubdomniosehostsabaixododomnioprincipalsoafetados pelaACL.
aclGEOCITIESdstdomaingeocities.com

Restringindoporhorrio
aclexpedientetimeMTWHF9:0018:00 aclfinal_de_semanatimeSA8:0013:00

Onde: Sigla S M T W H F A Dia Domingo segundafeira terafeira quartafeira quintafeira sextafeira sbado

ExpressoregularnaURL
Aquipodemosfazermilharesdecoisas,desdequeconheamosmuitobemexpresses regulares.Parasabermaissobreelas,procureolivro"ExpressesRegularesGuiade ConsultaRpida"oupesquisenainternet.
acljogosurl_regexjogos

MACAddress
Parautilizaressaopo,oSquiddevesercompiladocomosparmetros"enablearpacl", comofeitoemnossainstalaoviasource.
acladministradorarpXX:XX:XX:XX:XX:XX

Onde:XX:XX:XX:XX:XX:XXoMACAddressdaplacaderededoadministrador.

Limitandoonmerodeconexesporusurio
Sequiserlimitaronmerodesessesquecadausurioabredeumanicavez,podemos utilizarorecursosdemximodeconexes.
aclCONEXOESmaxconn10 http_accessdenyCONEXOESrede_interna

Referncias
http://squid.visolve.com/squid24s1/access_controls.htm http://www.secforum.com.br/article.php?sid=1259

Criandoumarquivodeconfigurao automtica

Parafacilitaravidadosusurios(edoadministrator),podemoscriarumarquivode configuraoautomticaquesercolocadonosbrowsersdosclientes.Dessaformatodos teroseuproxyreconfiguradodinamicamenteemcasodemudanas,semanecessidadede intervenoemcadamquina. Essearquivodeveseracessvelviawebe,viaderegra,chamaseproxy.pac. Vamosuporqueseuproxyestejarodandonoservidor192.168.5.1naporta3128evoc nodesejequeelesejautilizadonaspginasdoseudomnio(empresa.com.br):


functionFindProxyForURL(url,host) { if(isPlainHostName(host)|| dnsDomainIs(host,".empresa.com.br")) return"DIRECT"; else return"PROXY192.168.5.1:3128;DIRECT"; }

Referncias
http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxylive.html

Gerandorelatrios
Muitasempresaseinstituiesexigemdosadministradoresrelatriosdousodainternet. Issopodeserfacilmenteconseguidocomalgumasferramentas.

SARG
DesenvolvidopelobrasileiroPedroOrso,eletransformaologdosquidemumrelatrio htmllegvelecompleto.

Instalao
#wgethttp://web.onda.com.br/orso/sarg1.4.tar.gz #tarzxvfsarg1.4.tar.gz

#cdsarg1.4/ #./configure #make #makeinstall

Configurao
Porpadroosarginstaladoem/usr/local/sarg.Nessediretrioencontramosoarquivo sarg.confentreasmuitasopes,recomendoasseguintes:

languagePortuguese access_log/var/log/squid/access.log title"Relatriodeusodainternet" temporary_dir/tmp output_dir/var/www/squidreports resolve_ipno user_ipyes topuser_sort_fieldBYTESreverse topsites_num100 max_elapsed28800000

Sendoimportantedestacar: Comandos access_log output_dir resolve_ip user_ip Indicaoarquivodelogdosquid Indicaondesergeradoohtml.recomendvelquesejaemumlocal acessvelpeloseuhttpserver EvitaqueosargtentefazerresoluodeDNS Sevocnoestiverutilizandoautenticaoporusurio,coloque"no".Se estiver,coloque"yes" Descrio

topsites_num QuantidadedesitesquevocquervercomoosTOPdeacessos

Gerandoosrelatrios

Depoisdeconfigurarosarg.conf,bastagerarosrelatrioscomocomando
#sarg

ExemploderelatriodoSARG

Calamaris
OCalamarisumtradicionalprogramadeanlisedelogegeraodereportsparaosquid. Seufuncionamentosimplesenoexigeinstalao.Apenasnecessrioteroperl instaladonamquina.

Baixandoerodando
Diretoereto:

#wgethttp://cord.de/tools/squid/calamaris/calamaris2.57.tar.gz #tarzxvfcalamaris2.57.tar.gz #cpcalamaris/usr/bin #cat/var/log/squid/access.log|calamarisFhtml

ExemploderelatriodoCalamaris

SquidGraph
AoestiloMRTG,esseanalisadoridealparausoemgrandescaches,ondeoimportante nosaberquaisusuriosacessaramquesite,quemteveacessonegadoeetc.Oobjetivo aquianalisarvolumedetrfegoeeficinciaemgrandeescala.

Instalao
EsseprogramaexigeapresenadomduloperlGD (http://stein.cshl.org/WWW/software/GD/).Instaleoantesdecomearospassosabaixo. Satisfeitasasdependncias,baixeoSquidGraphdehttp://squid graph.securlogic.com/files/stable/squidgraph3.1.tar.gzefaaa"operaopadro":

#wgethttp://squidgraph.securlogic.com/files/stable/squid graph3.1.tar.gz #tarzxvfsquidgraph3.1.tar.gz

edepois:

#mvsquidgraph3.1/usr/local/squidgraph #chmod+x/usr/local/squidgraph/bin/*

Comoumsistemafeitoemperl,nonecessriocompilar.

Criandoosgrficos
Paragerarumgrficopadro:
#/usr/local/squidgraph/bin/squidgraphoutputdir=/destino/\ </var/log/squid/access.log

Paragerarumgrficoacumulativo:
#/usr/local/squidgraph/bin/squidgraphcumulative\ outputdir=/destino/</var/log/squid/access.log

ParagerarumgrficosomentedeTCP:
#/usr/local/squidgraph/bin/squidgraphtcponly\ outputdir=/destino/</var/log/squid/access.log

ParagerarumgrficosomentedeUDP:
#/usr/local/squidgraph/bin/squidgraphudponly\ outputdir=/destino//var/log/squid/access.log

ExemploderelatriodoSquidGraph

Referncias
OrsoHomePage

TrabalhandocomHierarquias
Cachehierrquicoaextensolgicadoconceitodecaching.Umgrupodecachespodem

sebeneficiardocompartilhamentodeseusdadosentresisobremaneira.Issofacilmente explicvelquandopensamosemtermosregionais. Exemplo:Suaempresaestestabelecidaemumprdiojuntocomdiversasoutras.Esse prdioatendidopelasempresasdetelecomA,BeC. Nessecaso,quandoumusuriodaempresa1desejaacessarumsite,elevaiatseuproxy, quebuscaositeeoarmazena,agilizandoaconsultadetodososoutrosusuriosdessa mesmaempresa.Issoacontecetambmnaempresa2,3eetc. Ficafcildevisualizarquesetodasasempresasinterligassemlocalmenteseusproxies, todasteriamganho. Narealidade,essasinergiaentrepequenasempresasnoexiste.Masquandofalamosde grandesempresasegrandesbackbones,cada1MBeconomizadocomcaching1MB ganhoemoutrosservios. Almdetrabalharcomoconceitodervore,ondeexisteumcacheprincipaleoutros ligadosaele,oSquidtrabalhatambmcomumconceitoparecidocomgrupodetrabalho, ondetodososservidoresseconsultammutuamente. TodaacomunicaoentreoscachesfeitaviaICP

EntendendooICP
OICPfoidesenvolvidocomopartefundamentaldoprojetoHarvest(PaidoSquid).Seu objetivoproverummtodorpidoeeficientedeobtersecomunicaoentreservidores cache. OICPpermitequeumcachepergunteaoutroseeletemumacpiavlidadeum determinadoobjeto,aumentandoapossibilidadedeencontraraqueleobjetojcacheado. Adicionalmente,oICPpermitequerequisiestrafeguementreservidoresfilhosemuma estruturadervore. Almdocontroledecache,oICPtambmgeraindicaesdoestadodarede.Ono recebimentodeumarespostaICPnormalmenteindicaquearotaestcongestionadaouque ooutrohostestmorto.Almdisso,aordemdechegadadeumarespostaICPpodeindicar quaishostsestocomumadistncialgicamenoroucommenoscarga. AsmensagensICPsogeralmentebempequenas,comcercade66bytes.Emumaestrutura hierrquica,normalmentetemsemaistrocasdemensagensICPdoqueHTTP.

Fazendoroteamentopordomnios
Essafeature,apesardesimples,podemelhorarmuitoodesempenhodegrandesinstalaes.

Vamosimaginarumcasoemqueexistam1cacheprincipalligadoa3outroscaches. Vamosdizertambmquetemosumaimensamassadeusuriosfazendorequisiesa3 grandesportaiseaomundoemgeral. Aconfiguraoseriaalgoassim:


cache_host_domaincache1portalxpto.com cache_host_domaincache2portalxing.com cache_host_domaincache3portalling.com cache_host_domaincache4!portalxing.com!portalxpto.com! portalling.com

Sendoqueocache4seroresponsvelportodososdomniosquenosejamos3 anteriores.

Roteandoporprotocolo
Podemostambmdefinirqualserarotatomadabaseandoseemprotocolo.
aclFTPprotoFTP aclHTTPprotohttp cache_host_aclcache1FTP cache_host_aclcache2HTTP

Paiefilho
OCasoexistaumnicoservidorpaiediversosfilhos,aconfiguraoser:
cache_hostcache1parent31283130default

Paisefilho
Emumasituaoideal,existemdiversosservidores.Aescolhasobrequalutilizarser baseadanomtodoroundrobin.
cache_hostcache1parent31283130roundrobinnoquery cache_hostcache2parent31283130roundrobinnoquery cache_hostcache3parent31283130roundrobinnoquery

Referncias
http://www.squidcache.org/Doc/HierarchyTutorial/tutorial.html

UtilizandooSquidcomoproxyreverso
Umafeaturemuitotil,masporvezespoucoexploradadoSquidsuacapacidadede trabalharcomproxyreverso.Issosignifcaque,almdearmazenarobjetosremotos,criando todaumasriedevantagensjdiscutidasaqui,eletambmpodearmazenarobjetosdeum servidorwebinterno,aliviandoseuusoeprovendomaiorsegurana.AquioSquid literalmentetrabalhacomosefosseumservidorweb. Essafeaturesemostramuitotilquandotemosumwebservercomloadalto,exigindoa ampliaodamquinaoucriaodeumcluster.Tambmtilquandooservidorweb utilizadopelaempresaconhecidamenteinseguroesemostracomoumpontofracona empresa.Omesmoser"protegido"emalgunsaspectospelosSquid. Nomomentodedesenvolvimentodapginajdeveseplanejarumafuturaimplementao deSquid,cuidandoparanuncadesenvolvercontedounfriendlyparaowebcaching.Tanto contedoestticoquandodinmicopodeserutilizado.Ocontedodinmiconoser armazenado,enquantooestticoecoisascomoimagensficaronoSquid,aliviandoo trfegonowebserverparaocontedodinmicotermaiorfluidez.

Configuraodeproxyreverso
Aconfiguraosimples.Sigaospassosabaixo:
http_port80 httpd_accel_host192.168.0.51 httpd_accel_port80 httpd_accel_single_hoston httpd_accel_uses_host_headeroff

Onde: Parametro http_port80 httpd_accel_host192.168.0.51 Objetivo NmerodaportaondeoSquidirescutar IPdoservidorWebinterno

httpd_accel_port80 httpd_accel_single_hoston httpd_accel_uses_host_headeroff

Portaondeowebserverestescutando Ativaosquidparasomenteumwebserveratrs importantemanteressaopoOFF,vistoqueelaaltera osheaders

Referncias
http://squid.visolve.com/white_papers/reverseproxy.htm

OtimizandooSquid
VamoslistaralgumasdicasparatornarodesempenhodeseuSquid.Algumasdelasso genricas,comoaumentaramemriaalocadapeloSquid,outrassoespecficas,como utilizarumdeterminadosistemadearquivosnoLinux.

EspecificandooHardware
Essaetapaimportantenoinciodoprojeto.Oidealtraarumperfildecomoecomo serem1anoovolumedeusodessehardware. Procuresempreutilizarhardwarequepermitacrescimento,especialmenteemmemriae armazenamento.Eviteinstalarservidoresjcomtodososbancosdememriausadosouno mximo. PequenasinstalaesdispensamHD(disco)SCSI,umaopoquejficainvivelem instalaesmaiores. AoutilizarRAID,prefiraonvel0doqueoutros,vistoqueomesmofeitopara desempenho. Maisabaixovamosestudaralgunscasosdeempresasdetamanhosenecessidades diferentes,comtodooperfildehardwareutilizado. interessantetambmpossuirumHDseparadoparaosdadoseparaoslogsdoSquid.Se issonoforpossvel,aomenosumapartioseparadaextremamenterecomendado. Comonormalmentetantoosdadosquantooslogsficaabaixododiretrio/var,esseo pontodemontagemparaessapartio.

Sistemasdearquivo
Algunssistemasoperacionaissocapazesdetrabalharcomdiversossistemasdearquivos, tendocadaumsuascaractersticasprprias,oraprezandoporestabilidade,orapor desempenho. Linuxreiserfsouxfs Windows2000NTFS

DNS
OdesempenhodasresoluesDNStambmumpontocrtico.Emumasituaoideal, deveriaexistirumcachedeDNSnamesmamquinaouemumamquinamuitoprxima, paradiminuiraomximootempoderesoluodosnomes.

Mltiplasrotas
EminstalaescomoISPspodeservantagemdefinirsuasrotasmanualmente.Jem empresasmdiasougrandesqueutilizamlinksdebaixocusto,comoADSL,o balanceamentodecarganoslinksumatimaopo.Procurejuntodocumentaodeseu sistemaoperacionalcomofazerisso.

Editandoosquid.conf
Podemostambmdefiniralgunsparmetrosnaconfigurao,deformaaobteromximo dosistema.
cache_membytes

NessaopodizemosaoSquidquantamemriaelepodeconsumir.Emumamquina exclusivaparaocache,80%a90%damemriatotaldamquinadeveserdefinidaaqui. Porexemplo,emumamquinacom512MBdeRAM:


cache_mem410MB

cache_swap_lowpercentage Aquiseespecificaolimitemnimoparasubstituiodeumobjeto.Asubstituiocomea

quandooswapemdiscoestacimadolimitemnimo. Definaalgocomo:
cache_swap_low95

cache_swap_highporcentagem Justamenteoopostodaopoanterior.Aquisedefineolimitemximo.
cache_swap_high98

maximum_object_sizebytes Adefiniodessapropriedadedeveseranalisadacomcritrio,vistoquelimitamosaquio tamanhomximodeumobjetoemcache.Objetosmaioresdoqueesselimitenoso salvosemdisco. Paradefinircomoconfigurarotamanhomximonessaopo,deveselevarem consideraoqueumnmerograndeimplicaemmaioreconomiadebandaeperdade performancenocachelocal,enquantoumnmeromenornoajudamuitoemganhode banda,masmelhoraavelocidadeemtempoderesposta.Recomendaseautilizaodeuma valorentre4e16MB.


maximum_object_size16384KB

maximum_object_size_in_memorybytes Objetosmaioresdoqueotamanhodefinidoaquinosomantidosemmemria.O tamanhodevesergrandeosuficienteparaarmazenarobjetosmuitopopulares,mas pequenodemaisparaarmazenarinformaesdesnecessrias.


maximum_object_size_in_memory20KB

cache_dirTypeMaxobjsizeDirectoryNameMbytesLevel1Level2 Configuramosnessaopootamanhomximodosobjetosdentrododiretrio,onomedo diretrio,quantosMBarmazenareosnveisesubnveis. possvelterdiversosdiretriosdecach,masissosvaifazersentidoseestiveremem HDsseparadas.CasoapartioondeoseuiSquidfazcachevenhaaencher,possvelcriar umdiretriodecacheemoutrapartio,semcomissoobterganhosdeperformance significativos.


cache_dirufs/scsi2/cache500016256

Referncias
http://www.poppb.rnp.br/proxy/tsld033.htm

UtilidadesPblicas
Aquiestoalgunscomandosquepodemserteis.

Resetandoocachedosquid
Podeocorrerdosquidtravaralgumavez.Paratentarresolverisso,pareosquideexecute:
#squidz

Reiniciandoasconfiguraesdosquid
SevocmudoualgumaACL,atualizoualistadesitesouqualquercoisaqueexijarefazer asregrasdosquidqueestrodando,utilize:
#squidkreconfigure

EntrandoemmodoDebug
VocpodemodificaroSquidparamodoDebugontheflyutilizandooseguintecomando:
#squidkdebug

Oresultadodomododebugestarnoarquivocache.log,dentrododiretriodelogs. ATENO:Aquantidadedelogsgeradaporessemodomuitograndeeircausar lentidonosistema.Nodeixeessaopohabilitadapordefault.

Squidsaindocomerro(SquidParent:childprocess exitedduetosignal)
Quandoocorreumerroqueimpedeaexecuoouprovocaamortedosquid,umaviso enviadoaoseulogassinalandoocdigodoerro.Compileiaquiumapequenatabelacom algunserrosqueencontreieassoluespropostas.

Nmero 6 9 11 25

Verifique Quantidadedememriadisponvel,espaoemdisco,BadBlocksnoHD, problemasdeDNS Ofilesystemreadonly Segmentationfault.OuvocecontrouumbugnoSquidouseusistema(libs)est comproblema Vejasealgumlogtemmaisde2GBaccess.log,cache.logoustore.log

Estudodecasos
Sempremaisfcilaprenderbaseadoemexperinciasprticasdoqueapenasemteoria. Vamosutilizaralgunsexemplosreaisaquiparavislumbrarocenrioemquenossas instalaesiroseencaixar.

Simples,eficienteemuitotil
Emalgumaslocalidadesaindanotemseacessoabandalargacomfacilidade.Aindamais: Existemempresasquenoqueremounopodembancarocustodeumaconexo permanente.Ocenriodessecasooseguinte: EmpresaXYZ,doramodeprestaodeservios,encontraselocalizadaemumaregio afastada,ondenopodeseratendidapormeiosconvencionaisdeinternetrpida.Oscustos deumaconexoviasatliteestomuitoalmdoqueaempresaestdispostaapagar.Seus 5funcionriosnavegamnainterneteusamemailsomenteviawebmail.Suamisso conectaressaempresacombaixocustoeeficincia. Diagramadarede Soluo: Adquirirum486DX4100oumaior(QualquerhardwaremaiordoqueumPentium166 desperdcio)com16oumaisMBdeRAM,commodemeplacaderede,almdeumaHD embomestado. InstalarumadistribuioreduzidadoLinux,comsuporteadiscagemsobdemandae configuraroSquidpararestriodeacessoporhorrio,liberandooacessoainternet

somente1ou2vezespordia. Justificativa: Comumgastoemhardwarebempequeno,podemosconectartodaaempresacomum desempenhobomlevandoseemcontaseumaconexodiscada.Almdisso,aempresa garantequeningumirficarconectadoodiainteiroatravsdasrestriesdehorriode acessoimpostaspeloSquid.

Aspequenasdominam
Esseocasomaistpico.Umapequenaempresa,normalmentedeprestaodeserviosou comrciovarejista,desejaligarseuescritrioaorestodomundopelainternet.Socercade 30usuriosligadosaumaredecliente/servidornaplataformaMicrosoft.Noexisteuma verbamuitograndeparaoprojeto,logoimportanteeconomizaromximoemhardwaree softwareparaganharmaisemservio.UmaconexoADSLjfoisolicitadaaempresade telefoniaeessecustonolevadoemcontanoprojeto. Soluo: 1AdicionarumasegundaplacaderedeaoservidorMicrosoft. 2Adquirirumappliancegateway/firewall(baixocusto)deumadasdiversasmarcas disponveisnomercadoeligarsuainterfaceWANnaconexoADSL.Ligarsuainterface LANdiretamentenanovaplacaderededoservidor. InstaleoSquidnoservidorMicrosoftdeacordocomasinstruesdadasanteriormentee configureoadequadamente. Justificativa: ApesardemuitaspessoasimediatamenteligaremoSquidaoLinux,nofazsentidonoter umprojetoaprovadoporcausadoscustosdaaquisiodeumanovamquina.Nem tampoucojustificaseaaquisiodesistemascaroseineficientesparafazerdeforma inadequadaoqueoSquidfazcomperfeio.Oappliancedefirewalleuconsidero necessrioporqueconhecemosbemasucessitibilidadedaplataformaMicrosoftaataques. Mesmoquefosseumaplataforma100%segura,aindanodeveramosexporoservidorda redelocaldeformatoabertainternet.

Precoces
Poroutrolado,existemempresaspequenas,talvezatmicro,quetmumavisode tecnologiamaisfrentenomercado.Advocacias,contabilidadeseempresasquetrabalham cominformaessigilosasemgeral,tmconscinciadanecessidadedeprotegerosdados

deseusclientescomfirewallsseguros,sistemasdedetecodeintrusoseetc. Nossoclienteagoraumaadvocaciacom8usuriosextremamentepreocupadacomo sigilodeseusdadoseseguranadesuaconexocomainternet.Odesempenhodaconexo notoimportantequantoaauditoriadossitesacessadosouobloqueiodeeventuais vrus. Soluo: 1Adquirirumservidornovoparainstalaodofirewall ProcederinstalandooLinuxdaformamaissegurapossvel,deprefernciaaplicando patchesnokerneleinstalandosistemasdeauditoriainterna.Umsistemadedetecode intrusostambmessencial.Feitoisso,instalaroSquidcommtododeautenticao, viralatorerestriodecontedo.Lembresedequenessecaso,talvezsejainteressante bloquearacessotambmawebmails. Instalartambmosargegerarrelatriosdiriosdeutilizao.Utilizarsedafacilidadede logrotateefazebackupdiriodoslogs. Justificativa: Apreocupaodaempresacomosigilodeseusdadosedeseusclientesvaleo investimentoemumanovamquina,quepoderfornecelhestodasasinformaes necessriasparaauditoriaesoluodepossveisfalhas.

Arrozcomfeijo
Esseocasomaiscomumdetodos.Creioque80%dasinstalaesquejfizseguemesse padro.Nocenriotemosumaouvriasempresas,deportedepequenoagrandeemuma mesmalocalidadefsicaecomapenasumlinkligandoasinternet.Jpudemosparticipar deimplantaesondeolinkvarioudeumframerelayde64Kbpssegurandoumanica empresaatconexesdefibrapticade2Mbitsondevriasempresaseusuriosdeum condomnioouprdiofaziamusodessaparaacessoainternetemgeral.Oproxydeveser transparenteeonicoobjetivodoSquiddarganhodevelocidadeeeconomiadolink. Soluo: 1Adquirirumservidordequalidade,analisandoanecessidadedehardwaredainstalao ConfigurarofirewallutilizadoeoSquidparatrabalhardeformatransparente.Recomendo usodoLinuxoudoFreeBSD,deacordocomsuafamiliaridadecomessessistemas.Procure alterarparmetrosdememriaeespaoemdiscoutilizado.Talvezsejabomreavaliara instalaoaps1ou2meses,procurandoumasintoniafinadeparmetros. Justificativa: Emumarelaodecustoebenefciodemdioelongoprazo,podemosperceberquemais baratoinstalarumservidordecachedoqueaumentarumlink.Issoespecialmente

verdadequandofalamosdeconexodequalidade.Comosempre,tantooLinuxcomoo FreeBSDnosfazemoservioporumvalorquaseirrisrio,comotambmofazemcom perfeio. 15.5Umaempresasadia Comcertezavocumdiairsedepararcomumprojetodemaiorprofundidade,com complicadoresedetalheschatos.Ocasoapresentadoaquideumaempresadareada sade,quedesejavaaomesmotempoterestabilidade,desempenho,auditoriae monitoramentodeusurios,almdenveisdeacessoeumaexignciadopresidenteque podemosdizerser,nomnimo,pitoresca:Umlinksparaele,semlog,semauditoriae semperguntas. Paranodizerquestemosproblemas,averbaerabemgordaparaaimplantaoe razovelparaamanuteno. Diagramadarede Soluo: 1Adquirir3linksADSLdevelocidades512Kbps(x2)e2Mbits(1x) 2Adquirir2servidores(umdelescom5placasderede) InstalarLinuxemambososservidores.1delesseroCacheeooutroofirewall. Nofirewalldeveserconfiguradobalanceamentodecargaentreos2ADSLsde512Kbps (WAN1eWAN2),enquantoode2Mbitsdeveficarisolado(WAN3).Esseservidordeve terregrasrgidasdefirewallederoteamentointerno,deformaqueapenasoservidorde cachetenhaacessoasuainterfacederedeLAN1eapenasamquinadopresidentetenha acessoLAN2.AmelhorsoluoseriarestrioporMACAddressnofirewall. Nocache,deveseinstalarumsistemadeautenticao,restriodehorrio,restriode sitesegeraodelogs. Justificativa: Comofirewallbemconfiguradoecomroteamentoebalanceamentodecargadefinidos, impedimosquealgumusuriomaisespertotenteburlarocache.Damesmafora permitimosqueopresidenteacesseawebporseulinkexclusivosemcacheesemlog. Todososusurios,porsuavezsomuitobemcontroladosemtudooquefazem.Garantese assimtodososrequisitosexigidospelocliente.

Matrizefilial
Nosorarososcasosdeempresasquedispedelinkcomainternetapenasemsuamatriz etodasassuasfiliaisinterligadasaelaporframerelay.Administradoresquenoconhecem (ounoconheciam)oconceitodecaching,perdemumaimensaquantidadedebandacom

navegaodesuasfiliaisnainternet.Algunsadministradorestentamevitaresseproblema colocandoumcachenamatriz.Oresultadomuitobom,economizandoalarguradebanda necessriaparaoutrosservios.Noentantoacomunicaoentreasfiliaisematrizcontinua prejudicadadevidonavegao.Comoresolverisso? Soluo: 1Adquirirumservidorparacadafilial Emcadafilialserinstaladoumservidorcacheutilizandoomodotransparenteecom configuraesdehierarquia,ondetodasasfiliaisserofilhasdaMatriz. Justificativa: Comessasoluo,comeamosdiminuindootrfegoatamatrizcomocachelocal. Mesmoqueumdeterminadoobjetonoestejanamemriadoservidordafilial,omesmo serverificadonoservidordamatriz,economizandoasadaatainternet.Comotodasas filiaisestopassandopelomesmoservidorfinal,provavelmenteaeconomiasermuito grandeemtermosdebandaIP.

Cacheareo
Emdiversascidadesestosurgindoosprovedoreswireless.Impulsionadosporuma tecnologiabarata,desimplesimplementaoemanuteno,vrioscondomnios residenciaisecomerciaisestorecebendoseuslinksdessetipodeprovedor.ComotodoISP sabe,ograndecustoolinkcomainternet.Algunsmilharesdereaissogastos mensalmenteparamanterumlinkapenasrpidoosuficienteparaademanda.Sendoassim, todoequalqueresforovlidoparaevitaroupgradedelink. Diagramadarede Nossocenrioaquiexatamenteesse.UmISPwirelesscomumbackbonecentrale diversospontosdepresena. Soluo: 1AdquirirumservidorparacadaPOP3 Todososcachesseroconfiguradosnomodotransparenteeomaisotimizadospossvel. Umahierarquiasermontada,depreferncianomodohorizontal,ougrupo.Omodelo rvorepodegerartrfegodesnecessrioatacentral. Todososservidoresdeumadeterminadanuvemdevemseconsultarmutuamente,deforma amanteromximodetrfegoemumanicaregiogeogrfica.DentrodoISP,umoutro proxytransparente,muitobemconfiguradoirfazeraindaumaltimaverificaona memriaantesdefinalmentebuscarumapginanaweb. Justificativa:

HaverumasignificativaeconomiadebandaIP,almdeconseqentediminuiode trfegonosAPs4eumaeconomiamuitograndeparaoprovedor.Almdeforneceraos clientesumserviodeexcepcionalqualidadeporumvalorbemvivel.

ISP
SimplesmentenoexistemISPsquenoqueiramdarumamelhorqualidadedeserviopara seusclientesediminuirseuscustoscomlink.Nossapropostaderesolveressasduas questesdeumanicavezutilizandoosquid.Deveseestudarcomcautelaoseucasopara queeleseenquadraramelhorsoluo. Nessecasonopretendodarumasoluocomonosanteriores.Anicaexignciautilizar proxytransparente.Dependendodoportedoseuprovedor,asoluopodesercolocadaem umnicoservidorcomumaHDIDEouentoemumclusterdealtadisponibilidadecom discosSCSIecontroladoraRAID. Pensesemprenocustoxbenefcio.Umpequenoprovedornopodecomprarumservidor demilharesdereais,damesmaformaqueumgrandeprovedorquecolocaumamquinade baixaqualidadecorreoriscodeterdegradaodedesempenhoemrelaoaousosem cache. Mantenhaemsuamentequeapartemaiscaradoprovedoremtermosdeinfraestruturaa bandaIP.Talvezumservidordedezenasdemilharesdereaissejaextremamentebarato paraumgrandeprovedor,levandoseemcontaaeconomiadebandagerada. Emgrandesinstalaes,procureentraremcontatocomseufornecedordebandaIPevejaa possibilidadedeinterligarseuSquidcomumdosproxiesinternosdatelecom.Issonoir gerareconomiadebandalocal,masdarumganhodevelocidadeequalidade. Tentetambmconversarcomadministradoresdeoutrasgrandesinstalaes,analisandoa possibilidadedeinterligarosISPsporumlinkdedicado.Issosermaisbaratoqueuma bandaIPe,almdasrotas,vocaindapodeconfigurarseusproxiesparautilizarACLpor domnio,comacriaodeumcacheexclusivoparaooutroISP.

ExaminandooSquid.conf
Apartirdeagora,vamosexplicarpassoapassoastagsdeconfiguraodosquid.conf. Lembresedequealteraesbemfeitasepensadaspodemtrazerumgrandeganhoparaa performancedeseucache,enquantoumerrodeconfiguraopodeimpedirseuSquidde trabalharouremovermuitasdesuasfuncionalidades.

Altereasopescomcautelaecertifiquesedequerealmentenecessitafazeramudana queplaneja.

TagsdaseoNetwork
Essaseoexplicatodososparmetrosdeendereosderedesrelevantesparauma instalaodoSquid.

http_port
OnmerodaportaondeoSquidirouvirasrequisiesdosclientes.Opadro3128. Essaoposerignoradaquandoosquidiniciadocomaopo"a"nalinhadecomando Vocpodeespeficicarmltiplasportas,emqualquerumadastrsformas:somenteaporta, porhostnameeportaouIPeporta.SevocespeficiarumhostnameouendereoIP,ento oSquidirouvirnaqueleendereoespecificado. http_portporta http_portip:porta hostname:porta 1.2.3.4:porta

icp_port
EspecificaonmerodaportanaqualosquidirenviarerecebersolicitaesICPdeoutros CacheServers.Paradesabilitar,bastacolocarum0.Padro:3130 Comojditoanteriormente,oICPusandoparacomunicaoentrecaches,provendoas funcionalidadesnecessriasparatrocadeinformaessobreobjetosarmazenados. icp_portporta

htcp_port
EspecificaonmerodaportaatravsdoqualoSquidirrecebereenviarrequisies HTCPdeeparacachesvizinhos.Paradesabilitar,colocar0.Opadro4827. SpecifytheportnumberthroughwhichSquidsendsandreceivesHTCPqueriestoand

fromneighborcaches.Todisable"0"isused(default=4827). htcp_portporta

mcast_groups
Especificaumalistadegruposmulticast,noqualseuservidorpodejuntarseparareceber requisiesICP.Padro=none mcast_groupsEndereo_IP

tcp_outgoing_address
usadoparaconexesfeitasemservidoresremotos.Tambmusadoparacomunicarse comoutroscachesduranteousodeHTCPouCARP.Normalmentenodeveseespecificar tcp_outgoing_address.Amelhoropodeixarosistemaoperacionalescolherum endereo.Padro:255.255.255.255 tcp_outgoing_addressEndereo_IP

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
AstagsdessaseosorelevantesquandorodandooSquidemumaredecomhierarquia.

cache_peer

Especificaoutroscachesnahierarquia.Aopocache_peerdivididaem5campos.O primeirocampooIPounomedoservidordocachequeserpesquisado.Osegundo indicaotipoderelacionamento.NoterceiroconfiguraseaportaHTTPdoservidordestino. NoquartocampoconfiguraseaportaderequisioICPe,finalmente,oquintocampo podeconterzerooualgumaspalavraschave. cache_peerhostnametipoporta_httpporta_icp[opes] ParmetrosDescrio HostnameHostname(FQDN)ouendereoIPdocacheaserpesquisado. tipoAquiespecificaseahierarquiadecachedefinida.Opoimportanteparaescolhade regrasdevizinhana. Opes:

parent sibling multicast porta_httpOnmerodaportaondeocacheouveasrequisieshttp. porta_icpOnmerodaportaondeocacheouveasrequisieshttp. Descrio Especificaqueosobjetosdesseservidornodevemsersalvos localmente Especificaopesodeum"pai".Deveserumvalorinteiro,sendoqueo padro1.Servidorescomumpesomaiortempreferncia Especificaotempodevidadeummulticast Essaoposerutilizandoquandofazendorequisiesacachesque noaceitamounosuportamICP.Casoutilizeessaopo,configureo quartocampocomo0 Seessecacheserusadocomoumaltimaopoeelenoest configuradoparatrabalharcomICP,entputilizeessaopo.Eleno seropadro,massimaltimaopo,apesardoqueindicaonomeda tag Defineumasriede"pais"quepodemserusadosbaseadosem algortimoroundrobin.

Opes proxyonly Weight=n ttl=n noquery

default

roundrobin

multicastresponder Indicaqueoservidorindicadomembrodeumgrupodemulticast.

closestonly nodigest nonetdbexchange nodelay

Indicaque,paraumarespostaICP_OP_MISS,nssomenteiremos passarCLOSEST_PARENT_MISSenuncaFIRST_PARENT_MISS. Nofazrequisiestipodigestparaessevizinho. DesabilitarequisiesICMPRTTdessevizinho Evitaqueessevizinhosejainfluenciadoporumadelaypool.

login=usurio:senha Casoesseservidorexijaautenticao. connecttimeout=nn Especificaotimeoutparaessaconexo. digesturl=url cache_peer_domain DizaoSquidparabuscaroresumodocacheutilizandoessaURL. Limitaodomnioparaqualcadavizinhoserrequisitado.usadopara enviarrequisiesparacachesdiferentesdependendododomnio.

Colocarum!antesdodomnosignificaqueocacheirarmazenaroquenofor paratal. Podesecolocartantosdomniosquantonecessrioporcache,tantonamesmalinha comoemlinhasseparadas. Quandomltiplosdomniossodadosparaumnicocache,oprimeirodomnio aplicado. Cachehostssemdomnioiroaceitartodosospedidos cache_peer_domaincache_hostdomnio[domnio]

neighbor_type_domain
Modificaotipodoservidorvizinhodependendododomnio.Vocpodetratardomniosde formadiferentequandoumservidorpadrousadonatahcache_peer. neighbor_type_domainparent|siblingdomnio[domnio]

icp_query_timeout
AquipodesedefinirmanualmenteotimeoutdeumarequisioICP.VistoqueoSquidir

automaticamentedeterminarumvaloridealbaseadoemrequisiesrecentes,bomno alteraressaopo. icp_query_timeoutmilisegundos

maximum_icp_query_timeout
TempomximodeexpiraodeumarequisioICP.Arespostanosermaisesperada depoisdessetempo. maximum_icp_query_timeoutmilisegundos

mcast_icp_query_timeout
NormalmenteoSquidenviapacotesdetesteparaosendereosmulticastparadeterminar quaisservidoresestonaescuta.EssaopodeterminaquantotempooSquidiresperar porumaresposta. ComooSquidficaaguardandoresposta,nocoloqueumvalormuitoalto.Opadroest OK.2000ms. mcast_icp_query_timeoutmilisegundos

dead_peer_timeout
ControlaquantotempooSquidlevaparadeclararumservidorcomomorto.Senenhuma requisioICPforrespondidanessetempo,oSquidcontinuarmandandorequisiesICP, masnoesperarporresposta.Oservidorsernovamentemarcadocomovivodepoisque umadeterminadaseqnciaderespostasforenviada.Padrode10segundos. dead_peer_timeoutsegundos

hierarchy_stoplist
Umalistadepalavrasque,encontradasnaURL,farocomqueoobjetosejamanipulado automaticamenteporessecache. hierarchy_stoplistpalavras

no_cache

UmalistadeelementosdeumaACL,onde,seencontrados,impedemoobjetodeser cacheado. no_cachedeny|allownomeacl

TagsdaseoCachesize
Descreveosparmetrosrelacionadosaotamanhodamemriautilizadapelocache,assim comoapolticaderotatividadenamemria.OSquidsuportemaisqueumapolticade rotatividadedememria.

cache_mem
Especificaonmeroidealdememriausadopara:

Objetosemtransito Objetos"quentes" Objetoscomnegativadecache

Ostamanhodosdadosparaessesobjetossodefinidosemblocosde4KB.Esseparmetro especificaolimiteidealparaosblocosalocados.Objetosemtransitotemprioridadesobre osoutros.Quandoespaoadicionalnecessrioparanovosdados,objetos"quentes"ecom negativadecachesoliberados.Padrode8MB. cache_memtotalMB

cache_swap_low
Aquiseespecificaolimitemnimoparasubstituiodeumobjeto.Asubstituiocomea quandooswapemdiscoestacimadolimitemnimo.Padrode90. cache_swap_lowporcentagem

cache_swap_high
Justamenteoopostodaopoanterior.Aquisedefineolimitemximo.Padrode95. cache_swap_highporcentagem

maximum_object_size
Adefiniodessapropriedadedeveseranalisadacomcritrio,vistoquelimitamosaquio tamanhomximodeumobjetoemcache.Objetosmaioresdoqueesselimitenoso salvosemdisco. Paradefinircomoconfigurarotamanhomximonessaopo,deveselevarem consideraoqueumnmerograndeimplicaemmaioreconomiadebandaeperdade performancenocachelocal,enquantoumnmeromenornoajudamuitoemganhode banda,masmelhoraavelocidadeemtempoderesposta.Recomendaseautilizaodeuma valorentre4e16MB.Nopadroserutilizado4096kB. maximum_object_sizebytes

minimum_object_size
Objetosmenoresdoqueessevalornoseroarmazenadoemcache.Ovalorpadro0,o quesignificaquetodososobjetosseroarmazenados. minimum_object_sizebytes

maximum_object_size_in_memory
Adefiniodessapropriedadedeveseranalisadacomcritrio,vistoquelimitamosaquio tamanhomximodeumobjetoemcache.Objetosmaioresdoqueesselimitenoso salvosemdisco. Paradefinircomoconfigurarotamanhomximonessaopo,deveselevarem consideraoqueumnmerograndeimplicaemmaioreconomiadebandaeperdade performancenocachelocal,enquantoumnmeromenornoajudamuitoemganhode banda,masmelhoraavelocidadeemtempoderesposta.Recomendaseautilizaodeuma valorentre4e16MB. 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
Definequalobjetosermantidonamemriaequalserremovidoparacriarespaopara novosobjetos. Opo LRU heap GDSF heap LFUDA Descrio AopopadroutilizadapeloSquid.Mantmemcacheobjetosreferenciadosa recentemente,ouseja,comearemovendodocacheoobjetoquefoi referenciadoamaistempo. Temafilosofiademantmemcacheobjetosmenores,referenciadosmaisvezes, gerandoumamaiorpossibilidadedefornecerumhit. Mantmosobjetosmaispopularesemcache,independentedeseutamanho.

heapLRU PolticaLRUacrescidadousodepilhas. cache_replacement_policypoltica

memory_replacement_policy

Determinaquaisobjetossoremovidosdamemriaquandoprecisoliberarespao.Segue asmesmaspolticasdocache_replacement_policy memory_replacement_policypoltica

TagsdaseoLogfilepathnamesandcachedirectories
Descreveosparmetrosparaconfiguraodosdiretriosdecacheelogemdisco.Os arquivosdelogsoimportantesnosparatroubleshooting,mastambmgeraode relatrioeobservaodeanomalias. recomendvelquevocutilizesedeumapolticaderotacionamentodelog,comoolog rotate.

cache_dir
Diretrioondeseroarmazenadososobjetos.possvelcriarsevriosdiretriosdecache, masissosirfazersentidoseosmesmoforememparties(ganhodeespao)oudiscos (ganhodevelocidade)separados. tipoEspecificaotipodearquivoqsercriado.Utilizeoufs.Aopoaufsdeveserutilizada quandoemumLinuxouSolariscomI/OAssncrono. tamanho_mx_objRefereseaotamanhomximodoobjetoqueserarmazenadonesse diretrio. nome_diretriooraizdodiretriodecache.Casoestejautilizandoumdiscoseparado paraocache,seropontodemontagem.Odiretriojdeveexistirpreviamenteeousurio doSquiddeveterdireitoaescritanele. MbytesQuantidadedeespaoemdiscoocupadoporessediretrio.DefinidoemMB. nvel1Nmerodesubdiretriosdeprimeironvelcriadossobodiretrioprincipal. nvel2Nmerodesubdiretriosdesegundonvelquesercriadoabaixodecada subdiretriodeprimeironvel. cache_dirtipotamanho_mx_objnome_diretrioMbytesnvel1nvel2[..]

cache_access_log
Especificaocaminhoparaoarquivodelogsdeacesso,oqualguardatodasasrequisiese atividadesdeclientes.Osdetalhesdologpodemsercustomizadoscomolog_mime_hdrs,

log_fqdnmclient_netmaskeemulate_httpd_log.Padro:/usr/local/squid/logs/access.log. cache_access_logpath_diretrio/nome_arquivo

cache_log
Configuraocaminhoparaologdecache.Essearquivoirconterinformaesgeraissobre ocomportamentodoSquid.Padro:/usr/local/squid/logs/cache.log. cache_logpath_diretrio/nome_arquivo

cache_store_log
Dizqualocaminhodologdearmazenamento.Essearquivocontmdetalhessobreo processodearmazenamentoemdisco,podendofornecerinformaescomoquaisarquivos foramremovidosdocache,quaisforammantidoseporquantotempo. Padro:/usr/local/squid/logs/store.log. cache_store_logpath_diretrio/nome_arquivo

cache_swap_log
Caminhoparaoarquivoswap.log.Essearquivocontmmetadadossobreobjetossalvosem disco,podendoserutilizadoparadarum"rebuld"nocacheduranteainicializao. Normalmenteeleficaarmazenadonoprimeirodiretriodecache,maspodeterocaminho alteradocomessaopo.Essearquivonopodeserrotacionado. Sevoctemmaisdeumcache_dir,entooseuarquivodelogdeswapternomescomo:

cache_swap_log.00 cache_swap_log.01 cache_swap_log.02

cache_swap_logpath_diretrio/nome_arquivo

emulate_httpd_logon|off
OSquidtemahabilidadedeemularologdeservidoresweb.Parautilizaressaopo,basta configurarcom"on".Sevocnotemnenhumaaplicaoespecficaparautilizaodolog

emformatoweb,sugiroquemantenhanopadrodoSquid,vistoquesermaissimples encontrarferramentasdeanalisedelogsnessepadro. emulate_httpd_logon|off

log_ip_on_direct
Ativa/DesativaaopodelogginparaumIPdestinoemumahierarquiaquandoocache direcionaarequisiodeumservidororigem. log_ip_on_directon|off

mime_table
ConfiguraatabelaMIMEdoSquid.EssearquivoirconterostiposMIMEsuportadospelo Squid.Padro:/usr/local/squid/etc/mime.conf. mime_tablepath_diretrio/nome_arquivo

log_mime_hdrson|off
GravatantoasrequisiesquantoasrespostasMIMEnocabealhodecadatransao HTTP.Oscabealhosiroaparecerem2partesdiferentesnoaccess.log. log_mime_hdrson|off

useragent_log
Parautilizaressaopo,oSquidprecisatersidocompiladocomaopo"enable useragent_log".ComissoserpossvelagravaremumlogoUserAgentdetodasas requisieshttp.Desabilitadoporpadro. useragent_logpath_diretrio/nome_arquivo

referer_log
TambmnecessitaqueoSquidtenhasidocompiladocomumaopoextra:"enable referer_log".EsselogirguardartodasasrefernciasdasrequisiesHTTP.Desabilitado

porpadro. referer_logpath_diretrio/nome_arquivo

pid_filename
EspecificaemqualarquivoserarquivadooPIDdosprocessosdoSquid. Padro:/usr/local/squid/logs/squid.pid. pid_filenamepath_diretrio/nome_arquivo

debug_options
Comooslogssoconfiguradospornvel,podemosconfigurarotantodeinformaesqueo Squidirgerarparanossaanlise.Recomendoqueutilizeopadro,excetoseestivertendo algumproblemaquenopossaserfacilmentediagnosticado.Quantomenoronveldelog, menosinformaesserogeradas.UsandoapalavraALL,podemosconfiguraronvelde logemtodosdeumanicavez.Padro:ALL,1. debug_optionsseo,nvel

log_fqdn
PodeserconfiguradocomoON,sevocdesejalogaroFQDNnoaccess.log.Porpadro estdesabilitado. log_fqdnon|off

client_netmask
Amscaraderedeparaoendereodeclientesesadadocachemgr.Utilizeopadrocomo melhoropo.Padro:255.255.255.255. client_netmaskmscara_rede

TagsdaseoSupportforExternalfunctions
SolicitacertasfunesexternasquenosopartedobinriodoSquid.Esseexecutveis normalmentesorelacionadosaDNS,ftp,redirecionamentoeautenticao.

ElessochamadospeloSquidatravsdefork()ouexec()padro.Onmerodeforksfilhos serespecificadosparacadaprocessoexterno. Parmetrosrelevantesparaessaseo:

ftp_user
Essatagutilizadasevocdesejaqueologinannimosejamaisinformativo.Coloque algumainformaosignificativacomoproxy@seudominio.com.br.Padro:Squid@. ftp_usernome_usurio

ftp_list_width
Otamanhodalarguradalistadosarquivosdoftp.Umnmeromuitopequenoircortar nomesdearquivosgrnadesquandonavegandoemsitesweb.Padro:32 ftp_list_widthnmero

ftp_passive
SeoseufirewallnopermitequeoSquiduseconexespassivas,desligueessaopo. ftp_passiveon|off

cache_dns_program
Defineseaquiocaminhoparaoexecutveldodnslookup.Essaoposestdisponvel seoSquidforcompiladocomaopodisableinternaldns. Oprogramadednsexternousaasbibliotecasderesoluo,provendoumclientededns muitomaisamadurecidoeconfivel.Casonohajanadadeestranhocomsuaresoluode DNSdoSquid,mantenhaoresolverinterno. cache_dns_programprograma

dns_children
NmerodeprocessossimultneosparaoserviodeDNS.Paraservidorescomgrandeload, pelomenos10filhosdevemseriniciados.Omximosficaem32filhos,sendoopadro5.

NovamenteprecisotercompiladooSquidespecialmenteparasuporteaDNSexterno. QuantomaisrpidaaresoluoDNS,melhorodesempenhogeraldosistema.Tendoisso emmente,utilize32processosfilhos. dns_childrennmero

dns_retransmit_interval
TempoinicialqueoDNSaguardapararetransmitirumasolicitao.Ointervalodobracada vezquetodososDNSconfiguradossotentados. dns_retransmit_intervalsegundos

dns_timeout
TimeoutpararequisiesDNS.Senohouverrespostadepoisdessetempo,todososDNS configuradosparaessedomniosoconsideradosindisponveis.Padrode5minutos. dns_timeoutminutos

dns_defnames
NormalmenteoservidordednsdesabilitaaopoderesoluoRES_DEFNAMES.Isso impedequecachesemumahierarquiaresolvamnomesdehostslocalmente.Parautilizar essaopo,noesqueadehabilitarnahoradacompilao. dns_defnamesonouoff

dns_nameservers
PodeserusadoparaespecificarumalistadeservidoresDNSnolugardoresolv.conf dns_nameserversEndereo_IP

unlinkd_program
Especificaocaminhodoprogramaunlinkd.Issononecessriosevocestiverusando "I/O"assncrono.Padro"/usr/local/squid/libexec/squid/unlinkd" unlinkd_program"path_diretrio/nome_programa"

diskd_program
Especificaalocalizaododiskd. diskd_program"path_diretrio/nome_programa"

pinger_program
Defineocaminhodoexecutvelpinger. pinger_program"path_diretrio/nome_programa"

redirect_program
DizqualocaminhodoredirecionadordeURL.Existemdiversasaplicaesquepodero serutilizadasaqui. redirect_programpath_diretrio/nome_programa

redirect_children
Nmerodeprocessosfilhosparaoprogramaderedirect. redirect_childrennmero

redirect_rewrites_host_header
PorpadrooSquidreescreveoheaderdehostemrequisiesredirecionadas.Sevocest rodandocomoproxyreverso,issopodenoserdesejado. redirect_rewrites_host_headeron|off

redirector_access
Sedefinido,essalistadeacessoespecificaquaisrequisiessoenviadasparaoprocesso deredirect.Porpadro,todasoso. redirector_accessallow|deny

authenticate_program
Especificaocomandodoautenticadorexterno.Esseprogramalumalinhacontendo: "usuriosenha"edevolveumOKouERR.Parautilizaroautenticadorprecisoteruma ACLrelacionada. authenticate_programpath_diretrio/nome_programapath_diretrio/arquivo_senhas

authenticate_children
Nmerodeprocessosfilhosdoautenticador.Padrode5. authenticate_childrennmero

authenticate_ttl
Especificaotempodevidaparaumaautenticaobemsucedidapermaneceremcache.Se umacombinaoinvlidadenomedeusurioesenhafornecida,ousurioremovidodo cacheeumarevalidaoexigida.Padrode3600segundos. authenticate_ttlsegundos

authenticate_ip_ttl
Comessaopovocpoderespecificarporquantotempoaautenticaopersistirpara umdeterminadoIP.Seumarequisiousandoamesmaautenticaodaconexoj efetuadaforutilizadaemoutramquina,ambasteroacessobloqueadoeserexigidauma novaautenticao.Sevoctemusurioscomumaconexodiscadaconectandoemseu Proxyremotamente,recomendvelquenotenhaumnmeromaiordoque60segundos, vistoqueissooimpediriadeconectarsenovamenteduranteessetemposealinhadele casse.Opadrode0segundos. authenticate_ip_ttlsegundos

authenticate_ip_ttl_is_strict
Essaopofazcomqueaautenticaosejaumpoucomaisrgida.Elaimpedequequalquer outraconexosejafeitacomoutrosendereosIPenquantootempodevidaespecificado

anteriormentenoexpirar.Essaopoestativadaporpadro. authenticate_ip_ttl_is_stricton|off

TagsdaseoparatunningdoSquid
EssaseodescreveimportantesparmetrosparadeterminaraperformancedoSquid.

wais_relay_host/wais_relay_port
DefineoservidorderelacionamentoWAIS wais_relay_hosthost wais_relay_portporta

request_header_max_size
Especificaotamanhomximodeumcabealhodeumarequisiohttp.Comosabeseque umcabealhoHTTPdeveserpequeno(porvoltade512bytes),limitarotamanhodo mesmopodeserinteressantenousodeproxyreverso,criandoumabarreiraamaispara ataquesdotipobufferoverflowedenialofservice.Padrode10K. request_header_max_sizekbytes

request_body_max_size
EspecificaotamanhomximoparaocorpodeumarequisioHTTP.Ouseja,otamanho mximodeumPUTouPOST.Essaopopodeserinteressanteparaempresasquequeiram garantirqueseususuriosnofarograndesuploadspartirdaempresa.Padrode1MB.. request_body_max_sizekbytes

reply_body_max_size
Tamanhomximodocorpodeumreply.Issotilparaimpedirqueseususuriosbaixem arquivosgrandes.Padrode0. reply_body_max_sizekbytes

refresh_pattern
Essaopodeveserusadacomextremocuidado.Sevocnotivernenhumaaplicaoque exijaexplicitamentealteraressaTAG,sugiroquedeixeainalterada.Umvalorinadequado aquifarcomqueseususuriossimplesmentenoconsigammaisacessaraplicaes dinmicasnaweb.Nosejalevadopelaidiadequeimpedirosusuriosdeficardando reloademumapginaireconomizarsuabanda,poisadordecabeageradasermuito maiscaradoquesuabanda. Parmetros mn Descrio Tempomnimo,emminutos,queumobjetosemumtempodeexpirao explicitamenteconfiguradoserconsideradovlido.Utilize, impreterivelmente0.

aporcentagemdaidadedosobjetos,desdealtimamodificao,noqual porcentagem esseserconsideradovlido,desdequenotenhaumvalordeexpirao configurado. mx otempomximo,emminutos,queumobjetossemumtempodeexpirao explicitamenteconfiguradoserconsideradovlido. Descrio Reforaotempomnimodeexpiraodeumobjeto,aindaqueomesmo tenhasidoenviadonocabealho. Reforaotempomnimo,aindaqueoobjetotenhasidomodificado recentemente. Modificasolicitaesdotipo"semcache"ou"reload"para"Semodificado desderequisio" Simplesmenteignoraasrequisies"semcache"e"reload".

Opes override expire override lastmod reloadinto ims ignorereload

refresh_pattern[i]regexmnporcentagemmx[opes]

reference_age
Comojdiscutido,oSquidatualizasuamemriabaseadoempolticas,normalmente

removendoprimeiroobjetosmaisantigosoumenospopulares.Apesardissoserfeito dinamicamente,podemosconfigurarvaloresmanualmentenessaopo,configurandoo tempomximodepermannciaemmemria.Ovalorpadrode1ano. reference_agetempo

quick_abort_min/quick_abort_max/quick_abort_pct
Ocachepodeserconfiguradoparacontinuarcomodownloadderequisiesabortadas.Ao mesmotempoqueissopodeserindesejadoemredespequenasecomconexolenta,pode sertilemgrandesinstalaes,ondequasecertamenteumoutrousurioirrequisitaro mesmoobjeto. Quandoousurioabortaumdownload,oSquidverificaovalordaopoquick_abortea quantidadededadosbaixadosatomomento.Seotransferidoformenordoqueo especificado,eleirfinalizarodownload.Padro:16KB Seotransferidotivermaisdoqueoquick_abort_max,eleirabortaratransferncia. Padro:16KB Seumaporcentagemmaiordoqueaconfiguradaemquick_abort_pcttiversidobaixada, elefinalizaodownload.Padrode95%. quick_abort_minkbytes quick_abort_maxkbytes quick_abort_pctporcentagem

negative_ttl
Tempodevidapararequisiesfalhas.Certostiposdeerros(comoconexorecusadaou pginanoencontrada)somarcadoscomo"semcache"porumdeterminadotempo. Padrode5minutos. negative_ttltempo

positive_dns_ttl
TempodevidapararesultadosbemsucedidosderesoluoDNS.Sevocrealmente precisaralteraressevalor,nodeixeinferiora1minuto.Padrode6horas. positive_dns_ttltempo

negative_dns_ttl

TempodevidaderesoluesfalhasdeDNS. negative_dns_ttltempo

range_offset_limit
Configuraumlimitesuperiordeatondedeveriraabrangnciadeumarequisiode arquivoemumprdownload.Sepassardesselimite,oSquidencaminhaarequisiocomo estenocacheiaoresultado. range_offset_limitbytes

TagsdaseoTimeouts
Parmetrosdetimeoutpodemserbaseadosemtempodeconexo,conexocomhost,por siteoudomnio,portipoderequisio,etc.Timeoutsbemconfiguradossoessenciais paraotimizaraperformancedoSquid.Osprincipaisparmetrosestolistadosabaixo.

connect_timeout
OtempodeesperaqueoSquidaguardapelarespostadoservidordeorigem.Seessetempo forexcedido,oSquidrespondecomumamensagemde"Connectiontimedout".Padrode 120segundos. connect_timeoutsegundos

peer_connect_timeout
Especificaquantotempodeverseraguardadaumarespostadeumcachevizinhopara conexesTCP.Diferenteslimitespodemserconfiguradosparavizinhosdistintos.Padro de30segundos. peer_connect_timeoutsegundos

siteselect_timeout
DefineotempodeexpiraoparaURNemseleodemltiplasURLs.URNum

protocolodesenvolvidopararesoluodenomesindependentedelocalizao.Padrode4 segundos. siteselect_timeoutsegundos

read_timeout
Essaopousadaemconexesserverside.Apscadaleiturabemsucedida,otimeout seraumentadonessevalor.Senenhumdadoforlidoapsessetempo,arequisio abortadaelogadacomoERR_READ_TIMEOUT.Padrode15minutos. read_timeouttempo

request_timeout
DizaoSquidquantotempoesperarapsumaconexoHTTPseraberta.Paraconexes persistentes,oSquidiraguardaressetempoapsofimdarequisioanterior.Defaultde 30segundos. request_timeoutsegundos

client_lifetime
Tempomximoqueumclientepoderficarconectadoaoprocessodecache.Entendase clientecomobrowser.IssoprotegeocachedetermuitossocketsemestadoCLOSE_WAIT devidoaclientesquedesconectamsemutilizaroprocedimentoadequado.Padrode1dia. client_lifetimetempo

half_closed_clients
AlgunsclientespodempararoenviodepacotesTCPenquantodeixamorecebimentoem aberto.AlgumasvezesoSquidnoconseguediferenciarconexesTCPtotalmente fechadaseparcialmentefechadas.Porpadro,conexesparcialmentefechadasso mantidasabertasatquehajaumerrodeleituraouescritanosocket.Mudandoessaopo paraofffarcomqueoSquidimediatamentefecheaconexoquandoaleituradosocket retornar"semmaisdadosparaleitura". half_closed_clientson|off

pconn_timeout
Aquiconfiguraseotimeoutparaconexespersistentes.Depoisdotempodeinatividade determinadoaqui,oSquidencerraasconexespersistentes.Casovocconfigureessa opoparamenosde10segundos,afuncionalidadeestardesabilitada.Padrode120 segundos. pconn_timeoutsegundos

ident_timeout
TempomximoparaparaaguardarrequisiesIDENT.Seessevalorestivermuitoaltoea opoident_lookupativada,existeapossibilidadedesujeitarseaumanegaodeservio, portermuitasrequisiesIDENTaomesmotempo.Padrode10segundos. ident_timeoutsegundos

shutdown_lifetime
QuandooSquidrecebeumSIGTERMouumSIGHUP,ocachecolocadoemmodode "shutdownpendente"atquetodosossocketsativossejamfechados.Qualquercliente aindaativodepoisdesseperodoirreceberumamensagemdetimeout.Defaultde30 segundos. shutdown_lifetimesegundos

TagsdaseoAccessControlLists
Semdvidaapartemaisimportanteparaosadministradores.ComousodeACLsbem configuradaseplanejadas,possvelnosmanterseususuriossobcontrole,mas tambmmelhorardesempenhoefacilitaraadministrao.

acl
Defineumalistadeacesso.Quandousandoumarquivoparabuscarosdados,omesmo deveconterumainformaoporlinha.Expressesregularessocasesensitiveparafaze

lascaseinsensitive,utilizeaopoi. aclnometipostring1...|"arquivo" src Baseadoemipouhostnamedeorigemdarequisio aclnomesrcip/mscara. dst Baseadoemipouhostnamededestinodarequisio.AACLsinterpretadadepois quearesoluoDNSforfeita. aclnomedstip/mscara. srcdomain Odomniodamquinacliente.Osdomniosseroobtidosporresoluoreversa deIP,oquepodecausaratrasosparaarespostadarequisio.

aclaclnamesrcdomainnome_domnio dstdomain Mesmoquesrcdomain,maslevandoseemcontaodestino. aclnomedstdomainnome_domnio srcdom_regex Expressoregularqueavaliadaparatentarmarcarumdomniorequisitante. aclnomesrcdom_regexregex dstdom_regex Mesmoquesrcdom_regex,mascomrelaoaodestino. aclnomedstdom_regexregex time Diadasemanaehora aclnometime[abreviaododia][h1:m1h2:m2] Onde:

SSunday(Domingo) MMonday(SegundaFeira)

TTuesday(TeraFeira) WWednesday(QuartaFeira) HThursday(QuintaFeira) FFriday(SextaFeira) ASaturday(Sbado)

h1:m1horriodeincioh2:m2horriodotrmino url_regex EssaACLirprocuraemnaURLumaexpressoregularqueespecificada. Opocasesensitive

aclnomeurl_regexregex Essaaclirfazerumacombinaodeumaexpressoregularcomocaminho urpath_regex emumservidorqueestsetentandoacessar.IssosignificaqueoSquidir ignoraronomedoservidoreoprotocoloutilizado. aclnomeurlpath_regexregex port Oacessopodesercontroladopelaportadoendereodoservidorrequisitado. aclnomeportnumeroporta proto Especificaoprotocolodetransferncia(http,ftp,etc). aclnomeprotoprotocolo method Especificaotipodemtododarequisio. aclnomemethodtipomtodo browser ExpressoregularcujopadrotentaracombinarcomocontidonocabealhoHTTP derequisiodocliente,descobrindoassimoagente(browser)utilizado. aclnomebrowsertipo ident Seqnciadecaracteresquecombinamcomonomedousurio.Requerumservidor

Identrodandonamquinadocliente. aclnomeidentnome_usurio ident_regex Omesmoqueident,masutilizandosedeexpressoregular. aclaclnameident_regexpattern src_as Origemdeumsistemaautnomo dst_as Destinodeumsistemaautnomo snmp_community ComunidadeSNMP. aclsnmppublicsnmp_communitypublic maxconn Limitemximodeconexesprovenientesdeummesmocliente.tilpara restringirnmerodeusuriosporIP,bemcomofazercontroledeusodabanda. Expressoregularquecombinacomotipodecontedocontidono cabealhoderequisio.

req_mime_type

aclnomereq_mime_typepadro arp MACAddressdocliente. aclnomearpMAC_ADDRESS

http_access
Permiteounegaacessoaoserviohttpbaseadonalistadeacesso(acl)definida.Ousode "!"indicaqueseranegaodaacl.

Senenhumadasaclsconfiguradasseencaixarnarequisioemcurso,serentoaplicadaa ltimaregra.importantesemprecriarumaaclchamadaall(oudescomentaralinhaj existente)ecolocarum`http_accessdenyall. http_accessallow|deny[!]nome...

icp_access
PermiteounegaacessoportaICP,baseandosenaslistasdeacesso. icp_accessallow|deny[!]nome...

miss_access
Usadoparaforarseusvizinhosausarseuservidorcomo"irmo"aoinvsde"pai". miss_accessallow|deny[!]nome...

cache_peer_access
Similaraocache_peer_domain,masoferecemaisrecursosporutilizarsedaflexibilidade dasacls.Suasintaxeidnticaaohttp_access. cache_peer_accesscachehostallow|deny[!]nome...

ident_lookup_access
UmalistadeelementosemumaACL,osquais,seencontrados,irogerarumarequisio IDENT. ident_lookup_accessallow|denynome...

Tagsdaseoauth_param
UmadasprincipaismudanasdoSquid2.4.xparao2.5.xfoiosistemadeautenticao. Todasasopesreferentesaissoestoagorassujeitasaopoauth_param.Vamosver abaixocomoelafunciona. Formatogeral auth_paramesquemaparmetro[opes]

program
Especificaoprogramautilizadoparaautenticao.Talprogramairlerumalinhacontendo "usuriosenha"eresponderaosquidcomum"OK"parasucessoouum"ERR"parafalha. Parautilizarumautenticador,necessrioumaacldotipoproxy_auth.Porpadro,utiliza seosistemadeautenticaobsico. auth_parambasicprogram/path/do/programa/path/do/arquivo/senhas

children
Nmerodeprocessosfilhosqueoprogramadeautenticaopoderconter. auth_parambasicchildrennmero

realm
Textoqueiraparecernacaixadedilogodelogin.Nonecessrioconfigurar,mas confereumacertapersonalizaoaoservidor. auth_parambasicrealmTextodelogin

credentials_ttl
EspecificaporquantotempooSquidirassumirqueumaautenticaobemsucedida continuarvlida. auth_parambasiccredentialsttltempo

Tagsdaseoparmetrosadministrativos
OsparmetrosconfiguradosnessaseopermitemqueoadministradordoSquid especifiqueusurioegruposnoqualoSquidirrodar,bemcomohostnamequeir aparecerquandohouvererros,etc.

cache_mgr

Usandoessatag,nspodemosespecificaroendereodeemaildoadministradordocache local,queseroresponsvelpelainstalaodessamquina.Esseusuriosernotificado poremailcasoocachemorra.(usuriolocal).Padro:webmaster cache_mgrusurio

cache_effective_user/cache_effective_group
Quandoiniciadocomoroot,oSquidirprocuraresseparmetroparadeterminarousurio egruponoqualirrodar.importanteressaltarqueiniciaroSquidcomusurionoroot farcomqueelenoconsigaabrirnenhumaportaabaixode1024localmente.Ao configuraresseparmetro,tenhacertezadequeousurioescolhidoteraspermisses necessriasparaescrevernodiretriodelogs,cacheetodososnecessrios. cache_effective_userusurio cache_effective_groupgrupo

visible_hostname
Sevocdesejaapresentarumamensagemdeerrocomumhostnameespecfico,definaaqui essaopo.DocontrriooSquidirtentardescobrirohostname.Esseparmetronoser necessriosevocnotiverumgrandeclusterdeSquids. visible_hostnamenomehost

hostname_aliases
Umalistadeoutrosnomesqueseucachepossater.Essaopousadaparadetectar requisiesinternasquandoumcachetemmaisdeumhostnameemuso. hostname_aliasesnomehost

Tagsdaseohttpdaccelerator
OSquidpodeserusadocomoumbalanceadordecargaouredutordecargadeum webserveremparticular.Algunscachespodemtrabalharcomrequisiesdecachee requisieshttp,fazendodelestambmumservidorweb.OdesenvolvimentodoSquidno optouporessasoluo.Entretanto,adicionandoseumacamadadetraduooSquidpode

recebereinterpretarrequisiesnoformatowebserver,asquaiseleirrepassaraoservidor webreal,situadoatrsdele. NessaseotambmconfiguraseoSquidparatrabalhardemodotransparente.

httpd_accel_host
Configuraonomedohostparaoservioacelerado.Sevoctivervriosservidores,ser necessrioutilizarapalavravirtualaoinvsdehostname. httpd_accel_hosthostname(IP)|virtual

httpd_accel_port
Portaparaqualasrequisiesaceleradasseroenviadas. httpd_accel_portporta httpd_accel_single_host SevocestutilizandooSquidcomoumaceleradorwebetemsomenteumservidorno backend,configureessaopoparaon.IssofarcomqueoSquidmandeasrequisies paraoservidor,independentementedoqueocabealhodisser. httpd_accel_single_hoston|off

httpd_accel_with_proxy
Seaopohttp_accel_hostestiverativada,entooSquidirparardetrabalhara funcionalidadedecache.necessrioconfiguraressaopoparaqueambasas funcionalidadescontinuemativas. httpd_accel_with_proxyon|off

httpd_accel_uses_host_header
AsrequisiesHTTP/1.1incluemumcabealhorelativoaohost,quebasicamentecontm onomedomesmonaURL.OSquidpodeserumaceleradorparadiferentesservidoresweb atravsdaanalisedocabealhohttp.Entretanto,oSquidnochecaosvaloresdocabealho dohost,abrindoumapossvelbrechadesegurana.Maisumavez,recomendadoutilizar essatagcomcuidado. httpd_accel_uses_host_headeron|off

TagsdaseoMiscellaneous
Comoonomesugere,essaseosobrealgunsparmetrosquenopodemser explicitamenteencaixadoscomnenhumaoutracategoria.Iremosabranger:

Limitedecrescimentodearquivosdelog. Mostrarinformaescustomizadassobreosclienteseerros. DefinirpoolsdememriaparaoSquid. GerenciamentoporSNMP. CoordernaocomcachesvizinhosatravsdeWCCP. Direcionarasrequisiestantoparaoservidordeorigemcomoumcachevizinho.

dns_testnames

OtestedeDNSpradeserexecutadotologoeleconsegueresolveraprimeirabuscade nome.EssetestepodeserdesabilitadoiniciandoseoSquidcomaopoDnalinhade comando. dns_testnamesURL logfile_rotate

Especificaonmeroderotaesexecutadasquandodadigitaodesquidkrotate.O padro10,oquesignificaqueoSquidcriarextensesde0at9.Configurarolog_rotate para0irdesabilitarorotacionamento. logfile_rotatenmero

append_domain
Anexaonomedodomniolocalparahostnamessemnenhumponto(.).Essaopodeve conterumdomniocomponto(.)noincio. append_domainnome_domnio

tcp_recv_bufsize

TamanhomximodeumbufferTCP. tcp_recv_bufsizebytes

err_html_text
EspecificaotextodoHTMLqueserincludonasmensagensdeerro.Podeseralguma mensagemsobrecontatodoadministador,ouumlinkparaapginadaempresa. err_html_texttexto

deny_info
Essaopopodeserusadapararetornarumapginadeerropararequisiesqueno passempelasregrasdefinidasemumaACL.Vocpodeutilizaraspginaspadrodeerro doSquidoucriarassuasprprias. deny_infonome_pagina_erroacl

memory_pools
Seconfigurado,oSquidirmanterpoolsdememriaalocadaelivreparausofuturo. memory_poolson|off

memory_pools_limit
Devesetambmdeterminarumvalorparaessepooldememriaembytes.Seno configurada,oucomvalorigualazero,oSquidirguardartantamemriaquantopossvel. memory_pools_limitbytes

forwarded_for
AtualmenteopadroHTTP/1.1noprovnenhumaformadeindicaroendereode requisiodeumcliente.Entretanto,comoessaeraumafeaturerequisitada,oSquid adicionaemsuasrequisiesumcabealhodotipo"XForwardedFor".Seativadaessa opooSquidirmandarrequisiescomoIPdeorigemnocabealho.Casocontrrio,o

mesmoirterorigemdesconhecida. forwarded_foron|off

log_icp_queries
Configurandoseessaopocomoativa,asrequisiesICPpassaroaserlogadasno access.log. log_icp_querieson|off

icp_hit_stale
SevocdesejaretornarumICP_HITparaobjetosestticoscacheados,configureessa opoparaon. icp_hit_staleon|off

minimum_direct_hops
SevocutilizarICMP,faabuscasdiretasparasitesqueestejamamaisdeumhopde distncia.Esseparmetrotilparadescobriralatnciadarede. minimum_direct_hopsnmero

minimum_direct_rtt
SeestiverutilizandoICMP,faabuscasdiretasasitesqueestejamamaisdoqueonmero demilisegundosconfiguradosaquidedistncia.Padrode400. 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) Otamanhomdiodeobjetosusadoparaestimaronmerodeobjetosqueseucachepode manipular.Parafazeressaestimativa,bastacalcular:Nmerodeobjetos= cache_swap/tamanhomdiodeobjetos. store_avg_object_sizetamanho store_objects_per_bucket Nmerodeobjetosarmazenadosdeumanicavezemumatabelahash. store_objects_per_bucketkbytes

client_db
Sevocdesejadesabilitarestatsticasporcliente,desabiliteessaopo. client_dbon|off

netdb_low/netdb_high
OslimitesmnimosemximosdamedioICMP.Porpadroessesvaloresso900e1000. Issosignificaquequandoolimitemximoatingido,obancodedadosirapagarregistros atalcanarolimitemnimo.

netdb_lowentradas netdb_highentradas

netdb_ping_period
Otempomnimodemediodeumsite. netdb_ping_periodtimeunits

query_icmp
SevocdesejafazercomqueasrequisiesICPsejamtambmrespondidascom informaesICMPpelosseusvizinhos,habiliteessaopo.Lembresequenecessrio queoSquidtenhasidoespecificamentecompiladocomsuporteaicmpparaqueessaopo sejafuncional. query_icmpon|off

test_reachability
Quandohabilitado,repostasICPMISSserointerpretadascomoICPMISSNOFETCHse ohostalvonoestivernabasededadosICMPoutiverumRTTzero. test_reachabilityon|off

reload_into_ims
Habilitandoessaopo,vocfarcomqueumarequisionocachesejatransformadaem umaifmodifiedsince.Essaopodeveserusadaapenasemcasosmuitosespecficos. reload_into_imson|off

always_direct
PodeutilizarelementosdeumaACLparaespecificarrequisiesquedevemsempreser encaminhadasparaoservidordeorigem.Issonormalmenteutilizadojuntamentecoma opocache_peer. always_directallow|deny[!]nome...

never_direct
aregraopostaaoalways_direct,funcionandodamesmamaneira. never_directallow|deny[!]aclname...

anonymize_headers
Substituioantigocabealhohttp_anonymizerporumaopomaisconfigurvel.Agora possvelespecificarquaiscabealhosseroenviadosouremovidosdasrequisies. anonymize_headersallow|denynome_cabealho... possvelutilizaressaopopermitindoquedeterminadostiposdecabealhossejam vistosounegandooutros. Paraterumaheaderigualaohttp_anonymizer,precisoconfigurardaseguinteforma:

anonymize_headersallowAllowAuthorizationCacheControl anonymize_headersallowContentEncodingContentLength anonymize_headersallowContentTypeDateExpiresHost anonymize_headersallowIfModifiedSinceLastModified anonymize_headersallowLocationPragmaAccept anonymize_headersallowAcceptEncodingAcceptLanguage anonymize_headersallowContentLanguageMimeVersion anonymize_headersallowRetryAfterTitleConnection anonymize_headersallowProxyConnection

fake_user_agent
EssaopofazcomqueoSquidenvie,comoversodobrowser,oparmetroquefor configurado. fake_user_agentString

icon_directory
Especificaodiretrioemqueosconesestoarmazenados. icon_directorypath_diretrio/nome_diretrio

error_directory
CasodesejecustomizarasmensagensdeerrodoSquid,bastaindicarodiretrioondeos htmlsseroencontradosecrialosdeacordocomapadronizao. error_directorypath_diretrio/nome_diretrio

minimum_retry_timeout
Especificaotamanhomnimodetimeout,quandoessetemporeduzidoparacompensara disponibilidadedemltiplosendereosIP.Issosignificaquequandoumaconexo iniciadacomumhostquetemmltiplosendereosIPs,otempopadrodetimeoutento reduzidodividindoseessevalorpelonmerodeendereos. minimum_retry_timeoutsegundos

maximum_single_addr_tries
Configuraonmeromximodetentativasdeconexesemumservidorquetenhasomente umendereo. maximum_single_addr_triesnmero

snmp_port
OSquitemacapacidadedefornecerinformaessobrestatuseestatsticasviaSNMP. Aquiconfiguramosaportaondeesseservioirescutar.Utilize0paradesabilitaressa opo.Padro:3401. snmp_portporta

snmp_access
PermiteounegaacessoportaSNMP,baseandoseemumaacl. snmp_accessallow|deny[!]aclname...

Tagsdaseodelaypool

Conceitualmente,asdelaypoolssolimitantesdeconsumodebanda.Basicamenteoque umdelaypoolfazcriarumalentidoartificialparaosclientes,gerandoumagrande economiadebanda.Comumacombinaobemfeitadedelaypoolseacls,possvelfazer umgrandecontroleelimitaodebanda.

delay_pools
Nmerototaldedelaypoolsqueiroserutilizadas.Issosignificaquesevoctiveruma delaypooldeclasse2e4declasse3,essenmerodeverser5. delay_poolsnmero

delay_class
Defineaclassedecadadelaypool.Devehaverexatamenteumaclassededelayparacada delaypool. delay_classnmero(delaypoolnumber),nmero(delayclass)

delay_access
Determinaemqualdelaypoolumarequisioserencaixada.Aprimeiraacombinarser utilizada,porissoverifiquecomcuidadosuasacls. delay_accessallow|denynomeacl

delay_parameters
Defineosparmetrosparaumadelaypool.Cadadelaypooltemumnmerodealocaode trfegoassociado.

delay_parameterspoolagregado(delay_class1) delay_parameterspoolagregadoindividual(delay_class2) delay_parameterspoolagregadonetworkindividual(delay_class3) delay_initial_bucket_level

DeterminaqualaporcentagemcolocadaemcadaalocaoquandooSquidiniciado. delay_initial_bucket_levelbytes

incoming_icp_average/incoming_http_average/incoming_dns_average/ min_icp_poll_cnt/min_dns_poll_cnt/min_http_poll_cnt
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
EspecificaonmeromximodefiledescriptorsqueoSquidpodeusarparaabrirarquivos. EssaopousadaparaevitargargalodeI/Oeacessoadiscolimitandoonmerode arquivos. max_open_disk_fdsnmero

offline_mode
Comessaopoativada,oSquidnuncairtentarvalidarobjetoscacheados. offline_modeon|off

uri_whitespace
AaoquesertomadaquandoumaURIcontiverespaosembrancodecididanessatag. Padrostrip. uri_whitespaceopes Opes Descrio

strip deny allow

OsespaosembrancosoremovidasdaURL,deacordocomorecomendadona RFC2616 Arequisionegadaeoclienterecebeumamensagemde"RequisioInvlida" Arequisioaceitaeosespaosembranconosoalterados.

encode ArequisioaceitaeosespaossocodificadosdeacordocomaRFC1738 chop Arequisiocortadaemandadaapenasatoespaoembranco

broken_posts
UmalistadeelementosdeumaACLque,seencontrados,irofazercomqueoSquid coloqueumparextradeCRFL(CarriagereturneLineFeed)emumPUTouPOST.Isso somenteutilizadojuntoaalgunsservidoresHTTPproblemticosqueexigemessa modificao.Senosouberdenenhumcasoespecfico,ignoreessaopo. broken_postsallow|denynomeacl

nonhierarchical_direct
Porpadro,oSquidirenviarqualquerrequisionohierrquicadiretamenteaos servidoresdeorigem.Sevocdesabilitarisso,oSquidirenviarissoparaocache"pai". Namaiorpartedoscasos,noumaboaidiadesabilitaressaopo,vistoqueelairgerar umalatnciadesnecessria,semnecessariamentealgumganho. nonhierarchical_directon|off

prefer_direct
OcomportamentonormaldoSquidtentarutilizarseus"pais"namaiorpartedas requisies.Umapossvelutilidadedehabilitarumabuscadiretaaoinvsdisso,seria combinandoasopesnonhierarchical_directoffandprefer_directon,fazendo basicamentedos"pais"umarotabackupemcasodeerroembuscasdiretas. prefer_directon|off

strip_query_terms

Parahabilitarologdetodosparmetrosdasrequisies,necessriohabilitaressaopo. CasocontrriooSquidapenasdforwarddasmesmassemgerarumlogcompleto. strip_query_termson|off

coredump_dir
Emcasodefalhas,ossistemasUnixgeramsempreumarquivodecoredosprogramas.O Squidnormalmenteguardaosarquivosdecoregeradosporelenodiretriodecache.Com essaopopossvelconfigurarondeserarmazenadoessearquivo. coredump_dirdiretrio

redirector_bypass
Quandohabilitado,umarequisionoiratravsdosredirecionadoressetodoseles estiveremocupados.Seestivercomessaopoestiverdesativadaeafilacomearacrescer muito,oSquidirabortaregerarumerrosolicitandoqueaquantidadederedirecionadores sejaaumentada. redirector_bypasson|off

ignore_unknown_nameservers
OSquidsempreverificaseumarespostaDNSestsendorecebidadeummesmoIPde origemparaqualestsendoenviadaarequisio.Casonosejamosmesmos,oSquidir ignorararespostaemandarumamensagemnolog.Recomendoquenodesabiliteessa opo,vistoqueumaproteoamaiscontraataquesbaseadosemDNS. ignore_unknown_nameserverson|off

digest_generation
Aquipossvelcontrolarseoservidorirgerarumresumoeotipodeseucontedo.Para habilitaressaetodasasoutrasopesreferentesaresumo,necessrioqueoSquidtenha sidocompiladocomopoenablecachedigests. digest_generationon|off

digest_bits_per_entry
Nmerodebitsdoresumodecachedoservidor,oqualserassociadocomacombinao deumdadotipodemtodoHTTPeURL. digest_bits_per_entrynmero

digest_rebuild_period
Nmerodesegundosparaareconstruodoresumodocache.Opadrode1hora. digest_rebuild_periodtempo

digest_rewrite_period
Tempodeesperaentreescritasderesumonodisco.Comonaopoanterior,oresumo escritoacada1hora. digest_rewrite_periodtempo

digest_swapout_chunk_size
Nmerodebytesdoresumoaescreverdecadavez.PorpadrooSquidutiliza4KB,que otamanhopadrodeumapginadeswap. digest_swapout_chunk_sizebytes

digesvt_rebuild_chunk_percentage
Configuraseaquiaporcentagemdoresumodecachequeserverificadadecadavez.Por padroestconfiguradopara10%dototal. digest_rebuild_chunk_percentageporcentagem

chroot
Devidoaalgunsprocedimentosquenecessitamdepoderesderoot,oSquidroda parcialmentecomotal.SevocdesejarodaroSquidcomochroot,precisohabilitaressa

opo.IssofarcomqueoSquidrodeosprocedimentosnecessrioscomorootedepois abandonecompletamenteesseprivilgio.Lembresequeparausarumchrootnecessrio umchroot_dir. chrootenable|disable

client_persistent_connections/server_persistent_connections
Suporteaconexespersistentesparaclienteseservidores.Porpadro,oSquidirusar conexespersistentesparacomunicarsecomclienteseservidores. client_persistent_connectionson|off server_persistent_connectionson|off

pipeline_prefetch
Paramelhorarodesempenhoderequisiesefila,oSquidirtrabalharcom2requisies paralelamente. pipeline_prefetchon|off

extension_methods
OSquidsomentetrabalhacomrequisiesHTTPpadro.Apesardemtodosdiferentes seremnegados,possvelfazercomqueelessejamaceitosadicionandoosaumalista. possvelincluirat20mtodosdiferentes. extension_methodsrequestmtodo

high_response_time_warning
Seamdiadefalhasporminutoexcedeessevalor,oSquidmandaumavisodenvel0no debug(normalmentegerandoumasadanosyslog)dealerta. high_response_time_warningmsec

high_page_fault_warning
Seamdiadefalhasporminutoexcedeessevalor,oSquidmandaumavisodenvel0no

debug(normalmentegerandoumasadanosyslog)dealerta. high_page_fault_warningtimeunits

high_memory_warning
Seousodememriaexcedeovalordeterminado,oSquidmandaumavisodenvel0no debug(normalmentegerandoumasadanosyslog)dealerta. high_memory_warningnmero

store_dir_select_algorithm
OSquidpodetrabalharcom2tiposdealgoritmosparaescolherentrevriosdiretriosde cache:leastloaderoundrobin.Opadroleat_load. store_dir_select_algorithmtipo_algoritmo

ie_refresh
OMicrosoftInternetExplorerataverso5.5SP1temproblemasaotrabalharcomproxy transparente,impossibilitandoforarumrefresh.Ativandoessaopopossvelcorrigir parcialmenteoproblema,fazendocomquetodosospedidosderefreshvindodeumIEseja automaticamenteinterpretadocomoforado.Amelhoropo,quandopossvel,atualizar osclientes. ie_refreshon|off

Outrasrefernciaseleituras complementares
http://squid.visolve.com/squid24s1/contents.htm http://br.groups.yahoo.com/group/squidbr/ http://lasdpc.icmc.sc.usp.br/pesquisa/jac/quali.pdf http://directory.google.com/Top/Computers/Software/Internet/Servers/Proxy/Caching/Squi d/?tc=1/ http://hermes.wwwcache.ja.net/servers/squids.html

http://freshmeat.net/search/?q=squidion=projects http://www.poppb.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/BandwidthLimitingHOWTO/index.html http://squid.visolve.com/squid24s1/access_controls.htm http://stein.cshl.org/WWW/software/GD/ http://squid.visolve.com/squid24s1/contents.htm http://br.groups.yahoo.com/group/squidbr/ http://lasdpc.icmc.sc.usp.br/pesquisa/jac/quali.pdf http://directory.google.com/Top/Computers/Software/Internet/Servers/Proxy/Caching/Squi d/?tc=1/ http://hermes.wwwcache.ja.net/servers/squids.html http://freshmeat.net/search/?q=squidion=projects http://www.poppb.rnp.br/proxy/pal0100.PPT Autor:EriRamosBastos VoltarapginaNETSERVER

You might also like