Настроил squid.
Прописал в него
redirector_bypass on
redirect_program /usr/local/bin/squidGuard
redirect_children 10
(хотя пробовал и с Режиком - аналогично).Настроил SquidGuard. Все работает. По отдельности.
То есть SquidGuard перенаправляет все как надо.
Squid его запускает, но заходя через прокси на какой-либо сайт ничего не режеться.
В логах все хорошо. Никаких ошибок ни у squid ни у squdGuard.Если настроить acl на резку банеров - то все в порядке. Но хотелось бы именно redirect...
Уже за ради теста брал настройку из squid.opennet.ru, но эффект тот же...
Что я делпаю не так? Какие конфиги нужны для анализа проблемы?
>Если настроить acl на резку банеров - то все в порядке. Но
>хотелось бы именно redirect...
>Уже за ради теста брал настройку из squid.opennet.ru, но эффект тот же...>Что я делпаю не так? Какие конфиги нужны для анализа проблемы?
такой вопрос - ты смотрел адреса банеров? может просто этих адресов нет в списке ни в rejik, ни в squdGuard? сдается мне, что это единственно возможная причина такого поведения, если конечно я все правильно понял.
--
scamp
>такой вопрос - ты смотрел адреса банеров? может просто этих адресов нет
>в списке ни в rejik, ни в squdGuard?
Более того - я эти сайты и баннеры добавил на всякий случай руками в базы. Тот же sex.ru очень удобен для тестов. :)>это единственно возможная причина такого поведения, если конечно я все правильно понял.
Похоже что не единственная. :(
>Что я делпаю не так? Какие конфиги нужны для анализа проблемы?Запусти squid с отладочным логом cache.log
Для более детального просмотра добавь информативности в этот лог и
зайди на порно-сайт. Тогда и посмотришь где проблема.
>Настроил squid.
>Прописал в него
>redirector_bypass on
>redirect_children 10
Поставь redirector_bypass off эта опция нужна для прямого прохода без редиректа если остальные все забиты (отключи и уже тогда проверяй), redirect_children 5 - вдруг памяти не хватает и посмотри в squidguard.log там должно быть сообщение что все 5-10 редиректов были стартованы (... has been started at...), а перед этим должны быть сообщения о подгрузке баз и вообще покажи squidguard.con...
Вот ещё вспомнил, попробуй запусти squidguard из командной строки и напиши прям в пустоту www.sex.ru 192.168.8.66/ - - GET (где 192.168.8.66 - это серые адреса которые должны были бы быть описаны в конфиге, как src {ip 192.168.8.0/24}) и смотри что он выдаст, если пустую строку значит не работает если редирект или что там у тебя, запрет?, то делай выводы
> и смотри что он выдаст
Выдаст он http://ya.ru
То есть все в норме.А вот логов он у мне не создает, почему-то...
>А вот логов он у мне не создает, почему-то...
Исправлено. Логи есть.2005-06-29 00:32:00 [45042] squidGuard 1.2.0 started (1120005120.676)
2005-06-29 00:32:00 [45042] recalculating alarm in 26880 seconds
2005-06-29 00:32:00 [45042] squidGuard ready for requests (1120005120.776)И тишина...
>2005-06-29 00:32:00 [45042] recalculating alarm in 26880 seconds
А это что за.... У тебя Berkeley базы стоят? а ты делал преобразование squidguard -c all (только при условии что у тебя стоят базы данных), а можешь показать полное содержимое файла squidguard.conf, оставь e-mail я тебе с работы могу выслать работающий squidguard.conf. и squid.conf для примера :|)
> а ты делал преобразование squidguard -c all
Да. Конечно.>а можешь показать полное содержимое файла squidguard.conf
logdir /var/log/squidGuard # путь к лог директории
dbhome /usr/local/squidGuard/db # путь к базамrewrite mp3 {
s@.*\.mp3$@http://www.my.host/my.mp3@r
}time leisure-time {
weekly * 00:00-08:00 19:00-24:00 # ночь и вечер
weekly fridays 16:00-18:00 # + пятница с 16:00 до 17:00 (если у вас короткий день)
weekly sat sun 00:00-24:00 # + выходные
date*.01.01 # + Новый Год
# и т. д.
}src admiral {
ip 192.168.1.63
}src dj_kill {
ip 192.168.1.200
}
src all {
ip 192.168.1.1-192.168.1.199
}dest pornography {
domainlist porn/domains
expressionlist porn/expressions
urllist porn/urls
redirect http://www.disney.com
}dest warez {
domainlist warez/domains
urllist warez/urls
}dest agressive {
domainlist agressive/domains
urllist agressive/urls
}dest good {
domainlist good/domains #список "хороших" адресов
}dest chat {
domainlist chat/domains #список "chat" адресов
expressionlist chat/expressions #ожидаемые фразы
}dest ads {
domainlist ads/domains
expressionlist ads/expressions
urllist ads/urls
redirect http://www.branchise.org/negocio_archivos/NOSpam.jpg # адрес рисунка для подмены рекламных баннеров
}dest drugs {
domainlist drugs/domains
urllist drugs/urls
}dest hacking {
domainlist hacking/domains
urllist hacking/urls
}acl {
all within leisure-time {
pass !ads all #все, кроме рекламы, в нерабочее время
} else {
pass !chat !ads all #отключение chat-ов в рабочее время
redirect http://ya.ru
}dj_kill {
pass !ads !pornography !agressive !drugs all
}admiral {
pass !pornography !agressive !drugs !ads all
#покажем, что мы недаром кушаем хлеб
}default { #для всех остальных
pass none
redirect http://ya.ru
log /var/log/squidGuard/squidGuard.log #и запишем в лог
}
}
Конфиг Squid.http_port 192.168.1.100:1431
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 96 MB
cache_dir ufs /usr/local/squid/cache 2000 16 256
ftp_user microsoft@microsoft.com
ftp_passive on
dns_nameservers 192.168.1.100 217.72.144.1 195.34.32.10
hosts_file /etc/hosts
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl safe_ports port 81 # for sof
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
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
acl Safe_ports port 999 # Novosibirsk Citrix
acl Safe_ports port 2086 # for Roman Podlinov (web mail)
acl Safe_ports port 2087 # for Roman Podlinov (web mail ssl)
acl Safe_ports port 2095 # for Roman Podlinov (Control Panel)
acl Safe_ports port 2096 # for Roman Podlinov (Control Panel ssl)
acl my_net src 192.168.1.0/255.255.255.0
acl snmpsquid snmp_community public
acl squid_block_badlang url_regex -i "/usr/local/etc/squid/squidblock/badlang.block.txt"
acl squid_unblock_badlang url_regex -i "/usr/local/etc/squid/squidblock/badlang.unblock.txt"
acl squid_block_entertain url_regex -i "/usr/local/etc/squid/squidblock/entertain.block.txt"
acl squid_unblock_entertain url_regex -i "/usr/local/etc/squid/squidblock/entertain.unblock.txt"
acl squid_block_games url_regex -i "/usr/local/etc/squid/squidblock/games.block.txt"
acl squid_unblock_games url_regex -i "/usr/local/etc/squid/squidblock/games.unblock.txt"
acl squid_block_pirate url_regex -i "/usr/local/etc/squid/squidblock/pirate.block.txt"
acl squid_block_mp3 url_regex -i "/usr/local/etc/squid/squidblock/mp3.block.txt"
acl squid_unblock_pirate url_regex -i "/usr/local/etc/squid/squidblock/pirate.unblock.txt"
acl squid_block_porn url_regex -i "/usr/local/etc/squid/squidblock/porn.block.txt pron.block.txt"
acl squid_unblock_porn url_regex -i "/usr/local/etc/squid/squidblock/porn.unblock.txt"
acl banners2 url_regex ad\.bannermarket\.com/cgi-bin linkexchange\.ru reklama.*ru.*href www\.cityline\.ru/.*/cbanners/ www\.bizlink\.ru/cgi-bin/irads\.cgi www\.bannerpoint\.ru/image\.asp www\.cross\.ru/cgi/flamingo-image\.pl www\.strongsoftware\.net/cgi-bin/getimage\.cgi www\.digcont\.odessa\.ua/cgi-bin/mill www\.newman\.ru/LOGOS/ www\.newman\.ru/EXCHANGE/ www\.cdru\.com/banner/
acl pointcast url_regex ^http://.*/FIDO-1/
acl banners url_regex "/usr/local/etc/squid/banners"
redirector_bypass on
redirect_program /usr/local/bin/squidGuard -c /usr/local/etc/squid/squidGuard.conf
redirect_children 10
http_access deny pointcast all
http_access deny banners all
http_access deny banners2 all
http_access deny squid_block_badlang !squid_unblock_badlang
http_access deny squid_block_entertain !squid_unblock_entertain
http_access deny squid_block_games !squid_unblock_games
http_access deny squid_block_pirate !squid_unblock_pirate
http_access deny squid_block_mp3
http_access deny squid_block_porn !squid_unblock_porn
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow my_net
http_access allow localhost
http_access deny all
http_reply_access allow all
icp_access allow all
visible_hostname chizhik
httpd_accel_port 80
httpd_accel_host virtual
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
httpd_accel_no_pmtu_disc on
snmp_port 161
snmp_access allow snmpsquid localhost
snmp_access deny alle-mail: dj_kill на мэйлру.
ну во первых перед всеми адресами в riderect должно стоять 302: типа riderect 302:http://www.ya.ru, во вторых src all - "all" измени, а то он может это считать как служебное слово. ридерект ТОЧНО должен заработать когда добавишь 302 , а вот с остальным попробуй убрать време , если без времени (leisure-time ) будет работать, то значит с ним...
Удачи.
Время убрал. 302 добавил.В логах:
2005-06-30 12:29:52 [50640] squidGuard 1.2.0 started (1120134592.431)
2005-06-30 12:29:52 [50640] recalculating alarm in 12608 seconds
2005-06-30 12:29:52 [50640] squidGuard ready for requests (1120134592.746)И ничего не работает... Похоже, дело не в нем.
>> и смотри что он выдаст
>Выдаст он http://ya.ru
>То есть все в норме.
>
:)) тоесть у тебя выдаёт на sex.ru -> ya.ru, весело, значит дело в redirector_bypass on, для того что бы он логи писал ты должен ему прописать logdir и создать, а может он и сам сделает squidguard.conf.
Я надеюсь, что ты не забыл про права посмотри какие у squid и какие у squidguard, они должны быть одинаковыми...
Еще вводная.Если зайти на сайт, допустим, www.akkc.ru то в нижнем ряду баннеров и счетчиков первый и третий (слева на право) - просто блокируються, а вот четвертый (самый правый) редиректиться на нормальную картинку.
Может все же у сквида acl "конфликтует" с редиректором?
>Если зайти на сайт, допустим, www.akkc.ru то в нижнем ряду баннеров и
>счетчиков первый и третий (слева на право) - просто блокируються, а
>вот четвертый (самый правый) редиректиться на нормальную картинку.
Ну кстати посмотри где именно отмечается что счётчик блокировался в Squid или в SquidGuard
>Может все же у сквида acl "конфликтует" с редиректором?
Хрен его знает :) В таких случаях лучше всего скинуть всё по нулям и создать стандартный конфиг, а вот и если он не будет работать вот это уже тогда конец.... может squid 3 поставить .... :)
>Ну кстати посмотри где именно отмечается что счётчик блокировался в Squid или в SquidGuard
В Сквиде.
acсess.log>>Может все же у сквида acl "конфликтует" с редиректором?
>Хрен его знает :) В таких случаях лучше всего скинуть всё по
>нулям и создать стандартный конфиг, а вот и если он не
>будет работать вот это уже тогда конец....
А можно посмотреть Ваш конфиг?
Почта была выше по тексту. dj_kill на мэил ру.> может squid 3 поставить .... :)
В портах нет. Значит нафиг. :)))
>В Сквиде.
>acсess.log
Плохо, значит он squid режет без ведомо, убери всю резалку в squid (извините за туфталогию)
>А можно посмотреть Ваш конфиг?
>Почта была выше по тексту. dj_kill на мэил ру.
"Получи и распешись" (с) Worms (послал уже...)
>> может squid 3 поставить .... :)
>В портах нет. Значит нафиг. :)))
Порты - это ещё не показатель! Хотя 3 не стабильная согласен, да и с этой надо бы разобраться... А может ты просто порты не обновляешь поэтому и нету ?! :))
>Плохо, значит он squid режет без ведомо, убери всю резалку в squid
>(извините за туфталогию)
Самое интересное - это то, что когда я полностью убираю все режущие acl из конфига сквида у меня тут же перестаеть резаться вообще все.>Порты - это ещё не показатель!
Вот будет stable...> А может ты просто порты не обновляешь поэтому и нету ?! :))
У меня самая свежая фряха на данный момент, вроде. 5.4
>Самое интересное - это то, что когда я полностью убираю все режущие
>acl из конфига сквида у меня тут же перестаеть резаться вообще
>все.
Знаешь попробуй или взять правила полнустью из моего конфига, может ты чего-то лишнего убираешь, а вообще для пущего теста написал бы маленький тестовую программу, которую поставишь вместо ридеректа и увидишь, что squid передаёт, попробуй:
#!/bin/sh
echo $0 >> /tmp/squid_redirect
Если не получится этим, подумай! (я в скриптах не селён)>Вот будет stable...
НУУУУУ - правильно !)>У меня самая свежая фряха на данный момент, вроде. 5.4
WOW!!!!
>А можно посмотреть Ваш конфиг?
>Почта была выше по тексту. dj_kill на мэил ру.
Ты получил? У меня письмо вернуло, как MAILER-DAEMON@mx4.mail.ru
I'm sorry to have to inform you that the message returned
below could not be delivered to one or more destinations.Меня мучает чувство, что до тебя ничего не дошло!
У меня та же ситуация.
Никак не могу склеить squid & squidGuard.
Тестировал отдельно SG - работает.
Squid сам тоже пашет но вот вместе никак.
Я подозреваю, что squid либо не получает возрата от SG либо не может передать ему параметры.
Если ты разобрался ... подсоби ... :)
>У меня та же ситуация.
>Никак не могу склеить squid & squidGuard.
>Тестировал отдельно SG - работает.
>Squid сам тоже пашет но вот вместе никак.
>Я подозреваю, что squid либо не получает возрата от SG либо не
>может передать ему параметры.
>Если ты разобрался ... подсоби ... :)вот одно из решений и причина скорее всего:
squidGuard compiles fine and the tests succeed, but it seems to pass all when run under Squid
There may be at leaste two reasons for this:* Some versions of Squid (supposedly 2.2.*) silently ignores argumets to the right of redirect_program prefix/bin/squidGuard. Solutions are one of:
o Set the actual config file location at compiletime with --with-sg-config
o Use a shell wraper with redirect_program prefix/bin/squidGuard.sh and make prefix/bin/squidGuard.sh an executable shell like:#! /bin/sh -
exec prefix/bin/squidGuard -c whatever/squidGuard.conf* When run under Squid, squidGuard is run with the same user and group ID as Squid (cache_effective_user and cache_effective_group in squid.conf). The squidGuard configuration and database files must be readable for this user and/or group and the squidGuard log directory must be writable for this user and/or group. If not squidGuard will go into the "pass all for all" emergency mode.
>>У меня та же ситуация.
>>Никак не могу склеить squid & squidGuard.
>>Тестировал отдельно SG - работает.
>>Squid сам тоже пашет но вот вместе никак.
>>Я подозреваю, что squid либо не получает возрата от SG либо не
>>может передать ему параметры.
>>Если ты разобрался ... подсоби ... :)
>
>вот одно из решений и причина скорее всего:
>
> squidGuard compiles fine and the tests succeed, but it seems to
>pass all when run under Squid
> There may be at leaste two reasons for
>this:
>
> * Some versions of
>Squid (supposedly 2.2.*) silently ignores argumets to the right of redirect_program
>prefix/bin/squidGuard. Solutions are one of:
>
> o Set the actual config file location at compiletime
>with --with-sg-config
>
> o Use a shell wraper with redirect_program prefix/bin/squidGuard.sh and
>make prefix/bin/squidGuard.sh an executable shell like:
>
>
> #! /bin/sh -
>
>
> exec prefix/bin/squidGuard -c
>whatever/squidGuard.conf
>
> * When run under
>Squid, squidGuard is run with the same user and group ID
>as Squid (cache_effective_user and cache_effective_group in squid.conf). The squidGuard configuration and
>database files must be readable for this user and/or group and
>the squidGuard log directory must be writable for this user and/or
>group. If not squidGuard will go into the "pass all for
>all" emergency mode.Я с этой проблемой разобрался ...
Ставил прямо из портов ... настройки так как и советуют ...
а трабл был банально прост ... на папки СквидГуарда ( /etc/db/SquidGuard/*) пользователя ставил squid... и все заработало ...
Так что гляди во все глаза права доступа ... у меня проблема оказалась в этом ....
удачи ...