[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