SCROLL
Среднее время на прочтение: 6 мин.

Как установить прокси сервер Squid на Debian 12

Squid — это программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP, FTP, Gopher и (в случае соответствующих настроек) HTTPS.

JUQwJTkyJTIwJUQxJThEJUQxJTgyJUQwJUJFJUQwJUJDJTIwJUQxJTgwJUQxJTgzJUQwJUJBJUQwJUJFJUQwJUIyJUQwJUJFJUQwJUI0JUQxJTgxJUQxJTgyJUQwJUIyJUQwJUI1JTIwJUQxJThGJTIwJUQwJUJGJUQwJUJFJUQwJUJBJUQwJUIwJUQwJUI2JUQxJTgzJTJDJTIwJUQwJUJBJUQwJUIwJUQwJUJBJTIwJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUI4JUQxJTgyJUQxJThDJTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQwJUJBJUQxJTgxJUQwJUI4JTIwJUQxJTgxJUQwJUI1JUQxJTgwJUQwJUIyJUQwJUI1JUQxJTgwJTIwU3F1aWQlMjAlRDAlQkQlRDAlQjAlMjAlRDAlQkUlRDAlQkYlRDAlQjUlRDElODAlRDAlQjAlRDElODYlRDAlQjglRDAlQkUlRDAlQkQlRDAlQkQlRDAlQkUlRDAlQjklMjAlRDElODElRDAlQjglRDElODElRDElODIlRDAlQjUlRDAlQkMlRDAlQjUlMjBEZWJpYW4lMjAxMi4lMjAlRDAlQTMlRDElODElRDElODIlRDAlQjAlRDAlQkQlRDAlQkUlRDAlQjIlRDAlQkElRDElODMlMjAlRDAlQjElRDElODMlRDAlQjQlRDAlQjUlRDAlQkMlMjAlRDAlQjIlRDElOEIlRDAlQkYlRDAlQkUlRDAlQkIlRDAlQkQlRDElOEYlRDElODIlRDElOEMlMjAlRDAlQjglRDAlQjclMjAlRDAlQjglRDElODElRDElODUlRDAlQkUlRDAlQjQlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjIlMjAlRDAlQjglMjAlRDAlQjAlRDAlQkElRDElODIlRDElODMlRDAlQjAlRDAlQkIlRDElOEMlRDAlQkQlRDElODMlRDElOEUlMjAlRDAlQkQlRDAlQjAlMjAlRDAlQkMlRDAlQkUlRDAlQkMlRDAlQjUlRDAlQkQlRDElODIlMjAlRDAlQkQlRDAlQjAlRDAlQkYlRDAlQjglRDElODElRDAlQjAlRDAlQkQlRDAlQjglRDElOEYlMjAlRDElODElRDElODIlRDAlQjAlRDElODIlRDElOEMlRDAlQjglMjAlRDAlQjIlRDAlQjUlRDElODAlRDElODElRDAlQjglRDElOEUlMjBTcXVpZC4=

Официальная ветка Squid в Github — https://github.com/squid-cache/squid

Установка зависимостей

JUQwJUEzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUIwJUQwJUIyJUQwJUJCJUQwJUI4JUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJEJUQwJUI1JUQwJUJFJUQwJUIxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJUQxJThCJUQwJUI1JTIwJUQwJUJGJUQwJUIwJUQwJUJBJUQwJUI1JUQxJTgyJUQxJThCJTIwJUQwJUI3JUQwJUIwJUQwJUIyJUQwJUI4JUQxJTgxJUQwJUI4JUQwJUJDJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUI1JUQwJUI5Lg==

YXB0LWdldCUyMHVwZGF0ZQ==
apt-get install build-essential make automake autoconf libtool libtool-bin ed libssl-dev libkrb5-dev libldap2-dev libk5crypto3 libsasl2-dev libpam0g libcap2-dev git -y

Сборка и установка

JUQwJTkwJUQwJUJBJUQxJTgyJUQxJTgzJUQwJUIwJUQwJUJCJUQxJThDJUQwJUJEJUQxJTgzJUQxJThFJTIwJUQwJUIyJUQwJUI1JUQxJTgwJUQxJTgxJUQwJUI4JUQxJThFJTIwJUQwJUJGJUQwJUIwJUQwJUJBJUQwJUI1JUQxJTgyJUQwJUIwJTIwJUQwJUJDJUQwJUJFJUQwJUI2JUQwJUJEJUQwJUJFJTIwJUQwJUJGJUQwJUJFJUQxJTgxJUQwJUJDJUQwJUJFJUQxJTgyJUQxJTgwJUQwJUI1JUQxJTgyJUQxJThDJTIwJUQwJUJGJUQwJUJFJTIwJUQxJTgxJUQxJTgxJUQxJThCJUQwJUJCJUQwJUJBJUQwJUI1JTNB

JUQwJTlBJUQwJUJCJUQwJUJFJUQwJUJEJUQwJUI4JUQxJTgwJUQxJTgzJUQwJUI1JUQwJUJDJTIwJUQxJTgwJUQwJUI1JUQwJUJGJUQwJUJFJUQwJUI3JUQwJUI4JUQxJTgyJUQwJUJFJUQxJTgwJUQwJUI4JUQwJUI5JTIwU3F1aWQlMjAlRDElODElMjBHaXRIdWIlM0E=

cd /opt
git clone https://github.com/squid-cache/squid.git squid 

JUQwJTlGJUQwJUI1JUQxJTgwJUQwJUI1JUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJTIwJUQwJUIyJTIwJUQwJUJBJUQwJUJCJUQwJUJFJUQwJUJEJUQwJUI4JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQwJUI5JTIwJUQxJTgwJUQwJUI1JUQwJUJGJUQwJUJFJUQwJUI3JUQwJUI4JUQxJTgyJUQwJUJFJUQxJTgwJUQwJUI4JUQwJUI5Lg==

Y2QlMjBzcXVpZA==

Актуальная версия

JUQwJTk1JUQxJTgxJUQwJUJCJUQwJUI4JTIwJUQwJUJEJUQxJTgzJUQwJUI2JUQwJUJEJUQwJUIwJTIwJUQxJTgxJUQwJUIwJUQwJUJDJUQwJUIwJUQxJThGJTIwJUQwJUIwJUQwJUJBJUQxJTgyJUQxJTgzJUQwJUIwJUQwJUJCJUQxJThDJUQwJUJEJUQwJUIwJUQxJThGJTIwJUQwJUIyJUQwJUI1JUQxJTgwJUQxJTgxJUQwJUI4JUQxJThGJTIwJUQxJTgwJUQwJUI1JUQwJUJCJUQwJUI4JUQwJUI3JUQwJUIwJTJDJTIwJUQxJTgyJUQwJUJFJTIwJUQwJUJGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUI4JUQxJTgyJUQxJTgxJUQxJThGJTIwJUQwJUJEJUQwJUIwJTIwJUQwJUJEJUQwJUI1JUQwJUI1JTIwJUQwJUJDJUQwJUJFJUQwJUI2JUQwJUJEJUQwJUJFJTIwJUQwJUIyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQwJUI4JUQwJUIyJTIwJUQwJUJBJUQwJUJFJUQwJUJDJUQwJUIwJUQwJUJEJUQwJUI0JUQxJTgzJTNB

LATEST_TAG=$(curl -s https://api.github.com/repos/squid-cache/squid/releases/latest | grep -oP '"tag_name": "\K[^"]+')
Z2l0JTIwY2hlY2tvdXQlMjAlMjRMQVRFU1RfVEFH

Определенная версия

В случае если необходимо выполнить сборку какой то определенной версии, то сперва можно вывести список доступных релизов:

git tag | grep '^SQUID_' | sort -t_ -k2,2V -k3,3V -k4,4V

JUQwJTkwJTIwJUQwJUI3JUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJDJTIwJUQwJUJGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUIwJUQwJUI1JUQwJUJDJUQxJTgxJUQxJThGJTIwJUQwJUJEJUQwJUIwJTIwJUQwJUJEJUQxJTgzJUQwJUI2JUQwJUJEJUQxJTgzJUQxJThFJTIwJUQwJUIyJUQwJUI1JUQxJTgyJUQwJUJBJUQxJTgzJTNB

git checkout SQUID_5_9

Подготовка

JUQwJTkyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQwJUI4JUQwJUJDJTIwYm9vdHN0cmFwcGluZyUyMCglRDAlQkYlRDAlQkUlRDAlQjQlRDAlQjMlRDAlQkUlRDElODIlRDAlQkUlRDAlQjIlRDAlQkElRDElODMpJTIwJUQwJUI4JUQxJTgxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUIyJTIwJUQwJUJBJTIwJUQxJTgxJUQwJUIxJUQwJUJFJUQxJTgwJUQwJUJBJUQwJUI1Lg==

bootstrapping — это процесс подготовки среды для компиляции и сборки программы. Обычно это включает в себя генерацию файлов configure, Makefile и других вспомогательных файлов, необходимых для сборки.
LiUyRmJvb3RzdHJhcC5zaA==

Успешный вывод:

YXV0b21ha2UlMjAoMS4xNi41KSUyMCUzQSUyMGF1dG9tYWtl
autoconf (2.71) : autoconf
libtool  (2.4.7) : libtool
bGlidG9vbCUyMHBhdGglMjAlM0ElMjAlMkZ1c3IlMkZiaW4=
Bootstrapping primary Squid sources
Bootstrapping libltdl sub-project
Fixing configure recursion
QXV0b3Rvb2wlMjBib290c3RyYXBwaW5nJTIwY29tcGxldGUu

Сборка

JUQwJTkyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUI4JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQwJUI1JTIwJUQxJTgxJTIwJUQwJUJGJUQwJUJFJUQwJUI0JUQwJUI0JUQwJUI1JUQxJTgwJUQwJUI2JUQwJUJBJUQwJUJFJUQwJUI5JTIwSFRUUFMlM0E=

./configure --prefix=/usr \
LS1sb2NhbHN0YXRlZGlyJTNEJTJGdmFyJTIwJTVD
LS1saWJleGVjZGlyJTNEJTJGdXNyJTJGbGliJTJGc3F1aWQlMjAlNUM=
LS1kYXRhZGlyJTNEJTJGdXNyJTJGc2hhcmUlMkZzcXVpZCUyMCU1Qw==
--sysconfdir=/etc/squid \
--enable-ssl-crtd \
--with-openssl \
LS1lbmFibGUtdHJhbnNsYXRpb24lMjAlNUM=
LS1lbmFibGUtY3B1LXByb2ZpbGluZyUyMCU1Qw==
LS1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmclMjAlNUM=
--disable-ipv6 \
--enable-removal-policies="lru,heap" \
LS1lbmFibGUtZGVsYXktcG9vbHMlMjAlNUM=
LS1lbmFibGUtaWNtcCUyMCU1Qw==
--enable-linux-netfilter \
LS1lbmFibGUtZXh0ZXJuYWwtYWNsLWhlbHBlcnMlMjAlNUM=
--with-large-files \
LS13aXRoLWRlZmF1bHQtdXNlciUzRHByb3h5JTIwJTVD
LS13aXRoLWxvZ2RpciUzRCUyRnZhciUyRmxvZyUyRnNxdWlkJTIwJTVD
LS13aXRoLXBpZGZpbGUlM0QlMkZ2YXIlMkZydW4lMkZzcXVpZC5waWQ=

JUQwJUExJUQwJUJFJUQwJUIxJUQwJUI4JUQxJTgwJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUI4JTIwJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUIwJUQwJUIyJUQwJUJCJUQwJUI4JUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJGJUQwJUIwJUQwJUJBJUQwJUI1JUQxJTgyJTIwU3F1aWQlM0E=

bWFrZSUyMC1qJTI0KG5wcm9jKQ==
bWFrZSUyMGluc3RhbGw=

Post-Install настройка

JUQwJUExJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJEJUQwJUI1JUQwJUJFJUQwJUIxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJUQxJThCJUQwJUI1JTIwJUQwJUJBJUQwJUIwJUQxJTgyJUQwJUIwJUQwJUJCJUQwJUJFJUQwJUIzJUQwJUI4JTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwJUQxJTgwJUQwJUIwJUQwJUIxJUQwJUJFJUQxJTgyJUQxJThCJTIwU3F1aWQlMjAlRDAlQjglMjAlRDAlQkQlRDAlQjAlRDAlQjclRDAlQkQlRDAlQjAlRDElODclRDAlQjAlRDAlQjUlRDAlQkMlMjAlRDAlQjQlRDAlQkIlRDElOEYlMjAlRDAlQkQlRDAlQjglRDElODUlMjAlRDElODElRDAlQkUlRDAlQkUlRDElODIlRDAlQjIlRDAlQjUlRDElODIlRDElODElRDElODIlRDAlQjIlRDElODMlRDElOEUlRDElODklRDAlQjglRDAlQjUlMjAlRDAlQkYlRDElODAlRDAlQjAlRDAlQjIlRDAlQjAlMjAlRDAlQjQlRDAlQkUlRDElODElRDElODIlRDElODMlRDAlQkYlRDAlQjAlM0E=

bWtkaXIlMjAtcCUyMCUyRnZhciUyRmxvZyUyRnNxdWlkJTIwJTJGdmFyJTJGc3Bvb2wlMkZzcXVpZCUyMCUyRmV0YyUyRnNxdWlkJTJGc3Ns
chown proxy:proxy /var/log/squid /var/spool/squid /etc/squid/ssl

Y2htb2QlMjA3NTAlMjAlMkZ2YXIlMkZsb2clMkZzcXVpZCUyMCUyRnZhciUyRnNwb29sJTJGc3F1aWQlMjAlMkZldGMlMkZzcXVpZCUyRnNzbA==

Logrotate

Создаем файл ротации логов /etc/logrotate.d/squid:

Y2F0JTIwJTNDJTNDJTIwRU9GJTIwJTNFJTIwJTJGZXRjJTJGbG9ncm90YXRlLmQlMkZzcXVpZA==
JTJGdmFyJTJGbG9nJTJGc3F1aWQlMkZhY2Nlc3MubG9nJTIwJTdC
ZGFpbHk=
Y29tcHJlc3M=
delaycompress
cm90YXRlJTIwNA==
missingok
bm9jcmVhdGU=
sharedscripts
postrotate
JTIwJTIwJTIwJTIwJTJGZXRjJTJGaW5pdC5kJTJGc3F1aWQlMjByZWxvYWQ=
ZW5kc2NyaXB0
}

/var/log/squid/cache.log {
ZGFpbHk=
Y29tcHJlc3M=
delaycompress
rotate 4
missingok
bm9jcmVhdGU=
c2hhcmVkc2NyaXB0cw==
postrotate
JTIwJTIwJTIwJTIwJTJGZXRjJTJGaW5pdC5kJTJGc3F1aWQlMjByZWxvYWQ=
endscript
JTdE
EOF

System V Init

Для управление запуском Squid создадим стартовый скрипт /etc/init.d/squid для System V Init.

/etc/init.d/squid
#! /bin/sh
JTIz
# squid         Startup script for the SQUID HTTP proxy-cache.
JTIz
# Version:      @(#)squid.rc  1.0  07-Jul-2006  luigi@debian.org
JTIz
JTIzJTIwcGlkZmlsZSUzQSUyMCUyRnZhciUyRnJ1biUyRnNxdWlkLnBpZA==
JTIz
### BEGIN INIT INFO
JTIzJTIwUHJvdmlkZXMlM0ElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzcXVpZA==
# Required-Start:    $network $remote_fs $syslog
# Required-Stop:     $network $remote_fs $syslog
JTIzJTIwU2hvdWxkLVN0YXJ0JTNBJTIwJTIwJTIwJTIwJTIwJTIwJTI0bmFtZWQ=
# Should-Stop:       $named
JTIzJTIwRGVmYXVsdC1TdGFydCUzQSUyMCUyMCUyMCUyMCUyMDIlMjAzJTIwNCUyMDU=
# Default-Stop:      0 1 6
# Short-Description: Squid HTTP Proxy version 4.x
JTIzJTIzJTIzJTIwRU5EJTIwSU5JVCUyMElORk8=

TkFNRSUzRHNxdWlk
REVTQyUzRCUyMlNxdWlkJTIwSFRUUCUyMFByb3h5JTIy
REFFTU9OJTNEJTJGdXNyJTJGc2JpbiUyRnNxdWlk
UElERklMRSUzRCUyRnZhciUyRnJ1biUyRiUyNE5BTUUucGlk
CONFIG=/etc/squid/squid.conf
SQUID_ARGS="-YC -f $CONFIG"

JTVCJTIwISUyMC1mJTIwJTJGZXRjJTJGZGVmYXVsdCUyRnNxdWlkJTIwJTVEJTIwJTdDJTdDJTIwLiUyMCUyRmV0YyUyRmRlZmF1bHQlMkZzcXVpZA==

LiUyMCUyRmxpYiUyRmxzYiUyRmluaXQtZnVuY3Rpb25z

UEFUSCUzRCUyRmJpbiUzQSUyRnVzciUyRmJpbiUzQSUyRnNiaW4lM0ElMkZ1c3IlMkZzYmlu

[ -x $DAEMON ] || exit 0

dWxpbWl0JTIwLW4lMjA2NTUzNQ==

ZmluZF9jYWNoZV9kaXIlMjAoKSUyMCU3Qg==
        w="     " # space tab
        res=`$DAEMON -k parse -f $CONFIG 2>&1 |
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZ3JlcCUyMCUyMlByb2Nlc3NpbmclM0ElMjIlMjAlN0M=
                sed s/.*Processing:\ // |
                sed -ne '
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcyUyRiU1RSU1QiclMjIlMjR3JTIyJyU1RConJTI0MSclNUInJTIyJTI0dyUyMiclNUQlNUMlMkIlNUIlNUUnJTIyJTI0dyUyMiclNUQlNUMlMkIlNUInJTIyJTI0dyUyMiclNUQlNUMlMkIlNUMoJTVCJTVFJyUyMiUyNHclMjInJTVEJTVDJTJCJTVDKS4qJTI0JTJGJTVDMSUyRnAlM0I=
                        t end;
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZCUzQg==
                        :end q'`
        [ -n "$res" ] || res=$2
        echo "$res"
}

Z3JlcGNvbmYlMjAoKSUyMCU3Qg==
        w="     " # space tab
        res=`$DAEMON -k parse -f $CONFIG 2>&1 |
                grep "Processing:" |
                sed s/.*Processing:\ // |
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VkJTIwLW5lJTIwJw==
                        s/^['"$w"']*'$1'['"$w"']\+\([^'"$w"']\+\).*$/\1/p;
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdCUyMGVuZCUzQg==
                        d;
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNBZW5kJTIwcSclNjA=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTIwLW4lMjAlMjIlMjRyZXMlMjIlMjAlNUQlMjAlN0MlN0MlMjByZXMlM0QlMjQy
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZWNobyUyMCUyMiUyNHJlcyUyMg==
JTdE

Y3JlYXRlX3J1bl9kaXIlMjAoKSUyMCU3Qg==
        run_dir=/var/run/squid
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdXNyJTNEJTYwZ3JlcGNvbmYlMjBjYWNoZV9lZmZlY3RpdmVfdXNlciUyMHByb3h5JTYw
        grp=`grepconf cache_effective_group proxy`

        if [ "$(dpkg-statoverride --list $run_dir)" = "" ] &&
           [ ! -e $run_dir ] ; then
                mkdir -p $run_dir
                chown $usr:$grp $run_dir
                [ -x /sbin/restorecon ] && restorecon $run_dir
        fi
}

c3RhcnQlMjAoKSUyMCU3Qg==
        cache_dir=`find_cache_dir cache_dir`
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwY2FjaGVfdHlwZSUzRCU2MGdyZXBjb25mJTIwY2FjaGVfZGlyJTYw
        run_dir=/var/run/squid

        #
        # Create run dir (needed for several workers on SMP)
        #
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwY3JlYXRlX3J1bl9kaXI=

JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIz
        # Create spool dirs if they don't exist.
        #
        if test -d "$cache_dir" -a ! -d "$cache_dir/00"
        then
                log_warning_msg "Creating $DESC cache structure"
                $DAEMON -z -f $CONFIG
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTIwLXglMjAlMkZzYmluJTJGcmVzdG9yZWNvbiUyMCU1RCUyMCUyNiUyNiUyMHJlc3RvcmVjb24lMjAtUiUyMCUyNGNhY2hlX2Rpcg==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZmk=

        umask 027
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdWxpbWl0JTIwLW4lMjA2NTUzNQ==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwY2QlMjAlMjRydW5fZGly
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc3RhcnQtc3RvcC1kYWVtb24lMjAtLXF1aWV0JTIwLS1zdGFydCUyMCU1Qw==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwLS1waWRmaWxlJTIwJTI0UElERklMRSUyMCU1Qw==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwLS1leGVjJTIwJTI0REFFTU9OJTIwLS0lMjAlMjRTUVVJRF9BUkdTJTIwJTNDJTIwJTJGZGV2JTJGbnVsbA==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTI0JTNG
}

c3RvcCUyMCgpJTIwJTdC
        PID=`cat $PIDFILE 2>/dev/null`
        start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIz
        #       Now we have to wait until squid has _really_ stopped.
        #
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2xlZXAlMjAy
        if test -n "$PID" && kill -0 $PID 2>/dev/null
        then
                log_action_begin_msg " Waiting"
                cnt=0
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwd2hpbGUlMjBraWxsJTIwLTAlMjAlMjRQSUQlMjAyJTNFJTJGZGV2JTJGbnVsbA==
                do
                        cnt=`expr $cnt + 1`
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjAlNUIlMjAlMjRjbnQlMjAtZ3QlMjAyNCUyMCU1RA==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdGhlbg==
                                log_action_end_msg 1
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwMQ==
                        fi
                        sleep 5
                        log_action_cont_msg ""
                done
                log_action_end_msg 0
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwMA==
        else
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwMA==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZmk=
JTdE

cfg_pidfile=`grepconf pid_filename`
aWYlMjB0ZXN0JTIwJTIyJTI0JTdCY2ZnX3BpZGZpbGUlM0Etbm9uZSU3RCUyMiUyMCElM0QlMjAlMjJub25lJTIyJTIwLWElMjAlMjIlMjRjZmdfcGlkZmlsZSUyMiUyMCElM0QlMjAlMjIlMjRQSURGSUxFJTIy
then
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX3dhcm5pbmdfbXNnJTIwJTIyc3F1aWQuY29uZiUyMHBpZF9maWxlbmFtZSUyMG92ZXJyaWRlcyUyMGluaXQlMjBzY3JpcHQlMjI=
        PIDFILE="$cfg_pidfile"
fi

Y2FzZSUyMCUyMiUyNDElMjIlMjBpbg==
    start)
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmVzJTNEJTYwJTI0REFFTU9OJTIwLWslMjBwYXJzZSUyMC1mJTIwJTI0Q09ORklHJTIwMiUzRSUyNjElMjAlN0MlMjBncmVwJTIwLW8lMjAlMjJGQVRBTCUzQSUyMC4qJTIyJTYw
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjB0ZXN0JTIwLW4lMjAlMjIlMjRyZXMlMjIlM0I=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdGhlbg==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2ZhaWx1cmVfbXNnJTIwJTIyJTI0cmVzJTIy
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZXhpdCUyMDM=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZWxzZQ==
                log_daemon_msg "Starting $DESC" "$NAME"
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjBzdGFydCUyMCUzQiUyMHRoZW4=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2VuZF9tc2clMjAlMjQlM0Y=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZWxzZQ==
                        log_end_msg $?
                fi
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZmk=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNCJTNC
JTIwJTIwJTIwJTIwc3RvcCk=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2RhZW1vbl9tc2clMjAlMjJTdG9wcGluZyUyMCUyNERFU0MlMjIlMjAlMjIlMjROQU1FJTIy
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjBzdG9wJTIwJTNCJTIwdGhlbg==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2VuZF9tc2clMjAlMjQlM0Y=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZWxzZQ==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2VuZF9tc2clMjAlMjQlM0Y=
        fi
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNCJTNC
JTIwJTIwJTIwJTIwcmVsb2FkJTdDZm9yY2UtcmVsb2FkKQ==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmVzJTNEJTYwJTI0REFFTU9OJTIwLWslMjBwYXJzZSUyMC1mJTIwJTI0Q09ORklHJTIwMiUzRSUyNjElMjAlN0MlMjBncmVwJTIwLW8lMjAlMjJGQVRBTCUzQSUyMC4qJTIyJTYw
        if test -n "$res";
        then
                log_failure_msg "$res"
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZXhpdCUyMDM=
        else
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2FjdGlvbl9tc2clMjAlMjJSZWxvYWRpbmclMjAlMjRERVNDJTIwY29uZmlndXJhdGlvbiUyMGZpbGVzJTIy
                start-stop-daemon --stop --signal 1 \
                        --pidfile $PIDFILE --quiet --exec $DAEMON
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2FjdGlvbl9lbmRfbXNnJTIwMA==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZmk=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNCJTNC
    restart)
        res=`$DAEMON -k parse -f $CONFIG 2>&1 | grep -o "FATAL: .*"`
        if test -n "$res";
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdGhlbg==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2ZhaWx1cmVfbXNnJTIwJTIyJTI0cmVzJTIy
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZXhpdCUyMDM=
        else
                log_daemon_msg "Restarting $DESC" "$NAME"
                stop
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjBzdGFydCUyMCUzQiUyMHRoZW4=
                        log_end_msg $?
                else
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2VuZF9tc2clMjAlMjQlM0Y=
                fi
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZmk=
        ;;
JTIwJTIwJTIwJTIwc3RhdHVzKQ==
        status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit 3
        ;;
    *)
        echo "Usage: /etc/init.d/$NAME {start|stop|reload|force-reload|restart|status}"
        exit 3
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNCJTNC
ZXNhYw==

exit 0

JUQwJTlEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI5JUQwJUJBJUQwJUIwJTIwU3F1aWQlMjAlRDAlQjQlRDAlQkIlRDElOEYlMjAlRDAlQjAlRDAlQjIlRDElODIlRDAlQkUlRDAlQjclRDAlQjAlRDAlQkYlRDElODMlRDElODElRDAlQkElRDAlQjAlMkMlMjAlRDAlQkUlRDAlQjElRDAlQkQlRDAlQkUlRDAlQjIlRDAlQkIlRDAlQjUlRDAlQkQlRDAlQjglRDAlQjUlMjAlRDAlQkElRDAlQkUlRDAlQkQlRDElODQlRDAlQjglRDAlQjMlRDElODMlRDElODAlRDAlQjAlRDElODYlRDAlQjglRDAlQjglMjBzeXN0ZW1kJTJDJTIwJUQwJUI3JUQwJUIwJUQwJUJGJUQxJTgzJUQxJTgxJUQwJUJBJTIwJUQwJUI4JTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI1JUQxJTgwJUQwJUJBJUQwJUIwJTIwJUQxJTgwJUQwJUIwJUQwJUIxJUQwJUJFJUQxJTgyJUQxJThCJTIwJUQxJTgxJUQwJUJCJUQxJTgzJUQwJUI2JUQwJUIxJUQxJThCJTNB

chmod a+x /etc/init.d/squid
update-rc.d squid defaults

systemctl daemon-reexec
systemctl daemon-reload

JTJGZXRjJTJGaW5pdC5kJTJGc3F1aWQlMjBzdGFydA==
/etc/init.d/squid status
 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ

Обсуждение

Ответ на комментарий КодерОтмена ответа
104 комментариев
  • Добрый вечер! При вводе команды $ sudo apt-get -y build-dep squid3
    Выдает:
    Чтение списков пакетов… Готово
    E: Невозможно найти пакет с исходным кодом для squid3
    Как можно это исправить?

  • Добрый день! Спасибо огромное за ваши подробнейшие статьи:)
    Подскажите пожалуйста, есть ли нюансы при обновлении squid 3.5.8 до 4.13?
    Стоит Ubuntu 14.04

  • «Squid будет у нас работать в обычном режиме. (В идеале хотелось бы конечно работать по прозрачному протоколу, но как только не пытался, не удается завернуть трафик с Mikrotik на Squid на прозрачные порты 80, 443, поэтому я остановился на работе по обычному режиму работы Squid).»
    А что такое «обычный режим»? С указанием адреса прокси в браузерах?
    Я так понял, что сквид у вас подключен либо к коммутаторы, либо к бриджу микротике, тому же самому, что и вся подсеть. А если пользователи уберут из конфигов браузеров указание ходить через прокси, они же пойдут без контроля? Ведь для этого не нужны права администратора компьютера (если только не используется ослик, а хосты с доменной политикой). При транспарентом режиме мы на бридже могли бы заблокировать обращение к портам 80 и 443, а здесь у нас такой возможности нет.

  • Вопрос такой, поставил систему Ubuntu 18.04 + squid Version 3.5.27 + поддержка https
    все работает и все замечательно, но вот захотел я тут оплатить с сайта билеты и при клике на кнопку оплатить страница улетела в ошибку ))))

    по логам смотрю нет с этого ip каких то ошибок и все сайты с кодом 200

    Но подозреваю что проблема с ssl сертификтаом.

    Какие могут быть нюансы с генерацией сертификата который мы создаем на сервере squid при работе с HTTPS/

    Заранее спасибо!

    • Это ответ на комментарий Виталий

      Если честно, то я давно уже не использую https в кальмаре, т.к. мне на текущий момент хватает простого контроля посещения сайтов, а что делаю пользователи конкретно при запросах на https сайты мне не особо интересно.

      Не смогу вам помочь в данном вопросе..

  • Хм.. почему то ругается на сертификат
    admen@proxy:~$ /usr/sbin/squid -NCd1

    2019/08/09 11:54:59| FATAL: No valid signing certificate configured for HTTPS_port 192.168.1.175:3129
    2019/08/09 11:54:59| Squid Cache (Version 4.8): Terminated abnormally.
    CPU Usage: 0.011 seconds = 0.008 user + 0.004 sys
    Maximum Resident Size: 59328 KB
    Page faults with physical i/o: 0

  • # Путь к списку IP-адресов пользователей, для которых не действуют запреты
    acl AdminsIP src «/etc/squid/AdminsIP.txt»

    Тут у вас указаны айпишники, а как указать группу из AD, чтобы рулить не конкретными машинами, а авторизованными пользователями?
    Вы там выше в комментах где-то писали, что вы управляете группами из AD

  • Я немного не понял этот момент:
    # Подключения через прозрачный порт
    http_port 192.168.5.2:3128 intercept options=NO_SSLv3:NO_SSLv2
    # Подключение через указания прокси-сервера на стороне клиента
    http_port 192.168.5.2:3130 options=NO_SSLv3:NO_SSLv2
    # Подключение по HTTPS через прозрачный порт с параметрами подставки сертификата
    https_port 192.168.5.2:3129 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/etc/squid/squidca.pem
    # Принимаем сертификаты, даже если они не прошли проверку.

    А дальше у вас: «В моем случае осталось прописать на ПК пользователей в Свойствах обозревателя, параметры прокси-сервера и проверить работу.»

    Так у нас HTTPS заработал или нет?
    Щас вот по статье делаю и через настройки на клиентах работает, а по-другому — нет.

  • Так у вас же за комментирована строка для блокировки сайтов из списка:

    # Блокировать запрещенные сайты
    # http_access deny BlackList

    снимите комментарий перед
    http_access deny BlackList

  • Вот тут:

    acl blocked ssl::server_name «/etc/squid/acl/black_list»

    Измените ковычки с «» на ""

    И попробуйте

    • Это ответ на комментарий Жаконда

      Замените пожалуйста предыдущий мой комментарий ( не хочу кэширования в яндексе) на
      .odnoklassniki.ru
      .ok.ru
      .vk.me
      .vk.com
      .vk.ru
      .vk.me
      .vk.cc
      .vkadre.ru
      .vkuservideo.net
      .facebook.com
      .mycdn.me
      А ковычкие нормальные , видимо такой текстовый редактор в вродпрессе

      • Это ответ на комментарий Игорь

        Покажите ACL-ы все в конфиге, с виду вроде правильно все.

  • .odnoklassniki.ru
    .ok.ru
    .vk.me
    .vk.com
    .vk.ru
    .vk.me
    .vk.cc
    .vkadre.ru
    .vkuservideo.net
    .facebook.com
    .mycdn.me

Постраничная навигация комментариев