Ajuda com meu squid.conf

1. Ajuda com meu squid.conf

Rafael Ferroni Mendes
rafaelferroni

(usa Ubuntu)

Enviado em 02/11/2010 - 18:55h

Bom pessoal meu problema é simples de explicar, eu configurei meu squid que teoricamente já deveria estar funcionando coretamente, mas assim que adiciono no firewall a regra para direcionar os pacotes tcp da porta 80 para a 3128 o squid bloqueia todos os sites inclusive os que estão na acl que mandei liberar.Abaixo estão meu squid.conf e meu arquivo de firewall. Se alguém puder analisar e me dizer qual o problema eu agradeço.

obs: -estou usando ubuntu 8.10 server
-com esta configuração o squid não acusa nenhum erro e inicia normalmente

Script de firewall:

#!/bin/bash
ifconfig eth1 192.168.0.1 up
ifconfig eth0 up
ifconfig lo up
iptables -F
iptables -t nat -F
echo /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j
REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MAQUERADE

Squid.conf

http_port 3128 transparent
#hierarchy_stoplist cgi-bin ? #quando coloco essa linha da erro.
#acl QUERY urlpath_regex cgi-bin ? #quando coloco essa linha da erro.
no_cache deny QUERY
cache_mem 64 MB
access _log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
cache_dir ufs /var/spool/squid 500 64 64
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher:1440 0% 1440
refresh_pattern . 0 20% 4320
cache_swap_low 80
cache_swap_high 90

acl Safe_ports port 80
http_access allow Safe_ports
acl ips_liberados src "/etc/squid/ips_liberados.txt"
http_access allow ips_liberados
acl sites_liberados url_regex -i "/etc/squid/sites_liberados.txt"
http_access allow sites_liberados
acl ips_bloqueados src "/etc/squid/ips_bloqueados.txt"
http_access deny ips_bloqueados
acl sites_bloqueados url_regex -i "/etc/squid/sites_bloqueados.txt
http_access deny sites_bloqueados
acl rede src 192.168.0.0/24
http_access allow rede
acl all src 0.0.0.0/24
http_access deny all

cache_mgr rafaelferroni@gmail.com
error_directory /usr/share/squid/errors/Portuguese
#httpd_accel_host virtual #sempre que coloco estas ultimas 4 linhas
#httpd_accel_port 80 #da erro no arquivo
#httpd_accel_with_proxy on
#httpd_accel_uses_host_header on


  


2. Re: Ajuda com meu squid.conf

Guilherme Domingues de Oliveira
korvoman

(usa Debian)

Enviado em 03/11/2010 - 09:31h

Estas ultimas linhas são referentes a versões anteriores do squid no modo transparente. Mantenha comentadas.

O seu squid.conf falta algumas linhas importantes:

acl SSL_ports port 443 563
http_access deny !Safe_ports

O servidor tem rota de saída ? (route -n).
As estações e o servidor possue dns configurados e funcionando corretamente ?

É apresentado erro do squid ou do browser ?





3. Re: Ajuda com meu squid.conf

Guilherme Domingues de Oliveira
korvoman

(usa Debian)

Enviado em 03/11/2010 - 09:43h

Tem uma regra estranha no seu firewall

iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT

Você está liberando conexões de entrada na porta 80. Mas não seria o caso. Deve estar confundindo com o redirecionamento. A correta poderia ser esta por exemplo:

iptables -A INPUT -i eth1 -j ACCEPT

Isto liberaria as conexões de entrada do servidor para a rede interna. Ou esta regra também para conexão para apenas o proxy:

iptables -A INPUT -p tcp --dport 3128 -s 192.168.0.0/24 -j ACCEPT

Toda requisição www seria redirecionada pela regra PREROUTING, independente se houvesse serviço na porta 80.

Fonte didática a respeito:
http://webcache.googleusercontent.com/search?q=cache:SCE_a44D0OwJ:cristoressuscitadorn.org.br/mediaw...



4. Re: Ajuda com meu squid.conf

julianderson de souza pereira
julianderson

(usa Debian)

Enviado em 03/11/2010 - 17:54h

Me diga uma coisa todas as maquinas estao acessando a internet pois ak voce mostrou que nao estar compartilhando a internet pois o seu arquiv estar assim "echo /proc/sys/net/ipv4/ip_forward"

tem que ser assim "echo "1" /proc/sys/net/ipv4/ip_forward' este arquivo ele libera o compartilhamento da net




5. Re: Ajuda com meu squid.conf

julianderson de souza pereira
julianderson

(usa Debian)

Enviado em 03/11/2010 - 17:59h

Em relacao aos erros ao iniciar o squid tente alterar conforme o observado ok

antes
#hierarchy_stoplist cgi-bin ?
#acl QUERY urlpath_regex cgi-bin ?
depois

hierarchy_stoplist cgi-bin?
acl QUERY urlpath_regex cgi-bin?



6. Re: Ajuda com meu squid.conf

Rafael Ferroni Mendes
rafaelferroni

(usa Ubuntu)

Enviado em 04/11/2010 - 18:57h

Pessoal desculpem a demora para responder.

korvoman: adicionei a acl que vc disse
o servidor possui rota de saida apesar de eu nao lembrar de ter adicionado são as seguintes:
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 10.0.2.2 0.0.0.0 UG 100 0 0 eth0

Devo exclui-las?

o DNS é utilizado o do próprio provedor de internet.

o erro apresentado é:

ERRO
A URL solicitada não pode ser recuperada

-----------------------------------------------------------------------

Na tentativa de recuperar a URL: www.vivaolinux.com.br/">http://www.vivaolinux.com.br/

O seguinte erro foi encontrado:

•Proibido o Acesso.
O controle de acessos impediu sua requisição. Caso você não concorde com isso, por favor, contate seu provedor de serviços, ou o administrador de sistemas.

-----------------------------------------------------------------------

Generated Thu, 04 Nov 2010 20:46:06 GMT by ubuntu (squid/2.7.STABLE3)

sendo que dentro do meu arquivo sites_liberados.txt está escrito www.vivaolinux.com.br


7. Re: Ajuda com meu squid.conf

Guilherme Domingues de Oliveira
korvoman

(usa Debian)

Enviado em 04/11/2010 - 21:33h

Por desencargo, comente as linhas
acl ips_liberados src "/etc/squid/ips_liberados.txt"
#http_access allow ips_liberados
acl sites_liberados url_regex -i "/etc/squid/sites_liberados.txt"
#http_access allow sites_liberados
acl ips_bloqueados src "/etc/squid/ips_bloqueados.txt"
#http_access deny ips_bloqueados
acl sites_bloqueados url_regex -i "/etc/squid/sites_bloqueados.txt
#http_access deny sites_bloqueados

pare o squid. rode no modo debug, e teste : squid -d 3

Outro detalhe confira a ordem do http_access segue um exemplo que utilizei no inicio:

acl all src all

#acl rede_interna src 192.168.1.0/24
acl rede_interna src "/etc/squid/redes"
acl ip_liberado src "/etc/squid/ipsliberados"
acl libera url_regex "/etc/squid/enderecos_livres"
acl subdominios url_regex "/etc/squid/subdominios"
acl palavras url_regex "/etc/squid/palavras"
acl nege_msn dstdomain "/etc/squid/msn.txt"
acl nege_msn2 url_regex "/etc/squid/msn2.txt"
acl msn req_mime_type ^application/x-msn-messenger$
acl msngw url_regex -i gateway.dll
#acl msn_host src 192.168.0.2
#http_access allow msn_host
http_access deny msn
http_access deny msngw
http_access deny palavras
http_access allow ip_liberado
http_access allow rede_interna libera !subdominios !nege_msn !nege_msn2

snmp_port 3401
acl snmppublic snmp_community registro
snmp_access allow snmppublic
snmp_incoming_address 0.0.0.0
snmp_outgoing_address 255.255.255.255

acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
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 Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
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 allow !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
icp_access allow localnet
icp_access deny all
http_port 192.168.1.1:3128 transparent
hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Package(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY\s[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
hosts_file /etc/hosts
coredump_dir /var/spool/squid


8. Re: Ajuda com meu squid.conf

Rafael Ferroni Mendes
rafaelferroni

(usa Ubuntu)

Enviado em 06/11/2010 - 00:28h

korvoman, eu comentei as linhas que vc disse, parei o squid e executei: squid -d 3. Amensagem foi a seguinte:

2010/11/06 00:20:54| Squid is already running! Process ID 4159.

quanto ao .conf que vc postou amanhã eu dou uma olhada nele com mais atenção.