актуально на июль 2007 =)
Вторая часть хауту: http://butch.blog.ru/655921.html
конфиг, на котором все это крутится:
gate htdocs # uname -a
Linux gate 2.6.20-gentoo-r8 #1 Fri May 18 11:18:33 MSD 2007 i686 Intel(R) Celeron(R) CPU
2.53GHz GenuineIntel GNU/Linux
768 мв. ОЗУ
вполне себе обычный удма диск на 40гб.
Итак, не буду долго распинать по поводу того как я пришел именно к этой связке =) Просто
расскажу как заставить это работать и что какую роль выполняет.
Для начала необходимый софт:
squid - самый известный\мощный кеширующий http\ftp прокси
sams - система учета пользователей сквид
samba - нам нужен winbindd для реализации ntlm аутентификации
havp - антивирусный прокси. служит исключительно для проверки проходящего через него трафа на вири.
clamav - антивирусник.
mysql - база данных для хранения инфы о прошедшем через сквид трафе.
dante - соксы. для аськи =)
Все инстолится на gentoo, естественно с помощью emerge =)
==============================
итак, первым делом топаем на сайт sams http://sams.irc.perm.ru/ и читаем документацию. объем не очень большой, при этом в общих чертах думаю вам станет понятно зачем он нужен.
в кратце - самс читает логи сквида (через заданый интервал или непрерывно, я предпочел через заданый интервал) и заносит данные в мускул о посещенных страницах, объеме трафа и времени посещения. через веб морду самса мы добавляем пользователей, шаблоны для них и другие условия, можем настроить блокировку нежелательных страниц или баннеров, доступны несколько вариантов аутентификации, но в условиях предприятий актуальны два - ip и ntlm. возможности достаточно широки. управление сквидом происходит через добавление необходимых строк в его конфиг, не в ручную =) демон самса производит это по нажатию кнопки "Реконфигурировать" в веб-интерфейсе.
для реализации авторизации по ip фактически ничего не нужно =) для того чтобы работала ntlm авторизация в домене вин2000 необходимо завести линуховую тачку в домен. самбу нужно собрать с поддержкой winbindd.
начнем именно с этого.
==============================
gate ~ #emerge -s net-fs/samba
* net-fs/samba
Latest version available: 3.0.24-r3
Latest version installed: 3.0.24-r3
Size of files: 17,467 kB
Homepage:
Description: SAMBA is a suite of SMB and CIFS client/server programs for UNIX
License: GPL-2
вместо emerge -s вполне можно использовать eix. даж лучше =)
нашли. отлично =) теперь выясним какие use флаги нам нужны. доступны:
gate ~ # cat /usr/portage/net-fs/samba/samba-3.0.24-r3.ebuild | less
IUSE_LINGUAS="ja pl"
IUSE="acl async automount caps cups doc examples kerberos kernel_linux ldap fam
linguas_ja linguas_pl
oav pam python quotas readline selinux swat syslog winbind"
да. дибильный способ выяснить юз флаги =) согласен. в три раза удобнее:
gate ~ # eix net-fs/samba
[I] net-fs/samba
Available versions: 3.0.24-r3 {acl async automount caps cups doc examples fam kerberos kernel_linux ldap linguas_ja linguas_pl oav pam python quotas readline selinux swat syslog winbind}
Installed versions: 3.0.24-r3(12:06:16 06/04/07)(-acl -async -automount -caps -cups doc -examples -fam -kerberos kernel_linux ldap -linguas_ja -linguas_pl -oav pam python -quotas readline -selinux -swat -syslog winbind)
Homepage:
Description: SAMBA is a suite of SMB and CIFS client/server programs for UNIX
итак, убираем все лишнее типа купсов и кербероса и применяем необходимые юз флаги. это кстати можно сделать как минимум еще двумя способами ;)
gate ~ # cat /etc/portage/package.use | grep samba
net-fs/samba winbind -kerberos -cups doc
замечательно. далее собираем самбу. первоначально проверив, что будет собираться:
gate ~ #emerge -p net-fs/samba
и уже после собираем.
gate ~ #emerge net-fs/samba
после того как все успешно собралось ищем конфиги самбы и читаем. естествено прежде чем вносить изменения изучите что значит та или иная запись.
gate ~ # cat /etc/samba/smb.conf | grep --invert-match ^# | grep --invert-match ^;
[global]
workgroup = < имя вашего домена >
netbios name = < имя вашего компьютера >
server string = < необязательно >
log file = /var/log/samba/log.%m
max log size = 50
log level = 3
#указываем разрешенные хосты
hosts allow = 192.168.1. 192.168.0. 127.
map to guest = bad user
security = domain
password server = < указываем пассворд сервер >
encrypt passwords = yes
#разделитель для винбинда
winbind separator = +
#по умолчанию используем указанный домен
winbind use default domain = yes
template homedir = /home/%D/%U
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
template shell = /bin/bash
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
local master = no
#в хостс и лмхостс не забываем прописать свои контроллеры домена.
name resolve order = host lmhosts bcast
dns proxy = no
Надеюсь ничего лишнего не отсек =) вроде это тот минимум, что необходим для коректной работы нтлм авторизации.
далее стартуем сервис, читаем логи, если что не так - гуглим и читаем документацию.
gate ~ # /etc/init.d/samba start
если все ок - двигаемся дальше.
необходимо завести тачку в домен.
gate ~ # net join -u < логин админа домена >
вводим пароль учетки. читаем. я уж и не помню что должно вылезти тут =)
если вы скомпилировали самбу с керберосом то получите ряд ошибок. еще бы, ведь его мы не настраивали =) он и не нужен в нашем случае =)
далее стартуем винбиндд с дебаг левелом повыше. мы же желаем узнать все подробности =)
вполне возможно это нужно было сделать до пред.команды. сейчас уже не помню
gate ~ # winbindd -d9
далее проверяем, запущен ли он и нормально ли зашла тачка в домен:
gate ~ # wbinfo -p
Ping to winbindd succeeded on fd 4
gate ~ # wbinfo -t
checking the trust secret via RPC calls succeeded
можно теперь и группы посмотреть:
gate ~ # wbinfo -g
BUILTIN+administrators
BUILTIN+users
[..]
вообще wbinfo крайне полезная вещь. советую прочесть хотя бы wbinfo --help
Итак, необходимый приготовления сделаны.
==============================
теперь очередь сквида.
gate ~ # emerge -s squid
Searching...
[..]
* net-proxy/squid
Latest version available: 2.6.13-r1
Latest version installed: 2.6.13-r1
Size of files: 1,589 kB
Homepage:
Description: A full-featured web proxy cache
License: GPL-2
[..]
как уже говорил лучше юзать eix squid
какие юз флаги нам нужны:
доступные:
gate ~ # cat /usr/portage/net-proxy/squid/squid-2.6.13-r1.ebuild | less
IUSE="pam ldap samba sasl nis ssl snmp selinux logrotate qos zero-penalty-hit \
pf-transparent ipf-transparent \
elibc_uclibc kernel_linux"
уже описывал выше как с помощью eix это сделать удобнее ;)
необходимые:
gate ~ # cat /etc/portage/package.use | grep squid
net-proxy/squid samba pam -ldap
компилим, читаем доки. я буду писать только важные моменты настройки.
читаем теперь снова доки по самсе, а также двигаем на сайт havp а также не пропускаем фак на форуме этого проекта, и читаем как возможно пропихнуть хавп между сквидом. зовут они это дело сендвичом. зачем это нужно: в цепочке пользователь--сквид1--хавп--сквид2--инет первый сквид отвечает за ограничения и аутентификацию, при этом кешированием он не занимается, второй сквид2 занимается исключительно кэшированием, дабы самое медленное звено цепочки не сильно тормозило. речь кнчно же о хавпе. дабы он каждый раз не качал самостоятельно ресурсы ставим перед ним кеширующий прокси.
итак. конфиг первого сквида в цепочке:
gate ~ # cat /etc/squid/squid.conf | grep --invert-match ^#
#лишние строки я убрал, как и строки, внесенные самсом.
#пояснения будут только к строкам явно этого неуждающимся
http_port 3128
#итак, описание парент прокси. первая строка - хавп, вторая - второй скивд. зачем нужно указывать здесь второй сквид - далее
#так же не забываем параметр proxy-only
cache_peer 127.0.0.1 parent 8080 0 no-query no-digest no-netdb-exchange proxy-only default
cache_peer 127.0.0.2 parent 8081 0 no-query no-digest no-netdb-exchange proxy-only
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_mem 8 MB
maximum_object_size 4000 KB
minimum_object_size 0 KB
maximum_object_size_in_memory 8 KB
#изначально этот прокси был кеширующим. но после решения
#поднять второй сквид для кеша на этой тачке решено было отрубить кэш
#cache_dir aufs /var/cache/squid 1000 32 256
cache_dir null /dev/null
access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache_store_log none
pid_filename /var/run/squid.pid
debug_options ALL,1
ftp_passive off
check_hostnames off
dns_defnames off
hosts_file /etc/hosts
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443
#наконец то указываем хелпер, идущий в комплекте с самбой, ибо идущий
#со сквидом вместе нифига не работает с самбой версии 3.хх
#первым указываем нтлм авторизацию. она срабатывает соответсвенно первой
#при этом замечательно аворизуется автоматом ИЕ. это наверное одна из
#вкусных фишек
#второй идет бэйсик авторизация - все остальные клиенты должны предоставить
#имя пользователя и пароль доменного юзера
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 6
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 6
auth_param basic realm Please, enter your user name and password
auth_param basic credentialsttl 2 hours
refresh_pattern . 0 20% 4320
peer_connect_timeout 30 seconds
read_timeout 5 minutes
request_timeout 5 minutes
persistent_request_timeout 1 minute
client_lifetime 30 minutes
half_closed_clients off
shutdown_lifetime 10 seconds
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl to_localhost dst 127.0.0.0/8
acl thishost src 127.0.0.1/32
#этот лист необходим чтобы не кешировать отданный хавпом контент.
#зачем? чтобы вдруг не прокешировать пропущенный кламав вирь.
acl HAVP_PORT myport 8081
acl purge method PURGE
acl CONNECT method CONNECT
#этот лист содержит список того, что проверять на вири не нужно.
#с джпегами отдельный разговор. лучше их сканить, но тачка думаю тормозить будет
acl noscan urlpath_regex -i \.(jpe?g|gif|png|ico|swf|flv|pdf|bmp|mov|avi)$
acl proto_HTTP proto HTTP
acl Proto_HTTPS proto HTTPS
http_access allow thishost
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
http_reply_access allow all
icp_access allow all
#пытаемся отправить мимо хавпа картинки и прочее, не требующее проверки.
cache_peer_access 127.0.0.2 allow proto_https noscan
cache_peer_access 127.0.0.2 deny all
#все остальное пускаем через хавп
cache_peer_access 127.0.0.1 allow all
memory_pools off
via off
forwarded_for off
buffered_logs on
no_cache deny QUERY
no_cache deny CONNECT
#как и говорил, не кешируем ответы хавпа
no_cache deny !HAVP_PORT
#запрещаем ходить мимо парент прокси
never_direct allow all
header_access Via deny all
header_access via deny all
error_directory /usr/share/squid/errors/Russian-1251
prefer_direct off
strip_query_terms off
coredump_dir /var/cache/squid
pipeline_prefetch off
relaxed_header_parser on
==========================
вроде ничего не потерял =) не забываем что нам нужны описания тегов в коментариях для самса. так что не торопитесь копипастить мой конфиг. кстати, сначало я пытался заставить работать хавп с одним сквидом. но к сожалению происходило зацикливание аутентификации. крайне неприятная вещь. особенно если учесть что несколько дней все проработало именно в конфигурации с одним сквидом.
как назло все случилось когда я наконец вышел в отпуск. пришлось потратить два дня на ковыряние документации и безконечные реконфигуривания сквида.
отписался о проблеме на оф.сайте хавпа. подождал минут 15 и решил нафиг разделить сквид. в итоге висят две копии сквида. второй использует свои пид файл, логи и свой кэш. стартуется просто:
gate ~ # cat /etc/init.d/squid2
echo Squid2 starting...
squid -f /etc/squid/squid2.conf
можно было кнчно более интелектуально все сделать =) в мыслях именно такой был план, но после того как все благополучно завелось я тупо на это забил =)
второй конфиг сквида приводить не буду. там ничего принципиального.
=========================
не забываем установить мускул.
продолжение следует...
обновлено: добавлины небольшие изменения в конфигурации в соответсвии с коментариями. текст хоть как то оформлен.
Вторая часть хауту:
Вторая часть хауту: http://butch.blog.ru/655921.html
конфиг, на котором все это крутится:
gate htdocs # uname -a
Linux gate 2.6.20-gentoo-r8 #1 Fri May 18 11:18:33 MSD 2007 i686 Intel(R) Celeron(R) CPU
2.53GHz GenuineIntel GNU/Linux
768 мв. ОЗУ
вполне себе обычный удма диск на 40гб.
Итак, не буду долго распинать по поводу того как я пришел именно к этой связке =) Просто
расскажу как заставить это работать и что какую роль выполняет.
Для начала необходимый софт:
squid - самый известный\мощный кеширующий http\ftp прокси
sams - система учета пользователей сквид
samba - нам нужен winbindd для реализации ntlm аутентификации
havp - антивирусный прокси. служит исключительно для проверки проходящего через него трафа на вири.
clamav - антивирусник.
mysql - база данных для хранения инфы о прошедшем через сквид трафе.
dante - соксы. для аськи =)
Все инстолится на gentoo, естественно с помощью emerge =)
==============================
итак, первым делом топаем на сайт sams http://sams.irc.perm.ru/ и читаем документацию. объем не очень большой, при этом в общих чертах думаю вам станет понятно зачем он нужен.
в кратце - самс читает логи сквида (через заданый интервал или непрерывно, я предпочел через заданый интервал) и заносит данные в мускул о посещенных страницах, объеме трафа и времени посещения. через веб морду самса мы добавляем пользователей, шаблоны для них и другие условия, можем настроить блокировку нежелательных страниц или баннеров, доступны несколько вариантов аутентификации, но в условиях предприятий актуальны два - ip и ntlm. возможности достаточно широки. управление сквидом происходит через добавление необходимых строк в его конфиг, не в ручную =) демон самса производит это по нажатию кнопки "Реконфигурировать" в веб-интерфейсе.
для реализации авторизации по ip фактически ничего не нужно =) для того чтобы работала ntlm авторизация в домене вин2000 необходимо завести линуховую тачку в домен. самбу нужно собрать с поддержкой winbindd.
начнем именно с этого.
==============================
gate ~ #emerge -s net-fs/samba
* net-fs/samba
Latest version available: 3.0.24-r3
Latest version installed: 3.0.24-r3
Size of files: 17,467 kB
Homepage:
Description: SAMBA is a suite of SMB and CIFS client/server programs for UNIX
License: GPL-2
вместо emerge -s вполне можно использовать eix. даж лучше =)
нашли. отлично =) теперь выясним какие use флаги нам нужны. доступны:
gate ~ # cat /usr/portage/net-fs/samba/samba-3.0.24-r3.ebuild | less
IUSE_LINGUAS="ja pl"
IUSE="acl async automount caps cups doc examples kerberos kernel_linux ldap fam
linguas_ja linguas_pl
oav pam python quotas readline selinux swat syslog winbind"
да. дибильный способ выяснить юз флаги =) согласен. в три раза удобнее:
gate ~ # eix net-fs/samba
[I] net-fs/samba
Available versions: 3.0.24-r3 {acl async automount caps cups doc examples fam kerberos kernel_linux ldap linguas_ja linguas_pl oav pam python quotas readline selinux swat syslog winbind}
Installed versions: 3.0.24-r3(12:06:16 06/04/07)(-acl -async -automount -caps -cups doc -examples -fam -kerberos kernel_linux ldap -linguas_ja -linguas_pl -oav pam python -quotas readline -selinux -swat -syslog winbind)
Homepage:
Description: SAMBA is a suite of SMB and CIFS client/server programs for UNIX
итак, убираем все лишнее типа купсов и кербероса и применяем необходимые юз флаги. это кстати можно сделать как минимум еще двумя способами ;)
gate ~ # cat /etc/portage/package.use | grep samba
net-fs/samba winbind -kerberos -cups doc
замечательно. далее собираем самбу. первоначально проверив, что будет собираться:
gate ~ #emerge -p net-fs/samba
и уже после собираем.
gate ~ #emerge net-fs/samba
после того как все успешно собралось ищем конфиги самбы и читаем. естествено прежде чем вносить изменения изучите что значит та или иная запись.
gate ~ # cat /etc/samba/smb.conf | grep --invert-match ^# | grep --invert-match ^;
[global]
workgroup = < имя вашего домена >
netbios name = < имя вашего компьютера >
server string = < необязательно >
log file = /var/log/samba/log.%m
max log size = 50
log level = 3
#указываем разрешенные хосты
hosts allow = 192.168.1. 192.168.0. 127.
map to guest = bad user
security = domain
password server = < указываем пассворд сервер >
encrypt passwords = yes
#разделитель для винбинда
winbind separator = +
#по умолчанию используем указанный домен
winbind use default domain = yes
template homedir = /home/%D/%U
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
template shell = /bin/bash
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
local master = no
#в хостс и лмхостс не забываем прописать свои контроллеры домена.
name resolve order = host lmhosts bcast
dns proxy = no
Надеюсь ничего лишнего не отсек =) вроде это тот минимум, что необходим для коректной работы нтлм авторизации.
далее стартуем сервис, читаем логи, если что не так - гуглим и читаем документацию.
gate ~ # /etc/init.d/samba start
если все ок - двигаемся дальше.
необходимо завести тачку в домен.
gate ~ # net join -u < логин админа домена >
вводим пароль учетки. читаем. я уж и не помню что должно вылезти тут =)
если вы скомпилировали самбу с керберосом то получите ряд ошибок. еще бы, ведь его мы не настраивали =) он и не нужен в нашем случае =)
далее стартуем винбиндд с дебаг левелом повыше. мы же желаем узнать все подробности =)
вполне возможно это нужно было сделать до пред.команды. сейчас уже не помню
gate ~ # winbindd -d9
далее проверяем, запущен ли он и нормально ли зашла тачка в домен:
gate ~ # wbinfo -p
Ping to winbindd succeeded on fd 4
gate ~ # wbinfo -t
checking the trust secret via RPC calls succeeded
можно теперь и группы посмотреть:
gate ~ # wbinfo -g
BUILTIN+administrators
BUILTIN+users
[..]
вообще wbinfo крайне полезная вещь. советую прочесть хотя бы wbinfo --help
Итак, необходимый приготовления сделаны.
==============================
теперь очередь сквида.
gate ~ # emerge -s squid
Searching...
[..]
* net-proxy/squid
Latest version available: 2.6.13-r1
Latest version installed: 2.6.13-r1
Size of files: 1,589 kB
Homepage:
Description: A full-featured web proxy cache
License: GPL-2
[..]
как уже говорил лучше юзать eix squid
какие юз флаги нам нужны:
доступные:
gate ~ # cat /usr/portage/net-proxy/squid/squid-2.6.13-r1.ebuild | less
IUSE="pam ldap samba sasl nis ssl snmp selinux logrotate qos zero-penalty-hit \
pf-transparent ipf-transparent \
elibc_uclibc kernel_linux"
уже описывал выше как с помощью eix это сделать удобнее ;)
необходимые:
gate ~ # cat /etc/portage/package.use | grep squid
net-proxy/squid samba pam -ldap
компилим, читаем доки. я буду писать только важные моменты настройки.
читаем теперь снова доки по самсе, а также двигаем на сайт havp а также не пропускаем фак на форуме этого проекта, и читаем как возможно пропихнуть хавп между сквидом. зовут они это дело сендвичом. зачем это нужно: в цепочке пользователь--сквид1--хавп--сквид2--инет первый сквид отвечает за ограничения и аутентификацию, при этом кешированием он не занимается, второй сквид2 занимается исключительно кэшированием, дабы самое медленное звено цепочки не сильно тормозило. речь кнчно же о хавпе. дабы он каждый раз не качал самостоятельно ресурсы ставим перед ним кеширующий прокси.
итак. конфиг первого сквида в цепочке:
gate ~ # cat /etc/squid/squid.conf | grep --invert-match ^#
#лишние строки я убрал, как и строки, внесенные самсом.
#пояснения будут только к строкам явно этого неуждающимся
http_port 3128
#итак, описание парент прокси. первая строка - хавп, вторая - второй скивд. зачем нужно указывать здесь второй сквид - далее
#так же не забываем параметр proxy-only
cache_peer 127.0.0.1 parent 8080 0 no-query no-digest no-netdb-exchange proxy-only default
cache_peer 127.0.0.2 parent 8081 0 no-query no-digest no-netdb-exchange proxy-only
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_mem 8 MB
maximum_object_size 4000 KB
minimum_object_size 0 KB
maximum_object_size_in_memory 8 KB
#изначально этот прокси был кеширующим. но после решения
#поднять второй сквид для кеша на этой тачке решено было отрубить кэш
#cache_dir aufs /var/cache/squid 1000 32 256
cache_dir null /dev/null
access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache_store_log none
pid_filename /var/run/squid.pid
debug_options ALL,1
ftp_passive off
check_hostnames off
dns_defnames off
hosts_file /etc/hosts
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443
#наконец то указываем хелпер, идущий в комплекте с самбой, ибо идущий
#со сквидом вместе нифига не работает с самбой версии 3.хх
#первым указываем нтлм авторизацию. она срабатывает соответсвенно первой
#при этом замечательно аворизуется автоматом ИЕ. это наверное одна из
#вкусных фишек
#второй идет бэйсик авторизация - все остальные клиенты должны предоставить
#имя пользователя и пароль доменного юзера
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 6
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 6
auth_param basic realm Please, enter your user name and password
auth_param basic credentialsttl 2 hours
refresh_pattern . 0 20% 4320
peer_connect_timeout 30 seconds
read_timeout 5 minutes
request_timeout 5 minutes
persistent_request_timeout 1 minute
client_lifetime 30 minutes
half_closed_clients off
shutdown_lifetime 10 seconds
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl to_localhost dst 127.0.0.0/8
acl thishost src 127.0.0.1/32
#этот лист необходим чтобы не кешировать отданный хавпом контент.
#зачем? чтобы вдруг не прокешировать пропущенный кламав вирь.
acl HAVP_PORT myport 8081
acl purge method PURGE
acl CONNECT method CONNECT
#этот лист содержит список того, что проверять на вири не нужно.
#с джпегами отдельный разговор. лучше их сканить, но тачка думаю тормозить будет
acl noscan urlpath_regex -i \.(jpe?g|gif|png|ico|swf|flv|pdf|bmp|mov|avi)$
acl proto_HTTP proto HTTP
acl Proto_HTTPS proto HTTPS
http_access allow thishost
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
http_reply_access allow all
icp_access allow all
#пытаемся отправить мимо хавпа картинки и прочее, не требующее проверки.
cache_peer_access 127.0.0.2 allow proto_https noscan
cache_peer_access 127.0.0.2 deny all
#все остальное пускаем через хавп
cache_peer_access 127.0.0.1 allow all
memory_pools off
via off
forwarded_for off
buffered_logs on
no_cache deny QUERY
no_cache deny CONNECT
#как и говорил, не кешируем ответы хавпа
no_cache deny !HAVP_PORT
#запрещаем ходить мимо парент прокси
never_direct allow all
header_access Via deny all
header_access via deny all
error_directory /usr/share/squid/errors/Russian-1251
prefer_direct off
strip_query_terms off
coredump_dir /var/cache/squid
pipeline_prefetch off
relaxed_header_parser on
==========================
вроде ничего не потерял =) не забываем что нам нужны описания тегов в коментариях для самса. так что не торопитесь копипастить мой конфиг. кстати, сначало я пытался заставить работать хавп с одним сквидом. но к сожалению происходило зацикливание аутентификации. крайне неприятная вещь. особенно если учесть что несколько дней все проработало именно в конфигурации с одним сквидом.
как назло все случилось когда я наконец вышел в отпуск. пришлось потратить два дня на ковыряние документации и безконечные реконфигуривания сквида.
отписался о проблеме на оф.сайте хавпа. подождал минут 15 и решил нафиг разделить сквид. в итоге висят две копии сквида. второй использует свои пид файл, логи и свой кэш. стартуется просто:
gate ~ # cat /etc/init.d/squid2
echo Squid2 starting...
squid -f /etc/squid/squid2.conf
можно было кнчно более интелектуально все сделать =) в мыслях именно такой был план, но после того как все благополучно завелось я тупо на это забил =)
второй конфиг сквида приводить не буду. там ничего принципиального.
=========================
не забываем установить мускул.
продолжение следует...
обновлено: добавлины небольшие изменения в конфигурации в соответсвии с коментариями. текст хоть как то оформлен.
Вторая часть хауту:
