[FUG-BR] Squid transparente com PF
Rafael Faria
rafaelhfaria em gmail.com
Quinta Setembro 28 14:13:05 BRT 2006
Olá novamente...
Estou tentando configurar um Squid transparente usando o PF.
Sempre consegui normamente trabalhar com o Squid transparente usando o
IPFW, porém, agora com o PF, não está tudo tão fácil.
Vamos lá ao que está acontecendo:
O squid está (aparentemente) funcionando normalmente. Se eu configuro
ele diretamente nos navegadores, tudo funciona OK. Fica localhost tb
está funcionando normal.
Porém, quando ativo as regras do PF para redirecionar o tráfego, eu
apenas recebo uma mensagem de acesso negado do squid. Mas não a mesma
mensagem de acesso negado quando o endereço não está em uma ACL, é uma
mensagem diferente, estranha. :/
Segue meu squid.conf:
-------------------------------
http_port 3128
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 32 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 8192 KB
minimum_object_size 0 KB
maximum_object_size_in_memory 256 KB
ipcache_size 2048
ipcache_low 80
ipcache_high 95
memory_replacement_policy lru
cache_dir ufs /usr/local/squid/cache 256 32 512
cache_access_log /usr/local/squid/logs/access.log
cache_log /usr/local/squid/logs/cache.log
cache_store_log /usr/local/squid/logs/store.log
mime_table /usr/local/etc/squid/mime.conf
pid_filename /var/run/squid.pid
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
request_header_max_size 20 KB
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
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 to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
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
follow_x_forwarded_for deny all
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
acl intranet src 172.18.9.0/24
http_access allow intranet
http_access deny all
http_reply_access allow all
icp_access allow all
httpd_accel_port 80
httpd_accel_with_proxy on
forwarded_for on
coredump_dir /usr/local/squid/cache
-------------------------------
Segue meu pf.conf (só as linhas referentes ao squid):
-------------------------------
rdr on $int_if inet proto tcp from any to any port www -> 127.0.0.1 port 3128
# Squid Proxy
pass in on $int_if proto tcp from any to 127.0.0.1 port www keep state
pass out on $ext_if proto tcp from any to any port www keep state
-------------------------------
meu access.log
-------------------------------
1158808928.069 0 172.18.9.2 TCP_DENIED/400 1441 GET
error:invalid-request - NONE/- text/html
1158808929.862 0 172.18.9.2 TCP_DENIED/400 1454 GET
error:invalid-request - NONE/- text/html
1158809077.025 16 172.18.9.2 TCP_MISS/200 514 GET
http://172.18.9.1/ - DIRECT/172.18.9.1 text/html
1158809078.675 414 172.18.9.2 TCP_MISS/200 2754 GET
http://172.18.9.1/mrtg/ - DIRECT/172.18.9.1 text/html
-------------------------------
A parte do TCP_DENIED é quando estava com o proxy transparente.
Algém já teve algum problema parecido?
Minhas versões: FreeBSD 6.2-PRERELEASE, Squid 2.6.3.
Se alguém tiver alguma idéia, eu agradeço.
Abraços
Rafael Henrique Faria
rfaria em fclar.unesp.br
Mais detalhes sobre a lista de discussão freebsd