Всем добра!
Итак есть Squid Version 3.3.8 на Ubuntu 13.10
пользователей прокси 100+, NTLM авторизация, разграничение прав доступа по доменным группам.Все работало как часы, все всем устраивало, но возникла необходимость более серьезно ограничивать доступ в интернет, а точнее блокировка мультимедийного трафика, и ограничение скачивания по расширению.
Написал ACLки, подоткнул в конфиг ограничения, все правила отрабатывают на ура, именно так как было нужно. Но после введения этих ACL спустя минут 30-60, начинает тормозить у пользователей инетрнет, каждая страница грузится около минуты, в общем работать становится невозможно. Отключаешь http_reply_access и спустя минут 15 скорость открытия страниц возвращается в норму.
В логах одно время сыпались варнинги про недостаток процессов wbinfo_group.pl
дописал ttl=120 children=15 ошибки из лога ушли, стало чуть чуть легче. но всетаки далеко от удовлетворительного.
при активной работе загрзка процессора не поднимается выше 20% оперативной памяти занимается не больше 2.5 гиг.
Ворос: Куда смотреть, что менять?
собственно листинг конфига (практически без изменений)
# OPTIONS FOR AUTHENTICATION
# -----------------------------------------------------------------------------
# TAG: auth_param
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --domain=domain.LOCAL
auth_param ntlm children 50
auth_param ntlm keep_alive on
authenticate_cache_garbage_interval 1 hour
authenticate_ttl 1 hour
acl domain proxy_auth REQUIRED
# -----------------------------------------------------------------------------
# TAG: external_acl_type
external_acl_type nt_group ttl=120 children=15 %LOGIN /usr/lib/squid3/wbinfo_group.pl
# TAG: acl
#================================================================================
acl l-inet-MD external nt_group g-inet-MD
acl l-inet-test external nt_group l-inet-test
acl l-inet-LD external nt_group g-inet-L
acl l-inet-BD external nt_group g-inet-BD
acl l-inet-GS external nt_group g-inet-GS
acl l-inet-FD external nt_group g-inet-FD
acl l-inet-ID external nt_group g-inet-ID
acl l-inet-HD external nt_group g-inet-HD
acl l-inet-HC external nt_group g-inet-HC
acl l-inet-AIM external nt_group g-inet-AIM
acl l-inet-ADM external nt_group g-inet-ADM
acl l-inet-admin external nt_group g-inet-admin
acl l-inet-1C external nt_group g-inet-1C
acl l-inet-UD external nt_group g-inet-UD
acl l-inet-vk external nt_group g-inet-vk
acl l-inet-DIR external nt_group g-inet-DIR
acl l-inet-piter external nt_group g-inet-piter
#=================================================================================
#acl manager proto cache_object
#acl localhost src 127.0.0.1/32 ::1
#acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl localnet src 172.16.0.0/16
acl term_srv src 172.16.1.220 172.16.3.4
acl everyone src all
#=================================================================================
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 ICQ_ports port 5190 # ICQ
#================================================================================
acl CONNECT method CONNECT
#=============================================================================
acl zabbix url_regex ^http://zabbix
acl srvcis url_regex ^http://srvcis
acl otrs url_regex ^http://otrs
acl domain_local url_regex ^https://.domain.local
#acl time_socnet_evning time 18:00-20:00
## The videos come from several domains
acl noftp proto FTP
#=============================================================================
# DENY LTS
acl anonim dstdomain \
"/usr/local/etc/squid/access/anonimaizers"
acl deny_services dstdomain \
"/usr/local/etc/squid/access/deny_services"
acl deny_sites dstdomain \
"/usr/local/etc/squid/access/deny_sites"
acl deny_socnet dstdomain \
"/usr/local/etc/squid/access/deny_socnet"
acl job_socnet dstdomain \
"/usr/local/etc/squid/access/job_socnet"
acl porno dstdomain \
"/usr/local/etc/squid/access/porno"
acl deny_url dstdomain \
"/usr/local/etc/squid/access/deny_url"
acl dot_domain dstdomain \
"/usr/local/etc/squid/access/dot_domain"
acl top dstdomain \
"/usr/local/etc/squid/access/users_top"
acl allow_sites dstdomain \
"/usr/local/etc/squid/access/allow_sites"
acl allow_GS dstdomain \
"/usr/local/etc/squid/access/allow_GD"
acl allow_AIM dstdomain \
"/usr/local/etc/squid/access/allow_AIM"
#acl vk dstdomain \
# "/usr/local/etc/squid/access/vk"
acl L_deny dstdomain \
"/usr/local/etc/squid/access/L_deny"
acl term_allow dstdomain \
"/usr/local/etc/squid/access/term_allow"
#acl deny_AIM dstdomain \
# "/usr/local/etc/squid/access/deny_AIM"
#acl блокировка скаивания по расширению файла
acl extension_files urlpath_regex -i "/usr/local/etc/squid/access/download_access/extension_files"
#блокировка скачивания файлов для приложений по типу файла (mp3, tar, torrent Блокировка мультимедийного флеш)
acl tipe_application rep_mime_type -i "/usr/local/etc/squid/access/download_access/tipe_application"
#Блокировка потокового аудио
acl tipe_audio rep_mime_type -i "/usr/local/etc/squid/access/download_access/tipe_audio"
#Блокировка потокового видео
acl tipe_video rep_mime_type -i "/usr/local/etc/squid/access/download_access/tipe_video"
#^application/x-shockwave-flash$
#acl not_media rep_mime_type content-type video
# TAG: http_access
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#===============================================================================
#http_access deny localnet
#http_access allow localnet
#http_access allow localhost
#http_access allow manager localhost
#http_access deny to_localhost
#http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#http_replay_access deny not_media
#+++++++++++++++++++++++++++++++++++++++
http_access deny term_srv !term_allow
#+++++++++++++++++++++++++++++++++++++++
#+++ Иcключения из запрещающего списка для всех авторизованных пользователей
http_access allow domain allow_sites
#+++ Разрешения по групам (Приоритет выше запрещений по спискам)
http_access deny l-inet-ID job_socnet
http_access allow l-inet-MD
http_reply_access allow l-inet-MD tipe_audio
http_reply_access allow l-inet-MD tipe_video
http_access allow l-inet-BD
http_access allow l-inet-DIR
http_access deny l-inet-LD LD_deny
http_access allow l-inet-ADM job_socnet
http_access allow l-inet-vk job_socnet
http_access allow l-inet-GD allow_GS
http_access allow l-inet-GD job_socnet
http_access allow l-inet-admin
http_access allow l-inet-AIM
http_reply_access allow l-inet-AIM tipe_video
# +++ Запретить пользователям домена ниже приведенные списки +++
http_access deny domain deny_socnet
http_access deny domain deny_services
http_access deny domain dot_domain
http_access deny domain deny_url
http_access deny domain anonim
http_access deny domain deny_url
http_access deny domain porno
http_access deny domain job_socnet
# запрет на скачивание по расширению и по типу
http_access deny domain extension_files
http_reply_access deny domain tipe_application
http_reply_access deny domain tipe_video
http_reply_access deny domain tipe_audio
# +++ Разрешить пользователям домена все что не вошло в списки выше +++
http_access allow domain
#---Запретить вообще все
#http_access deny domain
#=====DENY ALL======
# Запретить все не авторизованным пользователям
http_access deny everyone
http_access deny noftp
#================================================================================
# NETWORK OPTIONS
# -----------------------------------------------------------------------------
http_port 3128
# MEMORY CACHE OPTIONS
# -----------------------------------------------------------------------------
cache_mem 256 MB
maximum_object_size_in_memory 512 KB
# DISK CACHE OPTIONS
# -----------------------------------------------------------------------------
cache_dir ufs /var/spool/squid3 2048 16 256
cache_swap_low 90
cache_swap_high 95
# LOGFILE OPTIONS
# -----------------------------------------------------------------------------
access_log /var/log/squid3/access.log squid
cache_store_log none
logfile_rotate 2
# OPTIONS FOR TROUBLESHOOTING
# -----------------------------------------------------------------------------
cache_log /var/log/squid3/cache.log
debug_options ALL,1
coredump_dir /var/spool/squid3
# OPTIONS FOR TUNING THE CACHE
# -----------------------------------------------------------------------------
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
quick_abort_min 16 KB
quick_abort_max 16 KB
quick_abort_pct 95
# ADMINISTRATIVE PARAMETERS
# -----------------------------------------------------------------------------
cache_effective_user proxy
visible_hostname proxy.domain.local
# ERROR PAGE OPTIONS
# -----------------------------------------------------------------------------
error_directory /usr/share/squid-langpack/ru
# ICAP OPTIONS
# -----------------------------------------------------------------------------
icap_enable on
icap_preview_enable on
icap_preview_size 128
icap_send_client_ip on
icap_send_client_username on
icap_client_username_header X-Client-Username
icap_service service_req reqmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
adaptation_access service_req allow all
icap_service service_resp respmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
adaptation_access service_resp allow all
# DNS OPTIONS
# -----------------------------------------------------------------------------
dns_retransmit_interval 5 seconds
dns_timeout 2 minutes
dns_nameservers 172.16.1.1 172.16.1.11 8.8.8.8
hosts_file /etc/hosts