Установка squid3:
Скачать исходники можно по данной ссылке http://www.squid-cache.org/Versions/v3/3.0/
после скачки, распакуйте пакет и соберите:
mkdir -p /opt/src
cp squid-3.0.STABLE12 /opt/src
cd /opt/src/squid-3.0.STABLE12
chmod +x ./configure
./configure --prefix=/opt/squid --disable-http-violations --disable-ident-lookups --enable-pf-transparent
make && make install
После установки, правим конфиг /opt/squid/etc/squid.conf следующим образом:
http_port 127.0.0.1:3129 transparent
hosts_file /etc/hosts
cache_mem 128 MB
cache_swap_high 95
cache_swap_low 80
cache_dir ufs /var/squid/cache 1000 16 256
maximum_object_size 4096 KB
minimum_object_size 0 KB
maximum_object_size_in_memory 20 KB
memory_pools off
range_offset_limit 0 KB
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl lan src 172.21.0.0/24
http_access deny manager all
http_access allow localhost
http_access allow lan
http_access deny all
icp_access allow lan
icp_access deny all
miss_access allow lan
miss_access deny all
visible_hostname local
coredump_dir /var/spool/squid
access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache_store_log none
error_directory /opt/squid/share/errors/Russian-1251
cache_effective_user squid
далее:
mkdir /var/log/squid
mkdir -p /var/squid/cache
chown squid:squid /var/log/squid
chown -R squid:squid /var/squid/cache
далее запускаем squid:
su squid -c '/opt/squid/sbin/squid -z' - это создаст директории для кеша
su squid -c '/opt/squid/sbin/squid -f /opt/squid/etc/squid.conf'
после запуска подправляем права на /dev/pf чтобы squid имел права на чтение.
chown root:squid /dev/pf
chmod 660 /dev/pf
теперь правим конфиг на PF:
добавляем редирект
rdr on rl0 proto tcp from 172.21.0.0/24 to !172.21.0.0/24 port 80 -> 127.0.0.1 port 3129
pfctl -f /etc/pf.conf
После этого весь трафик должен ходить через прозрачный прокси.