Режик игнорирует pcre правила для секций

Обсуждение программы редиректора
Monolith
Сообщения: 6
Зарегистрирован: Пн авг 04, 2014 14:57

Режик игнорирует pcre правила для секций

Сообщение Monolith »

Добрый день. Убил на этот вопрос два дня, думал сам разберусь, но ничего не понимаю. В конфиге режика глобально указано банить из файла со списком айпишников, сделал отдельную секцию для некоторых работников, в которой блочится доступ к ok .ru/video по urls и режутся все картинки и музыка из pcre. Сама секция будет использоваться для одного-двух человек(которые не значатся в списке забаненых глобально). Если в секции прописать work_ip 192.168.x.x - никакого эффекта нет. Однако, если глобально поставить запрет - все работает просто отлично. Куда можно копать? То есть еще раз объясню цель - Оставить глобально блокировку по файлу И включить для нескольких ip секцию с одноклассниками.

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Re: Режик игнорирует pcre правила для секций

Сообщение Slava »

Настройте на работу с секцией, перезагрузите, убедитесь. что не работает и:

1. Покажите конфиг режика.
2. Покажите redirector.err, строки, где режик стартует и подгружает секции.
3. Покажите строки из access лога сквида, где видны запросы, для которых должна срабатывать секция.

Monolith
Сообщения: 6
Зарегистрирован: Пн авг 04, 2014 14:57

Re: Режик игнорирует pcre правила для секций

Сообщение Monolith »

Slava писал(а):Настройте на работу с секцией
Это я и пытаюсь сделать, но не знаю как именно.
Slava писал(а):1. Покажите конфиг режика.

Код: Выделить всё

##############################################################
## If you make changes in this file, you must reboot squid  ##
## example:   squid -k reconfigure                          ##
##############################################################   

##############################################################
##                       HELP                               ##
##############################################################
# Globals options:
# ================
#
# error_log filename    # Log file for error and startup messages.
#                       # Comment for turn off
# change_log filename   # Log file of change contest.
#                       # Comment for turn off
#
# make-cache /usr/local/rejik3/make-cache # path to make-cache binary
#
# work_ip IP            # Ip adress or network
# work_ip 192.168.100.0/24       # or file with ip for
# work_ip f:/path/file  # who redirector work
#
# allow_ip IP           # Ip adress or network
#allow_ip 192.168.100.0/255.255.255.0      # or file with ip for
work_ip f:/usr/local/rejik3/banned_ips
# allow_ip f:/usr/local/rejik3/ips # who don't change any content
#
#
# work_id login            # login or file with logins
# work_id f:/path/file     # for who redirector work
#
# allow_id login           # login or file with logins
# allow_id f:/path/file    # for who don't change any content
#
# allow_urls /path/file    # file with urls to don't redirect
#
# raw_change <from> <to>   # Change <from> to <to> in url
# raw_log off              # Don't write to log changes from raw_change option
#
# write_hostname_to_log on # Write client hostname to change log
#
#####################################################################
#
# Sections options:  all parametrs work only for ONE section
# =================
# <NAME>                # Header for section
#
# ban_dir dirname       # Dir with rules for this section
# url http://host/file  # url to replace
#                       # May use: url http://host/file?var=#URL#&var2=#IP#&i=#IDENT#&m=#METHOD#&sec=#SECTION#
#                       # #URL# #IP# #IDENT# #METHOD# #SECTION# will be change by redirector
#
# work_ip 192.168.100.148            # Ip adress(network)
# work_ip IP/MASK       # or file with ip for
# work_ip f:/path/file  # who section work
#
# allow_ip IP           # Ip adress(network)
# allow_ip IP/MASK      # or file with ip for
# allow_ip f:/path/file # who section don't work
#
#
# work_id login         # login or file with logins
# work_id f:/path/file  # for who section work
#
# allow_id login        # login or file with logins
# allow_id f:/path/file # for who secion don't work
#
# log off               # Not write to log changes from this section
# reverse               # Reverse result of search in ban dir
# action pass           # Pass request
#
#############################################################

error_log /usr/local/rejik3/redirector.err
change_log /usr/local/rejik3/redirector.log
make-cache /usr/local/rejik3/make-cache

#allow_urls /usr/local/rejik3/banlists/allow_urls
#write_hostname_to_log on

<ODNOKLASSNIKI>
ban_dir /usr/local/rejik3/banlists/ODNOKLASSNIKI
url http://127.0.0.1/rejik/1x1.gif
work_ip 192.168.100.117


<ANONYMIZERS>
ban_dir /usr/local/rejik3/banlists/Anonymizers
url http://127.0.0.1/rejik/anonymizers.html
#log off

#<AVTO-MOTO>
#ban_dir  /usr/local/rejik3/banlists/Avto-moto
#url http://127.0.0.1/rejik/access_denied.html

<BANNERS>
ban_dir /usr/local/rejik3/banlists/Banners
url http://127.0.0.1/rejik/1x1.gif


<JS>
ban_dir /usr/local/rejik3/banlists/js
url http://127.0.0.1/rejik/js.js
#log off

<CHATS>
ban_dir /usr/local/rejik3/banlists/Chats
url http://127.0.0.1/rejik/access_denied.html
#log off

<DATINGS>
ban_dir /usr/local/rejik3/banlists/Datings
url http://127.0.0.1/rejik/access_denied.html
#log off

<EXTREMISM>
ban_dir /usr/local/rejik3/banlists/Extremism
url http://127.0.0.1/rejik/access_denied.html
#log off

<GAMES>
ban_dir /usr/local/rejik3/banlists/Games
url http://127.0.0.1/rejik/access_denied.html
#log off

<ICQ>
ban_dir /usr/local/rejik3/banlists/ICQ
url http://127.0.0.1/rejik/access_denied.html
#log off

<MEDIA>
ban_dir /usr/local/rejik3/banlists/Media
url http://127.0.0.1/rejik/access_denied.html
#log off

<PHISHING>
ban_dir /usr/local/rejik3/banlists/Phishing
url http://127.0.0.1/rejik/access_denied.html
#log off

<PHOTOGALLERY>
ban_dir /usr/local/rejik3/banlists/Photogallery
url http://127.0.0.1/rejik/access_denied.html
#log off

<PORN>
ban_dir /usr/local/rejik3/banlists/Porn
url http://127.0.0.1/rejik/access_denied.html
#log off

<SOCNET>
ban_dir /usr/local/rejik3/banlists/Socnet
url http://127.0.0.1/rejik/socnet.html
#log off

<SPYWARE>
ban_dir /usr/local/rejik3/banlists/Spyware
url http://127.0.0.1/rejik/access_denied.html
#log off

<TORRENTS>
ban_dir /usr/local/rejik3/banlists/Torrents
url http://127.0.0.1/rejik/access_denied.html
#log off

<VIRUSES>
ban_dir /usr/local/rejik3/banlists/Viruses
url http://127.0.0.1/rejik/access_denied.html
#log off

<WAREZ>
ban_dir /usr/local/rejik3/banlists/Warez
url http://127.0.0.1/rejik/access_denied.html
#log off

2. Покажите redirector.err, строки, где режик стартует и подгружает секции.

Код: Выделить всё

2015-06-10 16:51:06 [3628] Run make-cache (3.2.11)
2015-06-10 16:51:06 [3628] Make-cache finished
2015-06-10 16:51:06 [3628] Load 1 rules from /usr/local/rejik3/banlists/ODNOKLASSNIKI/urls.cache
2015-06-10 16:51:06 [3628] Load 11 pattern from ODNOKLASSNIKI pcre
2015-06-10 16:51:06 [3628] Load 53321 rules from /usr/local/rejik3/banlists/Anonymizers/urls.cache
2015-06-10 16:51:06 [3628] Load 4419 rules from /usr/local/rejik3/banlists/Banners/urls.cache
2015-06-10 16:51:06 [3628] Load 81 pattern from BANNERS pcre
2015-06-10 16:51:06 [3628] Load 1 rules from /usr/local/rejik3/banlists/js/urls.cache
2015-06-10 16:51:06 [3628] Load 15671 rules from /usr/local/rejik3/banlists/Chats/urls.cache
2015-06-10 16:51:06 [3628] Load 6279 rules from /usr/local/rejik3/banlists/Datings/urls.cache
2015-06-10 16:51:06 [3628] Load 297 rules from /usr/local/rejik3/banlists/Extremism/urls.cache
2015-06-10 16:51:06 [3628] Load 4257 rules from /usr/local/rejik3/banlists/Games/urls.cache
2015-06-10 16:51:06 [3628] Load 121 rules from /usr/local/rejik3/banlists/ICQ/urls.cache
2015-06-10 16:51:06 [3628] Load 3 pattern from ICQ pcre
2015-06-10 16:51:06 [3628] Load 4059 rules from /usr/local/rejik3/banlists/Media/urls.cache
2015-06-10 16:51:06 [3628] Load 24 pattern from MEDIA pcre
2015-06-10 16:51:06 [3628] Load 99036 rules from /usr/local/rejik3/banlists/Phishing/urls.cache
2015-06-10 16:51:06 [3628] Load 3084 rules from /usr/local/rejik3/banlists/Photogallery/urls.cache
2015-06-10 16:51:06 [3628] Load 394517 rules from /usr/local/rejik3/banlists/Porn/urls.cache
2015-06-10 16:51:06 [3628] Load 1 pattern from PORN pcre
2015-06-10 16:51:06 [3628] Load 232 rules from /usr/local/rejik3/banlists/Socnet/urls.cache
2015-06-10 16:51:06 [3628] Load 21936 rules from /usr/local/rejik3/banlists/Spyware/urls.cache
2015-06-10 16:51:06 [3628] Load 1463 rules from /usr/local/rejik3/banlists/Torrents/urls.cache
2015-06-10 16:51:06 [3628] Load 5067 rules from /usr/local/rejik3/banlists/Viruses/urls.cache
2015-06-10 16:51:06 [3628] Load 1 pattern from VIRUSES pcre
2015-06-10 16:51:06 [3628] Load 3237 rules from /usr/local/rejik3/banlists/Warez/urls.cache
2015-06-10 16:51:06 [3628] Redirector start and working (3.2.11)
3. Покажите строки из access лога сквида, где видны запросы, для которых должна срабатывать секция.
Насчет этого не совсем понял, но наверное это оно

Код: Выделить всё

1433732362.600    602 192.168.100.117 TCP_MISS/200 41513 GET http://gic4.mycdn.me/getImage? - HIER_DIRECT/217.20.155.9 image/jpeg
1433732362.681    680 192.168.100.117 TCP_MISS/200 34467 GET http://gic4.mycdn.me/getImage? - HIER_DIRECT/217.20.155.9 image/jpeg


Вот еще содержимое самих правил. В pcre я ничего не понимаю, может накосячил чего, но работает же нормально если это правило не для секции
urls:

Код: Выделить всё

ok.ru/video
pcre:

Код: Выделить всё

.*\.mycdn\.me\/.*\.mp3
.*\.mycdn\.me\/.*\.mp4
.*\.mycdn\.me\/.*\.flv
.*\.mycdn\.me\/.*\.img
.*\.mycdn\.me\/.*\.jpg
.*\.mycdn\.me\/.*\.jpeg
.*\.mycdn\.me\/.*\.png
.*\.mycdn\.me\/.*\.bmp
.*\.mycdn\.me\/.*\.gif
.*\.mycdn\.me\/.*\.swf
mycdn\.me\/image*

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Re: Режик игнорирует pcre правила для секций

Сообщение Slava »

Monolith писал(а):

Код: Выделить всё

1433732362.600    602 192.168.100.117 TCP_MISS/200 41513 GET http://gic4.mycdn.me/getImage? - HIER_DIRECT/217.20.155.9 image/jpeg
1433732362.681    680 192.168.100.117 TCP_MISS/200 34467 GET http://gic4.mycdn.me/getImage? - HIER_DIRECT/217.20.155.9 image/jpeg
Каким из перечисленных правил этот запрос должен был блокироваться?
Добавьте правило или поменяйте урл.
Плюс посмотрите, пишет ли режик в redirector.log при заходе по такому урлу, который должен блокироваться.

Monolith
Сообщения: 6
Зарегистрирован: Пн авг 04, 2014 14:57

Re: Режик игнорирует pcre правила для секций

Сообщение Monolith »

Вот этим mycdn\.me\/image* ? Я просто в регулярных выражениях полный ноль. Это получилось методом проб и ошибок. А как нужно сделать? Просто блочить весь mycdn.me не вариант, там css лежит.

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Re: Режик игнорирует pcre правила для секций

Сообщение Slava »

mycdn\.me\/image*
и
http://gic4.mycdn.me/getImage.

видите разницу, в правиле нет "get" а в урле есть.

Чтобы заблокировать, нужно правило pcre mycdn\.me\/getImage

Еще лучше правило urls(работает в тысячи раз быстрее): mycdn.me/getImage

попробуйте прочесть http://rejik.ru/index_ru_5_0.html

Monolith
Сообщения: 6
Зарегистрирован: Пн авг 04, 2014 14:57

Re: Режик игнорирует pcre правила для секций

Сообщение Monolith »

Запилил правило - результата нет, логи пустые (
И все таки мне кажется, что проблема в конфиге режика. Что-то ему не нравится насчет блокировки по файлу и тут же блокировки явно заданной. Ведь если бы pcre и urls были кривыми то и не работало бы ничего, но когда я прописываю этот ip в файл блокировок то все отлично.

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Re: Режик игнорирует pcre правила для секций

Сообщение Slava »

У Вас есть глобальное правило work_ip f:/usr/local/rejik3/banned_ips
Если ip клиента нет в этом списке, то режик для него не работает.

Monolith
Сообщения: 6
Зарегистрирован: Пн авг 04, 2014 14:57

Re: Режик игнорирует pcre правила для секций

Сообщение Monolith »

Тогда не вижу вариантов как можно блокировать урлы из секции для отдельной машины, которой нет в списке глобального правила и оставить заблокированными тех, у кого блокируется всё. Ну хорошо, большое спасибо за помощь:). Видимо придется некоторым поработать без соцсетей))

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Re: Режик игнорирует pcre правила для секций

Сообщение Slava »

Если Вы добавите 192.168.100.117, то для него режик будет работать.
Но если в секции <ODNOKLASSNIKI> указан work_ip 192.168.100.117, то эта секция будет работать только для этого ip.

Monolith
Сообщения: 6
Зарегистрирован: Пн авг 04, 2014 14:57

Re: Режик игнорирует pcre правила для секций

Сообщение Monolith »

Не знаю почему, но так не происходит. Я даже на другой секции потестил. Такое впечатление, что Режик Вообще не знает про work_ip. Он просто игнорирует эту строку.

alexK
Сообщения: 17
Зарегистрирован: Чт ноя 27, 2014 14:52

Re: Режик игнорирует pcre правила для секций

Сообщение alexK »

А работает ли данная секция для остального списка? Может имеет значение последовательность строк в секции?
work_ip 192.168.100.117 тогда следует писать первой строкой

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Re: Режик игнорирует pcre правила для секций

Сообщение Slava »

Monolith писал(а):Не знаю почему, но так не происходит. Я даже на другой секции потестил. Такое впечатление, что Режик Вообще не знает про work_ip. Он просто игнорирует эту строку.
1. В /usr/local/rejik3/banned_ips этот ip прописан?
2. Посмотрите в redirector.err, не ругается ли на эту строку, может символ неправильный. Можно стереть и написать строку в конфиге заново.

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Re: Режик игнорирует pcre правила для секций

Сообщение Slava »

alexK писал(а):А работает ли данная секция для остального списка? Может имеет значение последовательность строк в секции?
work_ip 192.168.100.117 тогда следует писать первой строкой
Секция работает только для work_ip, последовательность строк в секции значения не имеет.

gloomymen
Сообщения: 32
Зарегистрирован: Сб фев 12, 2005 1:11

Re: Режик игнорирует pcre правила для секций

Сообщение gloomymen »

Monolith писал(а):Запилил правило - результата нет, логи пустые (
И все таки мне кажется, что проблема в конфиге режика. Что-то ему не нравится насчет блокировки по файлу и тут же блокировки явно заданной. Ведь если бы pcre и urls были кривыми то и не работало бы ничего, но когда я прописываю этот ip в файл блокировок то все отлично.
Monolith, если вы не пересобирали режик с опцией игнорирования регистра, то все логично)
в реальности эти запросы выглядят примерно так

Код: Выделить всё

http://vdp.mycdn.me/getImage?id=6886327756&idx=30&thumbType=47&i=1
у меня прекрасно срабатывет правило из urls: mycdn.me/getImage
живой пример из redirector.log

Код: Выделить всё

http://vdp.mycdn.me/getImage?id=6886327756&idx=30&thumbType=47&i=1 (urls rule: mycdn.me/getImage)
mycdn.me/getImage
mycdn.me/geiimage
разницу видно?

###############################
Для борцов с соцсетями) привожу несколько моих правил

pcre: аудио одноглазиков

Код: Выделить всё

\/217\.20\.\d{1,3}\.\d{1,3}\/file\.go\?
urls: картинки одноглазиков

Код: Выделить всё

mycdn.me/getImage
mycdn.me/image
pcre: картинки контактёров)

Код: Выделить всё

\/cs\d{4,6}\.vk\.me\/
pcre: видео одноглазиков

Код: Выделить всё

\/217\.20\.\d{1,3}\.\d{1,3}\/\?

Ответить