Squid3 transparente rodando lento apenas alguns sites (google, uol.com.br, yahoo.com.br etc. [RESOLV

1. Squid3 transparente rodando lento apenas alguns sites (google, uol.com.br, yahoo.com.br etc. [RESOLV

André Romero Alves de Souza
arasouza

(usa Debian)

Enviado em 14/06/2012 - 17:17h

Olá Galera, há muito tempo q quero fazer a migração do proxy MS da minha empresa para alguma distro linux, por ser mais estavel e ter uma melhor escalabilidade pro futuro. então é o seguinte eu tenho o SQUID3 EM TESTE rodando beleza com o proxy transparente, já pesquisei muito mesmo sobre isso e sei q ele costuma dar alguma problema com sites HTTPS, e isto está acontecendo aqui comigo, estou com APENAS uma maquina acessando, e a lentidão para abrir os sites citados e enorme, porém outros sites como globo.com, sbt, hp.com, etc. abre rapidinho. segue abaixo os arquivos squid.conf e o IPTABLES/firewall, para analise (OBs uso o DEBIAN 6) Obs, já fiz todos os teste como colocar o nome : porta, o ip e : porta, transparente ou não, alterar opçõies como o cache_mem, maximum_object, excluir o cache e refazer, inserir o dns_nameservers e outras coisas mais, mas não muda, agora quando paro o squid e mascaro no firewall direto a conexão fica perfeita porém preciso que seja feito alguns bloqueios pelo squid. agradeco toda e qualquer ajuda...

------SQUID.CONF------------------
http_port 10.10.20.250:3128 transparent
visible_hostname servidor
cache_mgr webmaster@localhost
error_directory /usr/share/squid3/errors/Portuguese

hierarchy_stoplist cgi-bin ?
cache_mem 224 MB
maximum_object_size_in_memory 16 MB
maximum_object_size 4 MB
cache_dir ufs /var/spool/squid3 2048 16 256

refresh_pattern ^ftp: 360 20% 10080
refresh_pattern -i (/cgi/bin/|\?) 0 0% 0
refresh_pattern . 0 0% 4320
access_log /var/log/squid3/access.log

#dns_nameservers 200.255.255.73 200.255.255.66

acl localhost src 127.0.0.1/32
acl localnet src 10.0.0.0/8

acl manager proto cache object
http_access allow manager localhost
http_access deny manager

acl purge method PURGE
http_access allow purge localhost
http_access deny purge

acl SSL_ports port 443 563
acl Safe_ports port 21 # ftp
acl Safe_ports port 70 # gopher
acl Safe_ports port 80 # http
acl Safe_ports port 210 # wais
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 443 # https
acl Safe_ports port 488 # gss-http
acl Safe_ports port 563 # nntps
acl Safe_ports port 591 # filemaker
acl Safe_ports port 631 # cups
acl Safe_ports port 777 # multiling http
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # swat
acl Safe_ports port 1025-65535 # unregistered ports
http_access deny !Safe_ports

acl connect method CONNECT
acl SSL_ports port 443 # https
acl SSL_ports port 563 # nntps
acl SSL_ports port 873 # rsync
http_access deny connect !SSL_ports

http_access allow localnet
http_access allow localhost
http_access deny all
----------FIM----


-----------IPTABLES/FIREWALL--------
#!/bin/sh

# Vari�veis
# -------------------------------------------------------
iptables=/sbin/iptables
IF_EXTERNA=eth1
IF_INTERNA=eth0


# Ativa m�dulos
# -------------------------------------------------------
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_REJECT
/sbin/modprobe ipt_MASQUERADE


# Ativa roteamento no kernel
# -------------------------------------------------------
echo "1" > /proc/sys/net/ipv4/ip_forward


# Prote��o contra IP spoofing
# -------------------------------------------------------
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter


# Zera regras
# -------------------------------------------------------
iptables -F
iptables -X
iptables -F -t nat
iptables -X -t nat
iptables -F -t mangle
iptables -X -t mangle


# Determina a pol�tica padr�o
# -------------------------------------------------------
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP


#################################################
# Tabela FILTER
#################################################


# Dropa pacotes TCP indesej�veis
# -------------------------------------------------------
iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j LOG --log-level 6 --log-prefix "FIREWALL: NEW sem syn: "
iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP


# Dropa pacotes mal formados
# -------------------------------------------------------
iptables -A INPUT -i $IF_EXTERNA -m unclean -j LOG --log-level 6 --log-prefix "FIREWALL: pacote mal formado: "
iptables -A INPUT -i $IF_EXTERNA -m unclean -j DROP


# Aceita os pacotes que realmente devem entrar
# -------------------------------------------------------
iptables -A INPUT -i ! $IF_EXTERNA -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT


# Prote��o contra trinoo
# -------------------------------------------------------
iptables -N TRINOO
iptables -A TRINOO -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FIREWALL: trinoo: "
iptables -A TRINOO -j DROP
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 27444 -j TRINOO
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 27665 -j TRINOO
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 31335 -j TRINOO
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 34555 -j TRINOO
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 35555 -j TRINOO

# Prote��o contra tronjans
# -------------------------------------------------------
iptables -N TROJAN
iptables -A TROJAN -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FIREWALL: trojan: "
iptables -A TROJAN -j DROP
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 666 -j TROJAN
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 666 -j TROJAN
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 4000 -j TROJAN
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 6000 -j TROJAN
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 6006 -j TROJAN
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 16660 -j TROJAN


# Prote��o contra worms
# -------------------------------------------------------
iptables -A FORWARD -p tcp --dport 135 -i $IF_INTERNA -j REJECT


# Prote��o contra syn-flood
# -------------------------------------------------------
iptables -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT


# Prote��o contra ping da morte
# -------------------------------------------------------
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
# Prote��o contra port scanners
# -------------------------------------------------------
iptables -N SCANNER
iptables -A SCANNER -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FIREWALL: port scanner: "
iptables -A SCANNER -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -i $IF_EXTERNA -j SCANNER
iptables -A INPUT -p tcp --tcp-flags ALL NONE -i $IF_EXTERNA -j SCANNER
iptables -A INPUT -p tcp --tcp-flags ALL ALL -i $IF_EXTERNA -j SCANNER
iptables -A INPUT -p tcp --tcp-flags ALL FIN,SYN -i $IF_EXTERNA -j SCANNER
iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -i $IF_EXTERNA -j SCANNER
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -i $IF_EXTERNA -j SCANNER
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -i $IF_EXTERNA -j SCANNER


# Loga tentativa de acesso a determinadas portas
# -------------------------------------------------------
iptables -A INPUT -p tcp --dport 21 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: ftp: "
iptables -A INPUT -p tcp --dport 23 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: telnet: "
iptables -A INPUT -p tcp --dport 25 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: smtp: "
iptables -A INPUT -p tcp --dport 80 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: http: "
iptables -A INPUT -p tcp --dport 110 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: pop3: "
iptables -A INPUT -p udp --dport 111 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: rpc: "
iptables -A INPUT -p tcp --dport 113 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: identd: "
iptables -A INPUT -p tcp --dport 137:139 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: samba: "
iptables -A INPUT -p udp --dport 137:139 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: samba: "
iptables -A INPUT -p tcp --dport 161:162 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: snmp: "
iptables -A INPUT -p tcp --dport 6667:6668 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: irc: "
iptables -A INPUT -p tcp --dport 3128 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: squid: "


# Libera acesso externo a determinadas portas
# -------------------------------------------------------
#iptables -A INPUT -p tcp --dport 55 -i $IF_EXTERNA -j ACCEPT


# Libera acesso de smtp para fora apenas para o IP XXX.XXX.XXX.XXX
# -------------------------------------------------------
#$iptables -A FORWARD -p tcp -d ! XXX.XXX.XXX.XXX --dport 25 -j LOG --log-level 6 --log-prefix "FIREWALL: SMTP proibido: "
#$iptables -A FORWARD -p tcp -d ! XXX.XXX.XXX.XXX --dport 25 -j REJECT


#################################################
# Tabela NAT
#################################################


# Ativa mascaramento de sa�da
# -------------------------------------------------------
iptables -A POSTROUTING -t nat -o $IF_EXTERNA -j MASQUERADE


# Proxy transparente
# -------------------------------------------------------



# OS COMANDOS ABAIXO FORAM RETIRADOS DAS 2 PRIMEIRAS LINHAS, ONDE FOI SUBSITITUIDO O EXTERNA PELO INTERNA PARA TESTAR O PROXY TRANSPARTENTE
#iptables -t nat -A PREROUTING -i $IF_EXTERNA -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -i $IF_EXTERNA -p tcp --dport 8080 -j REDIRECT --to-port 3128

#iptables -t nat -A PREROUTING -s 10.0.0.0/8 -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -s 10.0.0.0/8 -p tcp --dport 8080 -j REDIRECT --to-port 3128

# Foram feitos testes com os comandos abaixo, substituindo a interna pela externa.
iptables -t nat -A PREROUTING -i $IF_INTERNA -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i $IF_INTERNA -p tcp --dport 8080 -j REDIRECT --to-port 3128

# Linha acrescentada para testar proxy transparente data: 28-05-12
#iptables -t nat -A PREROUTING -i $IF_EXTERNA -p tcp --dport 80 -j REDIRECT --to-port 3128

# Redireciona portas para outros servidores
# -------------------------------------------------------
#iptables -t nat -A PREROUTING -d 192.168.200.2 -p tcp --dport 22 -j DNAT --to-destination 10.10.20.250


# Redireciona portas na pr�pria m�quina
# -------------------------------------------------------
#$iptables -A PREROUTING -t nat -d 192.168.200.1 -p tcp --dport 5922 -j REDIRECT --to-ports 22




  


2. MELHOR RESPOSTA

Cristiano Gomes
cristianovicosa

(usa Debian)

Enviado em 16/06/2012 - 19:54h

Amigo teste com este conf ai. Mude as informações de sua rede.


http_port 3128 transparent
hierarchy_stoplist cgi-bin ?
visible_hostname OFINIA_DO_COMPUTADOR_31_3891_2871

cache_mem 128 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size_in_memory 256 KB
maximum_object_size 900 MB
minimum_object_size 10 KB
cache_dir ufs /var/cache/squid 10000 16 256
cache_replacement_policy lru
memory_replacement_policy lru
acl rede src 192.168.0.0/24
http_access allow rede
acl lib src 127.0.0.1
http_access allow lib
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
icp_access deny all
htcp_access deny all

access_log /var/log/squid3/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern . 0 20% 4320
icp_port 3130
coredump_dir /var/cache/squid


3. Nada

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 14/06/2012 - 17:48h

Não vi nada que pudesse estar causando lentidão tente usar o dns publico do google no seu squid.conf:


dns_nameservers 8.8.8.8
dns_nameservers 8.8.4.4

Obs rode squid3 -k reconfigure após a mudança


4. resposta

André Romero Alves de Souza
arasouza

(usa Debian)

Enviado em 14/06/2012 - 19:58h

Adicionei os DNS do google, porém não mudou nãda, acredito não ser problema dos DNS atuais, pois quando não passo pelo squid, a navegação é perfeita para todos os sites..
o erro persiste e bastante estranho....


5. Re: Squid3 transparente rodando lento apenas alguns sites (google, uol.com.br, yahoo.com.br etc. [RESOLV

Cristiano Gomes
cristianovicosa

(usa Debian)

Enviado em 14/06/2012 - 20:17h

Boa noite amigos!

Sites https://, são sites seguros, como os da maioria dos bancos e outras empresas. Estes sites não passam no seu proxy, o squid3 nem ve estes pacotes, eles usam a porta 443 e não a 80.

Para testar

Faça o feijão com arros, coloque o mínimo de linhas no seu firewall.

Poste os resutados aqui.



6. Firewall MInino

André Romero Alves de Souza
arasouza

(usa Debian)

Enviado em 15/06/2012 - 10:45h

Ok, Cristiano, rodei o minimo no firewall, mas não mudou nada, olha só.: onde eth1 é a inferface de saida, e eth0 é a rede local.



# Ativa mascaramento de sa�da
# -------------------------------------------------------
iptables -A POSTROUTING -t nat -o eth1 -j MASQUERADE


# Proxy transparente
# -------------------------------------------------------


# OS COMANDOS ABAIXO FORAM RETIRADOS DAS 2 PRIMEIRAS LINHAS, ONDE FOI SUBSITITUIDO O EXTERNA PELO INTERNA PARA TESTAR O PROXY TRANSPARTENTE
#iptables -t nat -A PREROUTING -i $IF_EXTERNA -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -i $IF_EXTERNA -p tcp --dport 8080 -j REDIRECT --to-port 3128

#iptables -t nat -A PREROUTING -s 10.0.0.0/8 -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -s 10.0.0.0/8 -p tcp --dport 8080 -j REDIRECT --to-port 3128

# Foram feitos testes com os comandos abaixo, substituindo a interna pela externa.
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j REDIRECT --to-port 3128

cara se vc tiver um firewal/iptables rodando e juntamente com o squid. me manda ai... até o google.com tá lento.... Agradeco a atenção de vcs..


7. Re: Squid3 transparente rodando lento apenas alguns sites (google, uol.com.br, yahoo.com.br etc. [RESOLV

Cristiano Gomes
cristianovicosa

(usa Debian)

Enviado em 15/06/2012 - 22:05h

Isto não faz nenhum sentido.
Você tem algum outro problema, pode ser hardware como placas de rede do seu server, cabos, switchs ou sua máquina cliente.

Ou ainda sua internet. Se você tiver adsl, faça a conexão direto do linux.


8. Sem sentindo mesmo

André Romero Alves de Souza
arasouza

(usa Debian)

Enviado em 16/06/2012 - 06:56h

Cara (cristiano) não faz mesmo, agora em relação a ser problema de hardware talvez não, por que eu fiz o seguinte testes com os comandos abaixo no iptables/firewall:

Quanto eu descomento este o que seria a conexão direta, ele navega normamente ficar uma bala. porém não passa pelo squid - ai não bloqueia nada fica liberado.
#iptables -t nat -A PREROUTING -i $IF_EXTERNA -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -i $IF_EXTERNA -p tcp --dport 8080 -j REDIRECT --to-port 3128

quando eu ativo este aqui, ele passa pelo squid faz os bloqueios porém os sites q mencionei e alguns mais ficam lentos demorando quase 50 seg. para carregar, é como se ele demorasse a ouvir as solicitações...
#iptables -t nat -A PREROUTING -s 10.0.0.0/8 -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -s 10.0.0.0/8 -p tcp --dport 8080 -j REDIRECT --to-port 3128

Cara loucura isso aqui....... locura mesmo


9. testa squid

André Romero Alves de Souza
arasouza

(usa Debian)

Enviado em 18/06/2012 - 06:07h

Valeu cristiano, vou testar e posto a resposta do resultado... obrigado.


10. Re: Squid3 transparente rodando lento apenas alguns sites (google, uol.com.br, yahoo.com.br etc. [RESOLV

Marcelo Almeida
mciacco

(usa Debian)

Enviado em 14/11/2012 - 10:28h

O tópico está marcado como resolv, qual foi a solução que encontrou? estou com o mesmo problema.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts