Я уже не знаю что мне делать плиз помогите у меня redhat 73 squid stable6 под фривалом помагите плиз я вотчаение ВСЕ ПЕРЕПРОБОВАЛ НА МОЙ ВЗГЛЯД.
>Я уже не знаю что мне делать плиз помогите у меня redhat
>73 squid stable6 под фривалом помагите плиз я вотчаение ВСЕ ПЕРЕПРОБОВАЛ
>НА МОЙ ВЗГЛЯД.
Надо написать, что именно не получается. Не переписывает баннерные_урлы_картинок или показывает вместо них(картинок) невесть, что?
>>Я уже не знаю что мне делать плиз помогите у меня redhat
>>73 squid stable6 под фривалом помагите плиз я вотчаение ВСЕ ПЕРЕПРОБОВАЛ
>>НА МОЙ ВЗГЛЯД.
>
>
>Надо написать, что именно не получается. Не переписывает баннерные_урлы_картинок или показывает вместо
>них(картинок) невесть, что?
Вобщем я что только не пробовал вставлял вот эти строки :
acl good_url url_regex "/usr/local/etc/squid/acl/good_url"
acl bad_urlpath urlpath_regex "/usr/local/etc/squid/acl/bad_urlpath"
acl bad_url url_regex "/usr/local/etc/squid/acl/bad_url"http_access deny bad_urlpath !good_url
http_access deny bad_url !good_urlперезагружал squid и без изменений,
делал redirect все как положенно и результат один и тот же НЕ ЧЕГО НЕ ПРОИСХОДИТ.
Последние две строки кажется говорят о том, что запретить доступ если заданный урл плохой и одновременно не хороший, но если перед этим есть какое то правило которое разрешает пропуск не нужных урл, то до правил для баннеров просто не дойдет сравнение так как плохие урлы пропущены предшествующим правилом.А вообще я уже около полгода не смотрел squid и все работает, сейчас версия Squid/2.4.STABLE6
Вот мой конфиг
acl all src 0.0.0.0/0.0.0.0
acl nobanners src 0/0
acl banners_all url_regex "/etc/squid/banners.acl" - Файл где даны урлы, которые надо подменить
acl nocontent url_regex "/etc/squid/nocontent.acl" - урлы, по которым доступ вообще запрещенredirector_access allow banners_all - разрешить перенаправление для всех баннерных урлов
http_access deny nobanners nocontent - запретить доступ по урлам из файла nocontent.acl
deny_info content.html nocontent - при запрете доступа выдать content.htmlredirect_program /usr/local/bin/redirect.pl - программа на perl для перенаправления
redirect_children 3 - сколько их одновременно запущеноerror_directory /etc/squid/errors - в этой директории должен лежать content.html
Файл banners.acl:
^http://ads\.web\.aol\.com &n... ^http://banners\.rambler\.ru/advert/.*\.gif ^http://kulichki.rambler.ru/reklama/banners/.*\.gif ^http://www.*\.yandex\.ru/cgi-bin/banner/* ^http://www1\.reklama\.ru/cgi-bin/banner/* ^http://www\.reklama\.ru/cgi-bin/banner/* ^http://www\.reklama\.ru/cgi-bin/href/*
Файл nocontent.acl аналогичныйФайл content.html:
<HTML> <head><title>Извините, доступ к запрашиваемому ресурсу Запрещен!</title><meta http-equiv="Content-Type" content="text/html;c harset=koi8-r"></head><BODY><H1>Извините, доступ к запрашиваемому ресурсу Запрещен!</H1><p align="justify">Согласно принятой политики вы не имеете права доступа к ресурсу %U.</BODY></HTML>Для подмены баннеров на свои картинки, надо иметь свой web сервер в локальной сети и расположить на нем свою картинку, а урлы баннеров подменять на него. Что собственно и делает скрипт на перл ниже.
Это файл /usr/local/bin/redirect.pl:
#!/usr/bin/perl $|=1;
while (<>) {
s@.*@http://урл_до_твоей_картинке_на_твоем_веб_сервере_в_локальной_сети/images/468x60.gif@; print;}
Я уже ответил, отпиши если получится.
>Я уже ответил, отпиши если получится.
хорошо
>>Я уже ответил, отпиши если получится.
>
>
>хорошоВот посмотри мой лог:
---------------------
#-options-----------------------------------------------------------------------------------------------acl all src 0.0.0.0/0.0.0.0
acl all src 0.0.0.0/0.0.0.0
acl nobanners src 0/0
acl banners_all url_regex "/etc/squid/banners.acl"
acl nocontent url_regex "/etc/squid/nocontent.acl"acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
....#------------------------------------------------------------------------------------------------
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
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
http_access allow manager localhost
http_access deny managerhttp_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#---------------nobanners
redirector_access allow banners_all
http_access deny nobanners nocontent
#----------------http_access allow localhost
#-user-----------------------------------------------------------------------------------------------------
http_access allow region
....
http_access deny all
1. сам редиректор работает?
2. squid редиректор подымает при старте?
3. что в логах?
4. Я так и не понял - он у тебя и не заворачивает и не режет, или толкьо не заворачивает?./Squid
>1. сам редиректор работает?
>2. squid редиректор подымает при старте?
>3. что в логах?
>4. Я так и не понял - он у тебя и не
>заворачивает и не режет, или толкьо не заворачивает?
>
>./SquidОн не делает ни чего потамучто у меня нет своего веб сервера.
>>1. сам редиректор работает?
>>2. squid редиректор подымает при старте?
>>3. что в логах?
>>4. Я так и не понял - он у тебя и не
>>заворачивает и не режет, или толкьо не заворачивает?
>>
>>./Squid
>
>Он не делает ни чего потамучто у меня нет своего веб сервера.
Если нет веб сервера, то попробуй вставить, по крайней мере так писали в разных доках, но у меня это не проехалоdeny_info nobanner.gif banners_all
Но сам понимаешь, что это при запрете доступа к баннерам должно сработать, а не при редиректе(т.е. просто запрет доступа а не подмена урл). Т.е перловский скрипт по идее не нужен будет. Картинка должна лежать в каталоге на который указывает директива
error_directory /etc/squid/errorsПрежде чем это сделать, я так понял ты не сделал главного или не привел весь свой конфиг, я тебе там перловый скрипт очень простой указал, что его надо записать в /usr/local/bin как redirect.pl
а в конфиге надо было прописать
redirect_program /usr/local/bin/redirect.plПосле запуска squid
/sbin/service squid start
проверь, что говорит сам squid командой
/sbin/service squid status
если все ок
смотрим запущен ли наш перловый скрипт squid-ом в трех экземплярах
ps -aef | grep redirect
Если скрипт запущен, то смотрим логи
Кстати не плохо бы перед запуском самого squid во втором терминале
запустить команду из под рута tail -f /var/log/messages
Последний способ посмотреть файлы тоже можно через tail -f
/var/log/squid/access.log
/var/log/squid/errors.log
Попробывал.
Доступ отрезает нормально, выводит нужную страницу с отказом.
А вот .pl что-то никак. Редирект в списке заданий есть, сам редирект делает. но в ответ сыпится страница Apach'a с ошибкой 500.
Может что-нить со скриптом perl? Как бы его отдельно проверить на работоспособность?
>Попробывал.
>Доступ отрезает нормально, выводит нужную страницу с отказом.
>А вот .pl что-то никак. Редирект в списке заданий есть, сам редирект
>делает. но в ответ сыпится страница Apach'a с ошибкой 500.
>Может что-нить со скриптом perl? Как бы его отдельно проверить на работоспособность?Ну блин...
ЗАПУСКАЕШЬ и ПРОВЕРЯЕШЬ![12:30]:root@proxy>perl redirector.pl
http://lite.lbe.ru/cgi-bin/banner/bum?
http://193.193.193.101/images/1px.gif?
^C
[12:30]:root@proxy>Коментарии - запускаешь скрипт, подсовываешь ему URL и смотришь что он тебе ответит.
Пркирути себе дефолтный Апач, насуй туда прозачных гифчиков - и заворачивай, мы например, чтобы не портилась общая картина сайта - то большие банеры заменяем на прозрачные такого же размера - для эстетики. :)
Будут вопросы - можешь писать прямо в мыло.
Успехов../Squid
>Попробывал.
>Доступ отрезает нормально, выводит нужную страницу с отказом.
>А вот .pl что-то никак. Редирект в списке заданий есть, сам редирект
>делает. но в ответ сыпится страница Apach'a с ошибкой 500.
>Может что-нить со скриптом perl? Как бы его отдельно проверить на работоспособность?
>
Насколько я знаю ошибка типа HTTP 500 , возникает тогда, когда веб серверу передается урл не на обычную страничку, а на скрипт, который выполняется на стороне сервера и этот самый скрипт, который должен сгенерировать html страничку к примеру, ВАЛИТСЯ НА ВЕБ-СЕРВЕРЕ В МОМЕНТ СВОЕГО ИСПОЛНЕНИЯ!Исходя из этого я ничего не понимаю. Скрипт redirect.pl не надо размещать на веб сервере. Его запускает сам squid. Скрипт работает просто: введенная строка заменяется тем, что будет выведено на экран вслед.
То есть, считываем до посинения строку, и выводим другую, то есть урл который нам надо. Есть еще вариант, что все баннерные урлы ты подменяешь на урл, который есть скрипт на твоем веб-сервере и он валится.Пиши и предоставляй логи заодно и веб сервера
смотреть их здесь
/var/log/httpd/access_log
/var/log/httpd/error_log
Думай и Пиши.
У меня тоже такая же проблема с банерами, я так понимаю что в файле bed_urlpath надо прописывать все урлы на которые в дальнейшем мы запрещаем доступ, а как его туда прописывать банально писать адрес сайта???
>Я уже не знаю что мне делать плиз помогите у меня redhat
>73 squid stable6 под фривалом помагите плиз я вотчаение ВСЕ ПЕРЕПРОБОВАЛ
>НА МОЙ ВЗГЛЯД.
Поставь squid_redirector от http://redir.neman.grodno.by
И будет у тебя все пушистоБорис
>>Я уже не знаю что мне делать плиз помогите у меня redhat
>>73 squid stable6 под фривалом помагите плиз я вотчаение ВСЕ ПЕРЕПРОБОВАЛ
>>НА МОЙ ВЗГЛЯД.
>Поставь squid_redirector от http://redir.neman.grodno.by
>И будет у тебя все пушисто
>
>Борис
Все это хорошо, но не проще-ли squidGuard поставить.
>>Поставь squid_redirector от http://redir.neman.grodno.by
>>И будет у тебя все пушисто
>
>Все это хорошо, но не проще-ли squidGuard поставить.
Но этот удобнее администрить с веба и всякое такое.
Брать лучше здесь: http://redir.cu.kiev.ua/