Boa tarde,
tenho a seguinte situação aqui e gostaria de ajuda de vocês, verifiquei no
historio da lista, que o assunto do squid dando falhas no download de
arquivos foi discutido por varias vezes, creio que todas as soluções
propostas que achei relevante eu cheguei a ativar. Porem ainda continua
dando erro quando o usuario vai fazer um download. Conversando com algumas
pessoas, me informaram que o proprio projeto squid não tem suporte para
processdores de nucleo duplo, gostaria se possivel confirmar essa informação
e pediria a ajuda de vocês para tentar visualizar uma solução para o
problema.
Gostaria desde já agradecer a atenção, e me desculpar pelo e-mail tão longo,
mas julgo que as informações abaixo se fazem necessárias.
Bom ai vai uma breve descrição da maquina que é meu proxy
Pentium D935 (intel box)
Placa mãe ASUS
Placa de rede 3Com
HD sata 160gb
2GB de memoria RAM
Freebsd versão 6.2 stable
está particionada da seguinte forma
Filesystem 1K-blocks Used Avail Capacity
Mounted on
/dev/ad6s1a 2026030 64086 1799862 3%
/
devfs 1 1 0
100% /dev
/dev/ad6s1d 2026030 12 1863936 0%
/tmp
/dev/ad6s1e 19834638 4286504 13961364 23% /usr
/dev/ad6s1f 29749036 203908 27165206 1%
/var
/dev/ad6s1g 180825888 1409616 164950202 1%
/var/cache
devfs 1 1 0
100% /var/named/dev
Nessa maquina tenho um DNS secundario rodando.
abaixo segue o arquivo ipfw.rules que estou usando para fazer o proxy
transparente
ipfw.rules
#
#!/bin/sh
#
fwcmd=/sbin/ipfw
ife=rl0
porta_squid=9090
${fwcmd} -f flush
${fwcmd} -f pipe flush
# nao passa pelo squid (Caixa Economica Federal e afins)
nosquid="{ 121.128.133.0/24 or 68.178.224.35/32 or 195.122.131.0/24 or
67.15.2.43/32 or 200.201.128.0/17 or 161.148.185.46/32 or 200.209.70.130/32
or 207.44.142.6/32 }"
# redes Liberadas (redes do provedor)
redes="{ xxx.xxx.xxx.xxx/xx }"
proxy() {
# Squid (proxy) Transparente
${fwcmd} add set 20 allow tcp from ${redes} to me dst-port
${porta_squid} in via ${ife}
${fwcmd} add set 20 allow tcp from me to any dst-port 80 out via
${ife} keep-state
${fwcmd} add set 20 allow tcp from ${redes} to ${nosquid} dst-port
80 in via ${ife}
${fwcmd} add set 20 forward 127.0.0.1,${porta_squid} tcp from
${redes} to any dst-port 80 in via ${ife}
${fwcmd} add set 20 deny log tcp from any to me ${porta_squid} not
layer2
}
# Start das regras do firewall
proxy
meu squid.conf estou usando a versão 2.6.13
cache_dir diskd /var/cache 140000 64 64 Q1=64 Q2=72
cache_swap_high 98
cache_swap_low 90
half_closed_clients on
cache_mem 250 MB
memory_pools off
quick_abort_pct 85
debug_options ALL,0
log_fqdn off
ftp_user anonymous@xxxxxxxxxxxxx
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
# The cache can be configured to continue downloading aborted requests.
# This may be undesirable on slow (e.g. SLIP) links and/or very busy caches.
# Impatient users may tie up file descriptors and bandwidth by repeatedly
# requesting and immediately aborting downloads.
# When the user aborts a request, Squid will check the quick_abort
# values to the amount of data transferred until then.
# If the transfer has less than 'quick_abort_min' KB remaining,
# it will finish the retrieval. Setting 'quick_abort_min' to .1
# will disable the quick_abort feature.
# If the transfer has more than 'quick_abort_max' KB remaining,
# it will abort the retrieval.
# If more than 'quick_abort_pct' of the transfer has completed,
# it will finish the retrieval.
quick_abort_min 16 KB
quick_abort_max 16 KB
quick_abort_pct 95
dead_peer_timeout 10 seconds
hierarchy_stoplist cgi-bin ?
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80
#acl Safe_ports port 20
#acl Safe_ports port 21
acl Safe_ports port 443 563
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
acl QUERY urlpath_regex cgi-bin \?
acl iplivres src xxx.xxx.xxx.xxx/xxx.xxx.xxx.xxx
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow iplivres
http_access allow localhost
http_access deny all
icp_access allow all
miss_access allow all
# Comentarios sobre o Delay pools do squid
# Cria 2 delay-pools
delay_pools 2
# Cria o pool 1 class 3 -> Agregate, Network e Individual
# A classe 3 indica que o pool vai controlar o total da banda (agregate),
por rede e por usuario
delay_class 1 3
# Cria o pool 2 class 2 -> Agregate, Network
# A classe 2 indica que o pool vai controlar o total da banda (agregate) e
por rede
delay_class 2 2
# A quem se aplica o delay-pools 1
# A todos os clientes que não seja Vespanet (iplivres)
delay_access 1 allow all !iplivres
delay_access 1 deny all
# A todos os clientes que são vespanet (iplivres)
delay_access 2 allow iplivres
delay_access 2 deny all
# Qual a velocidade será usada
# Para o pool 1 :
# Velocidade total que o squid poderá usar
# - 600000/600000 (bits) -> 600.000 * 8 => 4800Kbits/s ==> 4.6Mbits/s
#
# -1/-1 -> sem limites por redes
#
# 24000/32000 -> 24.000 * 8 => 192Kbits/s / 32.000 * 8 =>
256Kbits/s
delay_parameters 1 300000/300000 -1/-1 24000/32000
# A explicação do pool 1 se aplica ao pool 2
delay_parameters 2 -1/-1 56000/64000
http_port 9090 transparent
forwarded_for on
ie_refresh on
buffered_logs on
reload_into_ims on
hierarchy_stoplist cgi-bin ?
no_cache deny QUERY
fqdncache_size 2048 bytes
dns_nameservers xxx.xxx.xxx.xxx
cache_access_log /var/log/squid_access.log
cache_log /dev/null
cache_store_log none
hierarchy_stoplist hotmail.com
visible_hostname proxy.provedor.com
cache_replacement_policy heap LFUDA
memory_replacement_policy heap LFUDA
no meu kernel tenho as seguintes costumizações feitas sobre o kernel GENERIC
options SMP # Symmetric MultiProcessor Kernel
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=500
options IPFIREWALL_FORWARD
#options IPFIREWALL_FORWARD_EXTENDED
options IPDIVERT
options DUMMYNET
options HZ=1000
options IPFIREWALL_DEFAULT_TO_ACCEPT
#
# Cache
#
options SYSVMSG
options MSGMNB=16384
options MSGMNI=41
options MSGSEG=2049
options MSGSSZ=64
options MSGTQL=512
options SHMSEG=16
options SHMMNI=32
options SHMMAX=2097152
options SHMALL=3096
# Dados retirados da FUG.com.br
#
# O squid configurado com 70 GB de cache em disco e 64 MB em memória,
# com mais de 5 milhões de ítens no cache, estoura os 512 MB de memória.
# O Sintoma típico disto é o squid caindo muitas vezes seguidas, e os
# downloads sendo interrompidos.
# O limit da csh, e ulimit da sh, não excedem um limite "hard" setado
# pelo sistema no boot, que no meu caso eram estes 512 MB.
# Existem 2 meios de aumentar este limite. Um é compilando o kernel
# com a opção aumentando o tamanho máximo da área de dados e a
# outra é colocando uma opção para isto no /boot/loader.conf.
options MAXDSIZ=(1024UL*1024*1024)
options MAXSSIZ=(128UL*1024*1024)
options DFLDSIZ=(1024UL*1024*1024)
João Luiz P. Viana
|