squid + iptables + dhcp (problemas) [RESOLVIDO]

1. squid + iptables + dhcp (problemas) [RESOLVIDO]

Gabriel
gramosiri

(usa Outra)

Enviado em 06/06/2013 - 09:05h

Olá, acho que esse é meu primeiro post aqui, então se houver algum erro, relevem.

Estou com um problema, instalei um servidor dhcp (isc-dhcp-server) e o proxy (squid3)

Está rodando nos terminais beleza, fiz os bloqueios dos sites que queria e esta funcionando. Porém, quando eu tento entrar em alguns sites, por exemplo: Yahoo (yahoo.com.br) o navegador fica carregando e não entra no site, o da Caixa também.

Vou postar o arquivo de configuração do dhcp e do squid e também os comandos do iptables.

### dhcpd.conf ###

authoritative;
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.50;
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
option domain-name-servers 192.168.1.1,8.8.8.8,201.10.128.2;
}


(No começo eu estava pensando que não conectava por causa de algum DNS faltando, só que acho que não é, por que já tentei vários e mesmo assim ele não carrega algumas páginas)

### squid.conf ###

#Parametros de autencicação
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/passwd
auth_param basic children 5
auth_param basic credentialsttl 1 hour
auth_param basic realm SERVIDOR SQUID
auth_param basic casesensitive off

#REGRAS PADRAO
http_port 3128
visible_hostname SERVIDORDEBIAN
cache_dir ufs /var/cache/squid3 3000 16 256
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl SSL_ports port 443 563
acl Safe_ports port 80 21 81 70 210 888
acl CONNECT method CONNECT

acl autenticados proxy_auth REQUIRED

acl permitidos src 192.168.1.0/24
acl all src 192.168.1.0/24

#BLOQUEAR PAGINAS
acl sites url_regex -i "/etc/squid3/sites.txt"
http_access deny sites

#PALAVRAS
acl words url_regex -i "/etc/squid3/words.txt"
http_access deny words

#EXTENSÃO
acl extensions urlpath_regex -i "/etc/squid3/extensions.txt"
http_access deny extensions

http_access allow localhost
http_access allow autenticados permitidos
http_access deny all


Está criado um arquivo pra bloquear extensão de arquivos, nomes e sites, em nenhum deles está citando o Yahoo (por exemplo) que está sendo bloqueado.

Outra hipótese era que poderia está faltando alguma porta na "acl Safe_ports port"

acl Safe_ports port 80 21 81 70 210 888

### Comandos do iptables ###

modprobe ip_tables
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -p tcp -s 192.168.1.1/255.255.255.0 -j ACCEPT


Espero a ajuda de vocês. Obrigado.


  


2. Re: squid + iptables + dhcp (problemas) [RESOLVIDO]

Fernando Anuatti
fernandoanuatti

(usa Debian)

Enviado em 06/06/2013 - 12:22h

Na primeira linha, voce setou o squid como proxy transparente?


http_port 3128 transparent




3. Re: squid + iptables + dhcp (problemas) [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 06/06/2013 - 12:53h

Esta linha:
option domain-name-servers 192.168.1.1,8.8.8.8,201.10.128.2;

deixe assim:

option domain-name-servers 8.8.8.8,201.10.128.2,192.168.1.1;


No Iptables faltou o redirecionamento para o Squid:

modprobe ip_tables
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward << coloque aqui esta linha
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 << aqui você coloca a placa que responde pela tua rede interna, acredito que seja a eth1.
iptables -A INPUT -p tcp -s 192.168.1.1/255.255.255.0 -j ACCEPT

Faça as alterações, reinicie o Squid e o Iptables e teste.


4. Re: squid + iptables + dhcp (problemas) [RESOLVIDO]

Gabriel
gramosiri

(usa Outra)

Enviado em 06/06/2013 - 13:30h

fernandoanuatti escreveu:

Na primeira linha, voce setou o squid como proxy transparente?


http_port 3128 transparent



No meu caso coloquei:

http_port 3128 intercept

Eu li que do squid 3.1 pra cima usa-se essa expressão.

Quando usei squid3 -v

ele apareceu 3.1

Valeu.


5. Re: squid + iptables + dhcp (problemas) [RESOLVIDO]

Gabriel
gramosiri

(usa Outra)

Enviado em 06/06/2013 - 13:35h

Buckminster escreveu:

Esta linha:
option domain-name-servers 192.168.1.1,8.8.8.8,201.10.128.2;

deixe assim:

option domain-name-servers 8.8.8.8,201.10.128.2,192.168.1.1;


No Iptables faltou o redirecionamento para o Squid:

modprobe ip_tables
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward << coloque aqui esta linha
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 << aqui você coloca a placa que responde pela tua rede interna, acredito que seja a eth1.
iptables -A INPUT -p tcp -s 192.168.1.1/255.255.255.0 -j ACCEPT

Faça as alterações, reinicie o Squid e o Iptables e teste.


Bom @Buckminster aqui agora entrou no site! Acho que era a ordem do DNS. Pois já tinha usado esses funções no iptables e não tinha funcionado... :S

Porém, o squid3 eu acho que ainda não está muito bom, por que quando entro em algumas páginas com imagens, exemplo: Facebook, ele demora a carregar as imagens... ou nem carregam. O que poderia ser?

Aqui mesmo no vivalinux quando entro nos tópicos ele aparece no navegador:

Aguardando googleads.g.doubleclick.net...

Parece que ele não carrega as páginas totalmente.


6. Re: squid + iptables + dhcp (problemas) [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 06/06/2013 - 14:42h

Teu Squid é autenticado:
#Parametros de autencicação
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/passwd
auth_param basic children 5
auth_param basic credentialsttl 1 hour
auth_param basic realm SERVIDOR SQUID
auth_param basic casesensitive off

Não pode usar intercept com Squid autenticado.

Esta linha:
http_access allow autenticados permitidos

Divida ela:
http_access allow permitidos
http_access allow autenticados


Faça as alterações e reinicie o Squid.
Se o problema persistir, verifique os DNSs.


7. Re: squid + iptables + dhcp (problemas) [RESOLVIDO]

Gabriel
gramosiri

(usa Outra)

Enviado em 11/06/2013 - 13:19h

Olá, venho pedir desculpas pela demora. Estou atolado de serviço aqui no trabalho. Venho informar que até amanha no máximo estarei fazendo os testes. Obrigado pela compreensão e desculpa pela demora :)


8. Re: squid + iptables + dhcp (problemas) [RESOLVIDO]

Gabriel
gramosiri

(usa Outra)

Enviado em 05/11/2013 - 18:13h

Buckminster escreveu:

Teu Squid é autenticado:
#Parametros de autencicação
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/passwd
auth_param basic children 5
auth_param basic credentialsttl 1 hour
auth_param basic realm SERVIDOR SQUID
auth_param basic casesensitive off

Não pode usar intercept com Squid autenticado.

Esta linha:
http_access allow autenticados permitidos

Divida ela:
http_access allow permitidos
http_access allow autenticados


Faça as alterações e reinicie o Squid.
Se o problema persistir, verifique os DNss.


Olá, estou aqui novamente pois ainda não consegui fazer o squid funcionar beleza... estou com problemas ainda em alguns sites, eles não carregam completo, ou demoram pra carregar, as imagens não aparecem, aparece só o html sem css. Modifiquei meu arquivo squid.conf. Está igual a de um membro que postou aqui no site.

http://www.vivaolinux.com.br/etc/squid.conf-29

#Porta default do proxy
http_port 3128

#O nome do servidor
visible_hostname servidor.home.com

#Cache
cache_mem 64 mb
maximum_object_size_in_memory 64 kb
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

#Regras de acesso para rede local
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 #http
acl Safe_ports port 21 #ftp
acl Safe_ports port 70 #gopher
acl Safe_ports port 210 #wais
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 Safe_ports port 901 #swat
acl Safe_ports port 443 563 #https e snews
acl Safe_ports port 1025-65535 #portas altas
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

#Bloqueando por dominios e palavras
acl bloqueados url_regex "/etc/squid/bloqueados"
http_access deny bloqueados
acl palavras url_regex "/etc/squid/palavras"
http_access deny palavras
error_directory /usr/share/squid/errors/Portuguese

acl redelocal src 192.168.1.0/24
http_access allow redelocal
http_access allow localhost
http_access deny all

#PRONTO!!!

#Seu squid esta configurado. Lembrando , não se esqueça de mudar #os endereços de IP caso necessite.

#PS: Adicione a seguinte regra no iptables

#iptables -A INPUT -p tcp --dport 3128 -j ACCEPT


Fiz as alterações e ainda está apresentando erros. :(
Estava pensando, será que não seria algo como tamanho da memória do configurada no squid por isso ele não consegue carregar tudo?

Fiz uns testes... No win7 (qualquer navegador não carrega alguns sites, como Yahoo, Facebook...) já no WinXP com o IE que já vem instalado nele entrou no Facebook mas no Yahoo não entrou, muito estranho.


9. Re: squid + iptables + dhcp (problemas) [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 05/11/2013 - 19:11h

Mude esses dois parâmetros

cache_mem 64 mb
maximum_object_size_in_memory 64 kb

para

cache_mem 512 MB << aqui eu coloquei 512 MB, veja quanto tem de memória RAM total na máquina e coloque metade, ou seja, tendo 2 GB coloque 1024 MB no cache_mem.
maximum_object_size_in_memory 512 kb << aqui coloque 512 kb.

Faça as alterações, reinicie o Squid e teste.


10. Re: squid + iptables + dhcp (problemas) [RESOLVIDO]

Gabriel
gramosiri

(usa Outra)

Enviado em 05/11/2013 - 23:53h

Buckminster escreveu:

Mude esses dois parâmetros

cache_mem 64 mb
maximum_object_size_in_memory 64 kb

para

cache_mem 512 MB << aqui eu coloquei 512 MB, veja quanto tem de memória RAM total na máquina e coloque metade, ou seja, tendo 2 GB coloque 1024 MB no cache_mem.
maximum_object_size_in_memory 512 kb << aqui coloque 512 kb.

Faça as alterações, reinicie o Squid e teste.


@Buckminster, estava dando uma olhada aqui no fórum e achei algo parecido com o meu problema, parece que tem que liberar outros domínios para o Yahoo, pois estes sites carregam o .CSS em outro domínio. Por isso ele carregava só o HTML "cru". No caso do Yahoo é o domínio de email:
mail.yahoo.com

Encontrei neste link: http://www.vivaolinux.com.br/topico/Squid-Iptables/nao-anexa-yahoo-mail

Irei testar amanha, e postarei aqui!!!


11. squid + iptables + dhcp (problemas)

Gabriel
gramosiri

(usa Outra)

Enviado em 06/11/2013 - 14:15h

Fiz os testes e mesmo assim ainda não está funcionando... Segui os passos do amigo do link ai embaixo:

http://www.vivaolinux.com.br/topico/Squid-Iptables/Squid-e-Yahoo?pagina=2&num_por_pagina=12

[14] Enviado em 19/06/2013 - 15:21h Re: Squid e Yahoo
Linux user: Juarez Silva
jslimma
(usa Debian)

Pessoal,

Consegui solucionar o erro liberando o seguinte domínio no proxy -> http://mail.yimg.com

O squid ficou assim:

acl rede src 192.168.1.0/255.255.255.0
acl bloqueados url_regex -i "/etc/squid/bloqueados.txt"
acl yahoo_domain dstdomain mail.yimg.com


http_access allow yahoo_domain
http_access deny bloqueados
http_access allow rede


Liberei esse dominio porque como citado nesse tópico o yahoo busca imagens em servers externos e através do pacote tcpdump pude encontrar o dominio liberado acima.

O comando digitado

tcpdump -i ethX -n |grep 192.168.1.101

Segue a linha encontrada:

1201730202.935 15 192.168.1.101 TCP_DENIED/403 1534 GET http://mail.yimg.com/zz/combo? - NONE/- text/html


Também testei esses:

http://www.vivaolinux.com.br/topico/Squid-Iptables/nao-anexa-yahoo-mail

[3] Enviado em 29/07/2011 - 00:57h Re: nao anexa yahoo mail [RESOLVIDO]
Linux user: uilian da silva de oliveira
bonder.stgo
(usa Ubuntu)

eu tinha colocado br.mg4.mail.yahoo.com e nao tava dando certo

coloquei mail.yahoo.com e funcionou.

Obrigado!


No meu navegador quando entro no site do yahoo e usando o tail no access.log ele retornou um domínio l.yimg.com liberei o acesso deste domínio e mesmo assim nao carrega a pagina completa.


12. Re: squid + iptables + dhcp (problemas) [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 06/11/2013 - 14:25h

Você fez as alterações que eu sugeri?



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts