I hate to admit this, but I am stumped by what quite clearly is such a
simple problem but I can't find the answer. I've seen many sites,
tutorials, guides but just cannot figure this one out...it's probably my
bad skills with PF but admiittedly some of the things I've read are for
older version of squid and what they have does not work anymore, so I'm
reaching out for a prod in the right direction.

OpenBSD 4.6, squid from the ports (up to date). The problem is, I want
all users to pass through the squid server before heading out for a)
caching reasons and b) to log all HTTP requests. I want to transparent
and nobody can get out of it so I'm simply changing everyone's default
gateway to the proxy server in DHCP (rather then setting proxy settings
in Firefox etc). It must allow ALL traffic (SSH, SMPT, IMAP etc) and
essentially ignore that traffic, simply working as a web cache and
logger. Web traffic works fine, it goes though it, it logs it and cache
is working I guess but nothing else goes through it. SMTP, SSH, IMAP all
refuse to connect and I know it's something stupid but after searching
around I can't find an answer.

pf.conf
-----------
int_if="em0"
ext_if="em0"

set skip on lo

pass            # to establish keep-state

#block in quick from urpf-failed to any # use with care

# By default, do not permit remote connections to X11
block in on ! lo0 proto tcp to port 6000:6010

# SQUID redirect
rdr on $int_if inet proto tcp from any port www to any port www ->
127.0.0.1 port 3128
pass in on $int_if inet proto tcp from any port www to 127.0.0.1 port
3128 keep state
pass out on $ext_if inet proto tcp from any port www to any port www
keep state

squid.conf
------------
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl badwebsite url_regex "/etc/squid/squid-block.acl"
http_access deny badwebsite
acl localnet src 192.168.2.0/24 # RFC1918 possible internal network
acl localnet src 10.0.0.0/24
acl localnet src 10.1.0.0.0/24
acl localnet src 10.2.0.0.0/24
acl SSL_ports port 443
acl Safe_ports port 22          # SSH
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 993         # SSL/TLS imap
acl Safe_ports port 25          # smtp
acl CONNECT method CONNECT
http_access allow manager localhost
http_access allow localnet
http_access deny all
icp_access allow localnet
icp_access deny all
http_port 3128 transparent
hierarchy_stoplist cgi-bin ?
cache_dir ufs /var/squid/cache 1024 16 256
access_log /var/squid/logs/access.log squid
log_fqdn on
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
visible_hostname proxy.internaldomain.com
always_direct allow all
coredump_dir /var/squid/cache

Reply via email to