[FUG-BR] Squid 2.6
Flavio Alexsandro Silva
falexsandro em gmx.net
Sexta Agosto 25 17:58:10 BRT 2006
Buenas Pessoal!!!
Bom, depois de muito tempo longe da lista e de inatividade, volto as
origens...
Ehh, sou da epoca do FreeBSD 3.3.2 pra 4.0... Agora tentando me
atualizar com as novas mudancas e maravilhas inseridas nas novas releases...
Pessoal pra quem tava tentando ou tentou instalar o squid 2.6 com
FreeBSD 6.0 ou 6.1 e teve problemas, reporto que tenho um servidor
rodando FreeBSD 6.1 com Squid 2.6.2 e estou utilizando proxy
transparente!!!!
Vamos aos passos que realizei para que isto acontecesse:
- Baixei do Freshports (www.freshports.org), o pacote do ports da
ultima versao do squid 2.6.x (no caso 2.6.2 do dia 06 de agosto de 2006
[ esta eh atualmente a ultima atualizacao])
- Fui lah no diretorio /usr/ports/www/ e descompactei o pacotinho
- Antes de dar Build no Squid, tunei o servidor, segue mudancas na
configuracao do kernel deste (apenas adicao de opcoes no Generic):
# Yes, i choosed the new scheduler, to use with SMP [HyperThread]
options SCHED_ULE # ULE scheduler
#options SCHED_4BSD # 4BSD scheduler
############################################
# Custom Settings
############################################
##
# Firewall Tunneup
##
#device carp # Just if i would do a HA (High Availability)
options IPFIREWALL
options IPFIREWALL_FORWARD #enable transparent proxy support
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=5
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERT
options DUMMYNET
options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_CDNR
options ALTQ_PRIQ
options ALTQ_NOPCC # just for SMP builds
##
# Squid Tunneup
# pagesize of FreeBSD 6.1 --> 4096
##
options VFS_AIO
##
# System V Resources
##
options SYSVSHM #SYSV-style shared memory
options SYSVMSG #SYSV-style message queues
options SYSVSEM #SYSV-style semaphores
options NMBCLUSTERS=131072 # 128 *1024
options MAXDSIZ=(512UL*1024*1024) # Quando houver 1 Gb de mem aqui vai
pra 1024
options MAXSSIZ=(64UL*1024*1024) # E aqui vai pra 128
options DFLDSIZ=(512UL*1024*1024) # 1024 tb!
##
# Message Queues [Based on Squid FAQ]
##
option MSGMNB=131072 # Number of bytes in a queue
option MSGMNI=64 # Need to be at least 2 times the number of cache_dir
entries in the squid
option MSGSSZ=128 # Size of the message segment in a queue
option MSGTQL=8192 # Number of max queue identifiers versus 128 messages
per queue (is the high mark of performance of messages per queue)
option MSGSEG=1024 # Number of messages segments
#
##
##
# Shared Memory [Based on Squid FAQ]
##
options SHMMNI=64 # The half of the message queues at least [1 for each
cache_dir]
options SHMALL=16384 #
options SHMMAX=(2UL*1024*1024) # 16 Mb de shared memory
options SHMSEG=32
##
# Performance Tunneup
# Is Hyper Threading enabled at the BIOS? yes
##
maxusers 512 # Just some users... not so much
options SMP # Symmetric MultiProcessor Kernel
options MPTABLE_FORCE_HTT # Enable HTT CPUs with the MP Table
options HZ=2000
options DEVICE_POLLING
- Uma vez recompilado o kernel sem problemas e instalado o novo (boot)
vamos ao squid
- Dentro do diretorio do ports do squid novo (/usr/ports/www/squid26)
[Squid 2.6], vamos configurar as opcoes:
#make config
+ Marcando: SQUID_DELAY_LOOPS, SQUID_SNMP, SQUID_CARP,
SQUID_DNS_HELPER, SQUID_HTCP, SQUID_CACHE_DIGESTS, SQUID_WCCP,
SQUID_WCCPV2, SQUID_IDENT, SQUID_REFERER_LOG, SQUID_USERAGENT_LOG,
SQUID_ARP_ACL, SQUID_AUFS, SQUID_COSS, SQUID_KQUEUE, SQUID_LARGEFILE,
SQUID_STACKTRACES
- Agora antes de fazer a chamada para compilacao vamos dar mais algumas
opcoes pro processo de build do squid:
--enable-storeio="diskd,ufs,coss,aufs,null" # Habilitando todos os
schemas de storage
--enable-removal-policies="lru,heap" # Habilitando politicas de
renovacao de cache avancadas
--with-pthreads # Nao custa informar que quero posix threads
--with-aio # Asynchronous IO
--enable-coss-aio-ops # COSS + Async IO
+ Na chamada para a compilacao fica entaum:
# make SQUID_CONFIGURE_ARGS="--enable-dlmalloc
--enable-storeio=diskd,ufs,coss,aufs,null
--enable-removal-policies=lru,heap --enable-coss-aio-ops --with-pthreads
--with-aio"
- Como o pacote ficou show de bola (pelo menos tah funfando Proxy
Transparente com DiskD [Ainda naum fiz metricas, alguem se habilita a me
ajudar nisso???])
# make package
- Agora o que muda no arquivo de configuracao do squid para ele
entender entaum a regra de firewall para proxy transparente?
http_port 3128 transparent # Isso faz o squid esperar por pacotes
desvidados
+ Claro que aqui tem as outras configuracoes do squid, mas vow
omitila-las por que naum eh o meu objetivo aqui
- Falta o firewall
ipfw add 400 forward 127.0.0.1,3128 tcp from any to any dst-port 80
via xl1 setup keep-state
Bom, acho que isso esclarece algumas dificuldades que o pessoal teve jah
na lista.
Queria transformar este pequeno "recipe" em um howto, mas preciso de uma
ajudinha tambem [eh, tah feio a coisa, toh meio sem tempo], se alguem puder.
Ahh, para informaçoes sobre a maquina que tah rodando isso:
IBM x206M
Pentium4 HT 3.2GHz
512Mb de Ram [hum... isso vai aumentar, mas ainda naum eh o caso]
80 Gb de HD (Sata)
Pessoal, desculpem o texto meio baguncado, mas toh meio na correria,
queria escrever isso jah alguns dias, espero que ajude a todos...
Abraços,
--
Flávio Alexsandro Silva
"Unix is user friendly. It's just selective about who its friends are."
"Linux is for people who hate Windows.
BSD is for people who love UNIX."
Mais detalhes sobre a lista de discussão freebsd