imported>Vix |
imported>Vix |
Строка 1: |
Строка 1: |
| Данная инструкция позволяет скомпилировать как х86, так и х64 версии Squid'a и создать соответствующие пакеты. Инструкция будет разбита на несколько пунктов и подпунктов. Если интересно, идем под кат:<br>
| | '''Установка и настройка''' |
| '''1.''' Подготовка.<br> | |
| '''1.1''' Для начала, подготовимся к сборке пакетов:
| |
| apt-get install git fakeroot checkinstall build-essential devscripts patch
| |
| apt-cache policy squid3
| |
| apt-get build-dep squid3
| |
| apt-get build-dep libecap2
| |
| apt-get install libssl-dev libgnutls28-dev
| |
|
| |
|
| Не забудьте перейти в ту папку, где вы будете собирать исходники, чтобы не загадить себе Хоум.
| | Прежде всего обновите локальный список пакетов с помощью вашего пакетного менеджера, например на Ubuntu и Debian это можно сделать с помощью apt: |
| | |
| '''1.2''' Далее скачаем Libressl:
| |
| wget http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.1.6.tar.gz
| |
| tar -xzvf libressl-2.1.6.tar.gz
| |
| cd libressl-2.1.6
| |
| | |
| '''1.3''' А теперь собираем:
| |
| ./configure
| |
| make
| |
| checkinstall --pkgname libressl --pkgversion 2.1.6
| |
| | |
| '''2.''' Теперь можно установить Libressl:
| |
| dpkg -i libressl_2.1.6-1_amd64.deb
| |
| ldconfig
| |
| | |
| | |
| '''2.1''' После установки необходимо настроить использование LibreSSL по-умолчанию:
| |
| 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
| |
| update-alternatives --config openssl
| |
| | |
| '''*''' Проверим, получилось ли поставить Libressl:
| |
| openssl version
| |
| LibreSSL 2.1.6
| |
| | |
| Если выхлоп консоли похожий, то все получилось. Идем дальше.
| |
| | |
| '''3.''' На очереди Libecap.<br>
| |
| '''3.1''' Необходимо отредактировать sources.list, включив туда исходники из ветки testing (это необходимо, так как нам нужно компилировать новый libecap, который в свою очередь необходим для сборки Squid):
| |
| deb-src http://ftp.de.debian.org/debian/ testing main contrib non-free
| |
| | |
| '''3.2''' Обновим кеш пакетов:
| |
| apt-get update | | apt-get update |
|
| |
|
| '''3.3''' А теперь скачаем из Testing нужные исходники:
| | Для установки выполните команду: |
| apt-get source libecap3/testing | | apt-get install exim4 |
|
| |
|
| '''3.4''' Далее соберем libecap:
| | Примечание: если вам необходимо использовать ACL и другие расширенные функции, то установите exim4-daemon-heavy: |
| cd libecap-1.0.1/
| | apt-get install exim4-daemon-heavy |
| dpkg-buildpackage -us -uc -nc -d | |
|
| |
|
| '''3.5''' Удалим старье, и установим новье:
| | Чтобы перейти к настройке, выполните команду: |
| apt-get purge libecap2 | | dpkg-reconfigure exim4-config |
| libecap3_1.0.1-2_amd64.deb
| |
| libecap3-dev_1.0.1-2_amd64.deb
| |
|
| |
|
| '''4.''' Подобрались к компиляции самого Squid'a.<br>
| | Нажмите Ok для начала настройки. |
| '''4.1''' Качаем последний самый работающий снэпшот Squid'a:
| | '''РЕШЕНИЕ ПРОБЛЕМ''' |
| wget http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.8.tar.gz
| | <hr> |
| | | * '''defer (-53): retry time not reached for any host''' |
| '''4.2''' Распакуем:
| | Повреждены ваши exim db Это возможно связанно с недоступостью почтового сервера какой-то время. |
| tar -xf squid-3.5.8.tar.gz
| |
| cd squid-3.5.8
| |
| | |
| '''4.3''' Качаем патч для bio.cc, и патчим:
| |
| wget -O bug-4330-put_cipher_by_char-t1.patch http://bugs.squid-cache.org/attachment.cgi?id=3216
| |
| patch -p0 -i bug-4330-put_cipher_by_char-t1.patch
| |
| » patching file src/ssl/bio.cc
| |
| | |
| '''5.''' А этот этап один из самых ответственных. Необходимо сконфигурировать Squid с нужными опциями. В предыдущей статье использовался файл debian/rules, но компилировать Squid в этой инструкции мы будем с помощью make, и создавать пакеты будем с помощью checkinstall. Поэтому опций будет побольше. И вот какие: | |
| ./configure --build=x86_64-linux-gnu \
| |
| --prefix=/usr \
| |
| --includedir=${prefix}/include \
| |
| --mandir=${prefix}/share/man \
| |
| --infodir=${prefix}/share/info \
| |
| --sysconfdir=/etc \
| |
| --localstatedir=/var \
| |
| --libexecdir=${prefix}/lib/squid \
| |
| --srcdir=. \
| |
| --disable-maintainer-mode \
| |
| --disable-dependency-tracking \
| |
| --disable-silent-rules \
| |
| --datadir=/usr/share/squid \
| |
| --sysconfdir=/etc/squid \
| |
| --mandir=/usr/share/man \
| |
| --enable-inline \
| |
| --disable-arch-native \
| |
| --enable-async-io=8 \
| |
| --enable-storeio=ufs,aufs,diskd,rock \
| |
| --enable-removal-policies=lru,heap \
| |
| --enable-delay-pools \
| |
| --enable-cache-digests \
| |
| --enable-icap-client \
| |
| --enable-follow-x-forwarded-for \
| |
| --enable-auth-basic=DB,fake,getpwnam,LDAP,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB \
| |
| --enable-auth-digest=file,LDAP \
| |
| --enable-auth-negotiate=kerberos,wrapper \
| |
| --enable-auth-ntlm=fake,smb_lm \
| |
| --enable-external-acl-helpers=file_userip,kerberos_ldap_group,LDAP_group,session,SQL_session,unix_group,wbinfo_group \
| |
| --enable-url-rewrite-helpers=fake \
| |
| --enable-eui \
| |
| --enable-esi \
| |
| --enable-icmp \
| |
| --enable-zph-qos \
| |
| --enable-ecap \
| |
| --disable-translation \
| |
| --with-swapdir=/var/spool/squid \
| |
| --with-logdir=/var/log/squid \
| |
| --with-pidfile=/var/run/squid.pid \
| |
| --with-filedescriptors=65536 \
| |
| --with-large-files \
| |
| --with-default-user=proxy \
| |
| --enable-ssl \
| |
| --enable-ssl-crtd \
| |
| --with-openssl \
| |
| --enable-linux-netfilter \
| |
| 'CFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wall' \
| |
| 'LDFLAGS=-fPIE -pie -Wl,-z,relro -Wl,-z,now' \
| |
| 'CPPFLAGS=-D_FORTIFY_SOURCE=2' \
| |
| 'CXXFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security'
| |
| | |
| '''*''' Будьте предельно внимательны. Нас больше интересуют, как и в предыдущей статье, три опции: --enable-ssl, --enable-ssl-crtd, --with-openssl. Остальные опции можете изменять в соответствие с вашими предпочтениями (если хотите их менять, обязательно прочитайте документацию по конфигурированию).
| |
| | |
| '''6.''' Теперь мы добрались до компилирования.
| |
| '''6.1''' Компилируем.
| |
| make
| |
| | |
| '''6.2''' Неоднозначный этап. Необходимо создать директории /usr/share/squid/ и /usr/share/squid/icons, иначе следующий этап не выполнится из-за отсутствия этих папок (почему checkinstall их сам не создает, я не разбирался, к сожалению):
| |
| mkdir -p /usr/share/squid/icons
| |
| | |
| '''6.3''' А теперь создаем установочные пакеты: | |
| checkinstall --pkgname squid --pkgversion 3.5.8
| |
| | |
| '''7.''' Мы подходим к финалу. Устанавливаем Squid:
| |
| dpkg -i squid_3.5.8-1_amd64.deb
| |
| | |
| '''8.''' Пробуем запустить squid:
| |
| systemctl start squid
| |
| | |
| '''*''' И видим большую ФИГУ! Надо же… Пробуем по-старинке:
| |
| service squid start
| |
| | |
| '''*''' И тоже видим большую ФИГУ. Почему? Потому что checkinstall не включил в пакет файлы сервиса Squid. Не беда. <br>
| |
| '''8.1''' Создадим сами нужный сервис systemd:
| |
| touch /etc/systemd/system/squid.service
| |
| nano /etc/systemd/system/squid.service
| |
| | |
| '''*''' Со следующим содержимым:
| |
| | |
| ## Copyright (C) 1996-2015 The Squid Software Foundation and contributors
| |
| ##
| |
| ## Squid software is distributed under GPLv2+ license and includes
| |
| ## contributions from numerous individuals and organizations.
| |
| ## Please see the COPYING and CONTRIBUTORS files for details.
| |
| ##
| |
|
| |
| [Unit]
| |
| Description=Squid Web Proxy Server
| |
| After=network.target
| |
|
| |
| [Service]
| |
| Type=simple
| |
| ExecStart=/usr/sbin/squid -sYC -N
| |
| ExecReload=/bin/kill -HUP $MAINPID
| |
| KillMode=process
| |
|
| |
| [Install]
| |
| WantedBy=multi-user.target
| |
|
| |
| '''8.2''' Включим созданный сервис
| |
| systemctl enable squid
| |
| | |
| '''9.''' Да, вы правы, это еще не все. Так как мы компилировали полностью оригинальные исходники (за исключением патча на bio.cc), конфигурационные файлы у нас установились вида squid.conf.default, mime.conf.default и т.п. Конечно же, Squid о них и не слышал. Переименуем их в Squid'очитаемый вид:
| |
| cp /etc/squid/squid.conf.default /etc/squid/squid.conf
| |
| cp /etc/squid/mime.conf.default /etc/squid/mime.conf
| |
| cp /etc/squid/cachemgr.conf.default /etc/squid/cachemgr.conf
| |
| cp /etc/squid/errorpage.css.default /etc/squid/errorpage.css
| |
| | |
| '''10.''' И это еще не все=) Необходимо вручную создать папку для логов Squid'a и назначить ей соответствующие права:
| |
| mkdir /var/log/squid
| |
| chown proxy /var/log/squid
| |
|
| |
|
| '''11.''' И вот он — финальный этап. Запуск Squid'a и проверка статуса сервиса! | | '''решение:''' |
| systemctl start squid
| |
|
| |
|
| systemctl status -l squid | | cd /var/spool/exim/db |
| ● squid.service - Squid Web Proxy Server
| | rm -f retry retry.lockfile |
| Loaded: loaded (/etc/systemd/system/squid.service; enabled)
| | rm -f wait-remote_smtp wait-remote_smtp.lockfile |
| Active: active (running) since Пт 2015-12-04 23:32:04 YEKT; 2min 41s ago
| | service exim restart |
| Main PID: 590 (squid)
| |
| CGroup: /system.slice/squid.service
| |
| ├─590 /usr/sbin/squid -sYC -N
| |
| └─591 (logfile-daemon) /var/log/squid/access.log
| |
| | |
| дек 04 23:32:04 squidX64 squid[590]: Max Swap size: 0 KB
| |
| дек 04 23:32:04 squidX64 squid[590]: Using Least Load store dir selection
| |
| дек 04 23:32:04 squidX64 squid[590]: Current Directory is /
| |
| дек 04 23:32:04 squidX64 squid[590]: Finished loading MIME types and icons.
| |
| дек 04 23:32:04 squidX64 squid[590]: HTCP Disabled.
| |
| дек 04 23:32:04 squidX64 squid[590]: Pinger socket opened on FD 16
| |
| дек 04 23:32:04 squidX64 squid[590]: Squid plugin modules loaded: 0
| |
| дек 04 23:32:04 squidX64 squid[590]: Adaptation support is off.
| |
| дек 04 23:32:04 squidX64 squid[590]: Accepting HTTP Socket connections at local=[::]:3128 remote=[::] FD 14 flags=9
| |
| дек 04 23:32:05 squidX64 squid[590]: storeLateRelease: released 0 objects
| |
|
| |
| '''*''' Если выхлоп консоли выглядит похоже, а точнее в нем нет ошибок и обязательно присутствует строка «Active: active (running)», то вы успешно установили себе Squid с поддержкой прозрачного проксирования HTTPS! Поздравляю!
| |
|
| |
|
| '''*''' Для запуска в Debian через /etc/init.d - за основу взят родной скрипт:
| | В дальнейшим имеет смысл: внести изменения в /etc/exim/exim.conf |
| #! /bin/sh
| | в раздел |
| #
| |
| # squid Startup script for the SQUID HTTP proxy-cache.
| |
| #
| |
| # Version: @(#)squid.rc 1.0 07-Jul-2006 luigi@debian.org
| |
| #
| |
| # pidfile: /var/run/squid.pid
| |
| #
| |
| ### BEGIN INIT INFO
| |
| # Provides: squid
| |
| # Required-Start: $network $remote_fs $syslog
| |
| # Required-Stop: $network $remote_fs $syslog
| |
| # Should-Start: $named
| |
| # Should-Stop: $named
| |
| # Default-Start: 2 3 4 5
| |
| # Default-Stop: 0 1 6
| |
| # Short-Description: Squid HTTP Proxy version 3.x
| |
| ### END INIT INFO
| |
|
| |
| NAME=squid
| |
| DESC="Squid HTTP Proxy"
| |
| DAEMON=/usr/sbin/squid
| |
| PIDFILE=/var/run/$NAME.pid
| |
| CONFIG=/etc/squid/squid.conf
| |
| SQUID_ARGS="-YC -f $CONFIG"
| |
|
| |
| [ ! -f /etc/default/squid ] || . /etc/default/squid
| |
|
| |
| . /lib/lsb/init-functions
| |
|
| |
| PATH=/bin:/usr/bin:/sbin:/usr/sbin
| |
|
| |
| [ -x $DAEMON ] || exit 0
| |
|
| |
| ulimit -n 65535
| |
|
| |
| find_cache_dir () {
| |
| w=" " # space tab
| |
| res=`$DAEMON -k parse -f $CONFIG 2>&1 |
| |
| grep "Processing:" |
| |
| sed s/.*Processing:\ // |
| |
| sed -ne '
| |
| s/^['"$w"']*'$1'['"$w"']\+[^'"$w"']\+['"$w"']\+\([^'"$w"']\+\).*$/\1/p;
| |
| t end;
| |
| d;
| |
| :end q'`
| |
| [ -n "$res" ] || res=$2
| |
| echo "$res"
| |
| }
| |
|
| |
| grepconf () {
| |
| w=" " # space tab
| |
| res=`$DAEMON -k parse -f $CONFIG 2>&1 |
| |
| grep "Processing:" |
| |
| sed s/.*Processing:\ // |
| |
| sed -ne '
| |
| s/^['"$w"']*'$1'['"$w"']\+\([^'"$w"']\+\).*$/\1/p;
| |
| t end;
| |
| d;
| |
| :end q'`
| |
| [ -n "$res" ] || res=$2
| |
| echo "$res"
| |
| }
| |
|
| |
| create_run_dir () {
| |
| run_dir=/var/run/squid
| |
| usr=`grepconf cache_effective_user proxy`
| |
| 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
| |
| }
| |
|
| |
| start () {
| |
| cache_dir=`find_cache_dir cache_dir`
| |
| cache_type=`grepconf cache_dir`
| |
| run_dir=/var/run/squid
| |
|
| |
| #
| |
| # Create run dir (needed for several workers on SMP)
| |
| #
| |
| create_run_dir
| |
|
| |
| #
| |
| # 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
| |
| [ -x /sbin/restorecon ] && restorecon -R $cache_dir
| |
| fi
| |
|
| |
| umask 027
| |
| ulimit -n 65535
| |
| cd $run_dir
| |
| start-stop-daemon --quiet --start \
| |
| --pidfile $PIDFILE \
| |
| --exec $DAEMON -- $SQUID_ARGS < /dev/null
| |
| return $?
| |
| }
| |
|
| |
| stop () {
| |
| PID=`cat $PIDFILE 2>/dev/null`
| |
| start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON
| |
| #
| |
| # Now we have to wait until squid has _really_ stopped.
| |
| #
| |
| sleep 2
| |
| if test -n "$PID" && kill -0 $PID 2>/dev/null
| |
| then
| |
| log_action_begin_msg " Waiting"
| |
| cnt=0
| |
| while kill -0 $PID 2>/dev/null
| |
| do
| |
| cnt=`expr $cnt + 1`
| |
| if [ $cnt -gt 24 ]
| |
| then
| |
| log_action_end_msg 1
| |
| return 1
| |
| fi
| |
| sleep 5
| |
| log_action_cont_msg ""
| |
| done
| |
| log_action_end_msg 0
| |
| return 0
| |
| else
| |
| return 0
| |
| fi
| |
| }
| |
|
| |
| cfg_pidfile=`grepconf pid_filename`
| |
| if test "${cfg_pidfile:-none}" != "none" -a "$cfg_pidfile" != "$PIDFILE"
| |
| then
| |
| log_warning_msg "squid.conf pid_filename overrides init script"
| |
| PIDFILE="$cfg_pidfile"
| |
| fi
| |
|
| |
| case "$1" in
| |
| start)
| |
| res=`$DAEMON -k parse -f $CONFIG 2>&1 | grep -o "FATAL: .*"`
| |
| if test -n "$res";
| |
| then
| |
| log_failure_msg "$res"
| |
| exit 3
| |
| else
| |
| log_daemon_msg "Starting $DESC" "$NAME"
| |
| if start ; then
| |
| log_end_msg $?
| |
| else
| |
| log_end_msg $?
| |
| fi
| |
| fi
| |
| ;;
| |
| stop)
| |
| log_daemon_msg "Stopping $DESC" "$NAME"
| |
| if stop ; then
| |
| log_end_msg $?
| |
| else
| |
| log_end_msg $?
| |
| fi
| |
| ;;
| |
| reload|force-reload)
| |
| res=`$DAEMON -k parse -f $CONFIG 2>&1 | grep -o "FATAL: .*"`
| |
| if test -n "$res";
| |
| then
| |
| log_failure_msg "$res"
| |
| exit 3
| |
| else
| |
| log_action_msg "Reloading $DESC configuration files"
| |
| start-stop-daemon --stop --signal 1 \
| |
| --pidfile $PIDFILE --quiet --exec $DAEMON
| |
| log_action_end_msg 0
| |
| fi
| |
| ;;
| |
| restart)
| |
| res=`$DAEMON -k parse -f $CONFIG 2>&1 | grep -o "FATAL: .*"`
| |
| if test -n "$res";
| |
| then
| |
| log_failure_msg "$res"
| |
| exit 3
| |
| else
| |
| log_daemon_msg "Restarting $DESC" "$NAME"
| |
| stop
| |
| if start ; then
| |
| log_end_msg $?
| |
| else
| |
| log_end_msg $?
| |
| fi
| |
| fi
| |
| ;;
| |
| status)
| |
| 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
| |
| ;;
| |
| esac
| |
|
| |
| exit 0
| |
| * - > который необходимо поместить в /etc/init.d/squid
| |
| и сделать:
| |
| update-rc.d squid default
| |
| теперь можно и запустить:
| |
| /etc/init.d/squid start
| |
| * -> для systemd необходимо исправить:
| |
| ## Copyright (C) 1996-2015 The Squid Software Foundation and contributors
| |
| ##
| |
| ## Squid software is distributed under GPLv2+ license and includes
| |
| ## contributions from numerous individuals and organizations.
| |
| ## Please see the COPYING and CONTRIBUTORS files for details.
| |
| ##
| |
| [Unit]
| |
| Description=Squid Web Proxy Server
| |
| After=network.target
| |
|
| |
| [Service]
| |
| Type=simple
| |
| #ExecStart=/usr/sbin/squid -sYC -N
| |
| ExecStart=/etc/init.d/squid start
| |
| #ExecReload=/bin/kill -HUP
| |
| ExecReload=/etc/init.d/squid restart
| |
| KillMode=process
| |
|
| |
| [Install]
| |
| WantedBy=multi-user.target
| |
| * и обновить правило:
| |
| systemctl daemon-reload
| |
|
| |
|
| * Теперь перезапуск возможен и через '''systemctl''' и через '''/etc/init.d''' | | begin retry |
| | * rcpt_451 F,1h,15m |
| | * refused F,1h,2m |
| | * timeout_connect F,2h,2m; F,6h,1h; F,4d,6h |
| | * * F,2h,2m; G,16h,1h,1.5; F,4d,6h |
|
| |
|
| '''*''' Если не хочется ничего компилировать, то можете скачать архив с готовыми deb пакетами (x64 версия!). Если будете устанавливать из готовых пакетов, то вам нужны будут шаги: 2, 3(б), 7, 8, 9, 10, 11.
| | также обратите внимание на запуск с какой опцией он стартует: -q5m |
| | * [https://www.linuxshop.ru/forum/f7/t31431--resheno-remote-smtp-defer-53-retry-time-not-reached-for-any-host-exchange-exim.html взято тут] |
|
| |
|
| '''*''' Также хочу отметить, что checkinstall позволяет создавать пакеты rpm, и вы можете этим воспользоваться. Единственное, нужно все пакеты собирать с помощью checkinstall, но я думаю, проблем с этим не будет, так как основное и самое сложное уже собрано именно checkinstall'ом.
| | * Для решения проблемы с ssl в exim4.conf.template изменить: |
| | ... |
| | REMOTE_SMTP_SMARTHOST_TLS_VERIFY_HOSTS = * |
|
| |
|
| * Пример рабочего /etc/squid/squid.conf
| | на |
| acl localnet src 192.168.5.0/24 # RFC1918 possible internal network | | ... |
| | | REMOTE_SMTP_SMARTHOST_TLS_VERIFY_HOSTS = !* |
| 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 591 # filemaker
| |
| acl Safe_ports port 777 # multiling http
| |
| acl CONNECT method CONNECT
| |
|
| |
| dns_nameservers 127.0.0.1
| |
| 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 192.168.5.1:3128 intercept
| |
| http_port 192.168.5.1:3130
| |
| https_port 192.168.5.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/blacklist_https.conf"
| |
| acl step1 at_step SslBump1
| |
| ssl_bump peek step1
| |
|
| |
| #терминируем соединение, если клиент заходит на запрещенный ресурс
| |
| #ssl_bump terminate blocked deny_users
| |
| #ssl_bump bump all
| |
| 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 512 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 256 KB
| |
| memory_replacement_policy lru
| |
| logfile_rotate 4
| |
|
| |
|
| * не забываем создать ssl сертификат для squid: | | * Если нужно жестко указать порт smtp, то: |
| | | ... |
| | dc_smarthost='mail.myhost.ru::25' |
| | ... |
|
| |
|
| '''ИСТОЧНИКИ:''' | | '''ИСТОЧНИКИ:''' |
| <hr> | | <hr> |
| * [https://habr.com/ru/post/272733/ «Прозрачный» Squid с фильтрацией HTTPS ресурсов без подмены сертификатов (х86, х64 — универсальная инструкция)] | | * [https://qna.habr.com/q/146009 Exim и внешний SMTP сервер, как заставить ходить почту?] |
| * [https://habr.com/ru/post/267851/ «Прозрачный» Squid с фильтрацией HTTPS ресурсов без подмены сертификатов (x86)] | | * [https://1cloud.ru/help/linux/nastrojka-exim4 Настройка EXIM4 для отправки почтовых сообщений в Linux] |
| | * [https://serverspace.by/support/help/nastroika-exim-4-na-ubuntu/ Ubuntu. Настройка Exim4] |