Внимание, данное решение работает только на debian or ubunto 32bit
Для ваше удобства сделал как можно проще, ниже представлен установочный файл
просто его запускаем
cd /var/ mkdir squid cd squid apt-get install -y git fakeroot build-essential devscripts apt-get build-dep -y squid3 apt-get build-dep -y libecap2 apt-get install -y libssl-dev libgnutls28-dev wget http://ahmetshin.com/static/squid3.5.8_and_deps.tar.gz tar -xvzf squid3.5.8_and_deps.tar.gz cd root/squid/squid3.5.8/ dpkg -i libressl_2.1.6-1_i386.deb mv /usr/bin/openssl /usr/bin/openssl-1 update-alternatives --install /usr/bin/openssl openssl /usr/bin/openssl-1 10 update-alternatives --install /usr/bin/openssl openssl /usr/local/bin/openssl 50 dpkg -i libecap3_1.0.1-2_i386.deb dpkg -i libecap3-dev_1.0.1-2_i386.deb dpkg -i squid_3.5.8-1_i386.deb dpkg -i squid-common_3.5.8-1_all.deb dpkg -i squid3_3.5.8-1_all.deb dpkg -i squidclient_3.5.8-1_i386.deb dpkg -i squid-dbg_3.5.8-1_i386.deb dpkg -i squid-purge_3.5.8-1_i386.deb dpkg -i squid-cgi_3.5.8-1_i386.deb apt-get -f -y install dpkg -i squid_3.5.8-1_i386.deb dpkg -i squid-common_3.5.8-1_all.deb dpkg -i squid3_3.5.8-1_all.deb dpkg -i squidclient_3.5.8-1_i386.deb dpkg -i squid-dbg_3.5.8-1_i386.deb dpkg -i squid-purge_3.5.8-1_i386.deb cd /etc/squid openssl req -batch -new -newkey rsa:1024 -days 365 -nodes -x509 -keyout squidCA.pem -out squidCA.pem rm -rf squid.conf wget http://ahmetshin.com/static/squid/squid.conf wget http://ahmetshin.com/static/squid/adslist.txt wget http://ahmetshin.com/static/squid/blocked_https.txt wget http://ahmetshin.com/static/squid/blocks.files.acl wget http://ahmetshin.com/static/squid/cachemgr.conf wget http://ahmetshin.com/static/squid/errorpage.css wget http://ahmetshin.com/static/squid/mism_ssl wget http://ahmetshin.com/static/squid/redirect.txt
Далее правим конфиг в /etc/squid/squid.conf
Меняем свою сеть
acl localnet src 10.20.2.0/24 # RFC1918 possible internal network acl SSL_ports port 443 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 5222 # whatsapp acl Safe_ports port 5223 # whatsapp acl Safe_ports port 2195 # whatsapp acl Safe_ports port 2196 # whatsapp acl Safe_ports port 5228 # whatsapp acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl blockfiles urlpath_regex "/etc/squid/blocks.files.acl" acl CONNECT method CONNECT dns_nameservers 8.8.8.8 http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost manager http_access deny manager http_access allow localnet http_access allow localhost http_access deny all #прозрачный порт указывается опцией intercept http_port 10.20.2.1:3128 intercept options=NO_SSLv3:NO_SSLv2 #также нужно указать непрозрачный порт, ибо если захотите вручную указать адрес #прокси в браузере, указав прозрачный порт, вы получите ошибку доступа, поэтому нужно #указывать непрозрачный порт в браузере, если конечно такое желание будет, к тому же в логах #сыпятся ошибки о том, что непрохрачный порт не указан=) http_port 10.20.2.1:3130 options=NO_SSLv3:NO_SSLv2 #и наконец, указываем HTTPS порт с нужными опциями https_port 10.20.2.1:3129 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/etc/squid/squidCA.pem always_direct allow all sslproxy_cert_error allow all sslproxy_flags DONT_VERIFY_PEER #укажем правило со списком блокируемых ресурсов (в файле домены вида .domain.com) acl blocked ssl::server_name "/etc/squid/blocked_https.txt" acl step1 at_step SslBump1 ssl_bump peek step1 #терминируем соединение, если клиент заходит на запрещенный ресурс ssl_bump terminate blocked ssl_bump splice all sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB coredump_dir /var/spool/squid 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 cache_dir aufs /var/spool/squid 20000 49 256 maximum_object_size 61440 KB minimum_object_size 3 KB cache_swap_low 90 cache_swap_high 95 maximum_object_size_in_memory 512 KB memory_replacement_policy lru logfile_rotate 4
Весь трафик заворачиваем в прокси
iptables -t nat -A PREROUTING -p tcp -m tcp -s 10.20.2.0/24 --dport 443 -j REDIRECT --to-ports 3129 iptables -t nat -A PREROUTING -p tcp -m tcp -s 10.20.20.0/24 --dport 80 -j REDIRECT --to-ports 3128
Перезапускаем прокси
/etc/init.d/squid restart