URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 6308
[ Назад ]

Исходное сообщение
"Squid+Sams"

Отправлено technolog , 05-Фев-10 15:22 
День добрый!
Установлены на FreeBSD 7.1-RELEASE:
squid-3.0.21
sams-1.0.5,1

cat /usr/local/etc/sams.conf
[client]
SQUID_DB=squidlog
SAMS_DB=*********
MYSQLHOSTNAME=localhost
MYSQLUSER=*********
MYSQLPASSWORD=*********
MYSQLVERSION=5.0
SQUIDCACHEFILE=access.log
SQUIDROOTDIR=/usr/local/etc/squid
SQUIDLOGDIR=/usr/local/squid/logs
SQUIDCACHEDIR=/usr/local/squid/cache
SAMSPATH=/usr/local
SQUIDPATH=/usr/local/sbin
#SQUIDGUARDLOGPATH=/var/log
#SQUIDGUARDDBPATH=/var/db/squidGuard
RECODECOMMAND=iconv -f KOI8-R -t 866 %finp > %fout
#LDAPSERVER=servername_or_ipadress
#LDAPBASEDN=your.domain
#LDAPUSER=DomainAdministrator
#LDAPUSERPASSWD=passwd
#LDAPUSERSGROUP=Users
#REJIKPATH=/usr/local/rejik
SHUTDOWNCOMMAND=/sbin/shutdown -h now
CACHENUM=0


cat /usr/local/etc/squid/squid.conf

# created by SAMS _sams_ 2010-2-3 18:22:48
visible_hostname gtsrv
icp_port 3130
coredump_dir /usr/local/squid/cache
http_port 3128
hierarchy_stoplist cgi-bin ?
access_log /usr/local/squid/logs/access.log squid

#auth_param ntlm program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
#auth_param ntlm children 5
#auth_param ntlm keep_alive on
#auth_param basic program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-basic
#auth_param basic children 5
#auth_param basic realm Squid Proxy-Server
#auth_param basic credentialsttl 2 hours
#auth_param basic casesensitive off

refresh_pattern ^ftp:         &n... 1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern (cgi-bin|\?)    0       0%      0
refresh_pattern .               0       20%     4320

acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32

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

#  TAG: url_rewrite_program
url_rewrite_program /usr/local/bin/samsredir
url_rewrite_children 5

#  TAG: acl
acl _sams_default src "/usr/local/etc/squid/default.sams"


http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

#  TAG: http_access
http_access allow _sams_default


http_access deny all
icp_access deny all

cat /usr/local/etc/php.ini
safe_mode = On
safe_mode_exec_dir = "/usr/local/share/sams/bin"

В Sams завожу пользователя или отключаю существующего, и если НЕ нажать "Реконфигурирование SQUID", то настройки не применяются автоматический. Соответственно, если у заведенного пользователя стоит ограниченный трафик, то при исчерпывание лимита реконфиг не происходит и пользователь по прежнему имеет возможность пользоваться интернетом через данный прокси.
Вывод, не работает "реконфигурирование squid" хотя в настройках samsdaemon стоит "Проверять наличие команды на реконфигурирование squid каждые 10 секунд".

Запуск samsdaemon -d выдаёт следующее:

Starting process: pid = 9433
Read SAMS configuration... Ok
Connected database: squidctrl:localhost user=***
Connected database: squidlog:localhost user=***
Read SAMS properties...
    Cache... 0
    User autentification... IP
    Sleep time of samsdaemon...  10 second
    Redirector... SAMS
    SQUID log parser... diskret
    User traffic cleaner... YES
    Squidlog cache save... 1 month
    User name recode... NO
    Delay pools... OFF
    Domain separators... '0'
    Log level... '1'
    Create PDF file... YES
Ok
SQUID log parser time=1 min
countdown: 26
countdown: 16
countdown: 6
countdown: -4
starting log parser/ parser time=1 60
start time: 2010-2-5 14:57:54
starting sams /usr/local/bin/sams
countdown: 50
countdown: 40
countdown: 30
countdown: 20
countdown: 10
countdown: 0
countdown: -10
starting log parser/ parser time=1 60
start time: 2010-2-5 14:58:54

Стоит нажать "реконфигурирование squid" вываливается следующее:

starting log parser/ parser time=1 60
start time: 2010-2-5 15:1:47
starting sams /usr/local/bin/sams
countdown: 50
countdown: 40
    Cache... 0
    User autentification... IP
    Sleep time of samsdaemon...  10 second
    Redirector... SAMS
    SQUID log parser... diskret
    User traffic cleaner... YES
    Squidlog cache save... 1 month
    User name recode... NO
    Delay pools... OFF
    Domain separators... '0'
    Log level... '1'
    Create PDF file... YES
Creating SAMS users list /usr/local/etc/squid/default.sams
squid configure file: /usr/local/etc/squid/squid.conf
TAG: acl found... START
2 users found in template default (Default), create ACL
TAG: acl END

TAG: http_access found...  START
2 users found in the template default (Default), create access rights
TAG: http_access END
countdown: 30

я так понимаю такое такое должно происходить каждые 10 секунд...?
Может кто-то уже сталкивался с данной проблемой и как-то её решил?
Заранее благодарен.


Содержание

Сообщения в этом обсуждении
"Squid+Sams"
Отправлено T , 05-Фев-10 23:11 
Где вы вычитали что sams автоматом должен реконфигурировать  squid ?
Почитайте http://www.permlug.org/node/3596

"Squid+Sams"
Отправлено technolog , 06-Фев-10 21:30 
почему тогда самс не отключает пользователей, у которых лимит исчерпан? Если же нажать "реконфиг" то все настройки вступают в силу?
Можно как вариант в cron записать что-то вроде "/usr/local/etc/rc.d/sams restart" с периодичностью с кажем каждые 2 минуты. Но насколько это правильно? Если это единственное решение, то почему его нет в доке?