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."
-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd