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

Responder a