powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / squid запрет сайтов
23 сообщений из 23, страница 1 из 1
squid запрет сайтов
    #38785847
noTpyJI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток! Есть squid3
в squid3 прописана redirect_program /var/squid3/program/url_rewriter.pl которая режет сайты по списку всем подряд.
Нужно разрешить доступ определенным IP. Может кто подскажет как настроить.

конфиг файл

acl office src 192.168.1.0/24

#acl allowed_sites dstdomain "/var/squid3/allowed_sites.conf"
acl limited_IP src "/var/squid3/limited_IP.conf"
#acl denied_sites dstdomain "/var/squid3/denied_ext.conf"

#http_access deny denied_sites
#http_access allow allowed_sites
http_access allow limited_IP
http_access allow office
http_access deny all
http_port 192.168.1.245:666

redirect_program /var/squid3/program/url_rewriter.pl
redirect_children 10

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

# Директория кэша и его параметры
# Размер кэша 4096
# Кол-во папок 1 - го уровня - 32
# Кол-во папок 2 - го уровня - 256
cache_dir ufs /var/spool/squid3 4096 32 256

# Мин размер кэш файла
minimum_object_size 2 KB

# Макс размер кэш файла
maximum_object_size 65536 KB

via off
forwarded_for delete

...
Рейтинг: 0 / 0
squid запрет сайтов
    #38786030
неТолик1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
noTpyJI,

Пропишите дополнительную логику в url_rewriter.pl
url_rewriter.pl в студию, возможно там достаточно прописать пару строк
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38786324
noTpyJI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
неТолик1, вот код

Код: perl
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
#!/usr/bin/perl

$0 = 'redirect';
$| = 1;

open(FILE, "/var/squid3/denied_ext.conf") || die $!;

my @tmp_data = <FILE>;
chomp @tmp_data;
push @banners, map { qr /\Q$_\E/ }  grep{!/^\s*$/} @tmp_data;

while (<>) {
  chomp;
  @X = split;
  $url = $X[0];
  
  if (not grep($url =~ /(http|https)?(:\/\/)?$_/i, @banners)){
    print $X[0]." \n";
  } else {
    print "http://www.kudato-tuda.ru\n"
  }
}
  
close FILE;
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38786741
неТолик1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
noTpyJI,

Код: perl
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
while (<>) {
  chomp;
  @X = split;
  $url = $X[0];
  
  if($ENV{'REMOTE_ADDR'} == "192.168.100.1") || ($ENV{'REMOTE_ADDR'} == "192.168.100.2") {
    print $X[0]." \n";
  } elsif (not grep($url =~ /(http|https)?(:\/\/)?$_/i, @banners)){
    print $X[0]." \n";
  } else {
    print "http://www.kudato-tuda.ru\n"
  }
}



я не работаю с перлом, посему не гарантирую работоспособность данного кода (не отлаживал, не проверял).
Логика - добавлено условие: если адрес запросившего страницу = 192.168.100.1, или 192.168.100.2 или ..... (список ИП можно вынести в отдельный файл) отдаем ему что он запросил. Остальные ИП попадают под ваш обработчик.
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38786979
Мутаген
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
noTpyJI,
В squid есть директива redirector_access, попадающее под её ACL запросы идут мимо редиректора.
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38788322
noTpyJI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще столкнулся со странной штукой, при в несении измененный в программу все остается по прежнему.
url_rewriter.pl проверил скрипт рабочий 100%. Поменял в скрипте редирект на другой сайт, все перезапустил. Через IE редирект на старый сайт, через Хром вообще не происходит редирект а спокойно пускает куда пользователь идет
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38788615
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
noTpyJIВообще столкнулся со странной штукой, при в несении измененный в программу все остается по прежнему.
так perl компилируется при запуске и больше не читает файл. нужно squid передергивать, чтобы тот запускал программу заново.
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38788909
noTpyJI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwind,

nтак вроде передергивал
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38788931
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
noTpyJI, так надо убедиться что простые варианты решения проблемы опробованы. Иначе вам остается непростой - отладка squid с опцией и размышление почему же оно так работает.
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38792069
noTpyJI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще странная штука.

Сделал вывод в файл.

foreach $key( keys( %ENV ) ) {
print IN "$key - $ENV{ $key }\n";
}

заметил что REMOTE_ADDR там отсутствует там в принципе нет нужной мне инфы...
И IE ведет себя крайне странно, текст url_rewriter давно изменен, а он продолжает делать редирект.
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38792247
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
noTpyJI, ну подумал бы прежде чем верить кому попало.
разумеется, общение squid и rewrite-скрипта идет не через переменные окружения. они же один раз задаются родительским процессом.
общение идет через stdin/stdout. писать надо не так
(я сам не знаю как именно, но очевидные выводы могу сделать)
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38792253
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как обычно, гадать не надо - надо читать доку: Feature: Add-On Helpers for Request Manipulation
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38792260
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindобщение идет через stdin/stdout+1
http://squid.bog.pp.ru/work/squid.html#redirector redirector - внешняя программа (небуфферизованный в/в), в цикле читает с stdin URL и пишет на stdout преобразованный URL (или пустую строку, если нет преобразований). Преобразование происходит после проверки ACL, но до проверки на присутствие в кеше. В 2.6 заменён на url_rewrite_program. Формат входной строки (поля, разделенные пробелами):

URL
ip-address/fqdn (если fqdn нет, то "-")
ident ("-", если нет)
method (GET, POST, ...)
urlgroup (в 2.6)
В squid3, возможно, формат иной, но смысл тот же самый.
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38793415
неТолик1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwindnoTpyJI, ну подумал бы прежде чем верить кому попало.
разумеется, общение squid и rewrite-скрипта идет не через переменные окружения. они же один раз задаются родительским процессом.
общение идет через stdin/stdout. писать надо не так
(я сам не знаю как именно, но очевидные выводы могу сделать)

Именно от ТС критика в виде "не верь кому попало" была бы в кон. От тебя нет.
Код, не без косяков. Об чем предупредили.
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38793496
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
неТолик1, этот код в принципе неправильный. вообще. чистое вредительство от дилетанта.
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38793516
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
noTpyJI,

мутаген уже ответил на твой вопрос

параметер в конфиге:
url_rewrite_access [previously called as redirector_access]


acl me src 172.16.1.15
acl bad_guy src 172.16.1.16


url_rewrite_access deny me
url_rewrite_access allow bad_guy
или
url_rewrite_Access allow all
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38793518
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwind,

неТолик1Именно от ТС критика в виде "не верь кому попало" была бы в кон. От тебя нет.
Код, не без косяков. Об чем предупредили.


ты же видишь, это честный человек, сразу предупредил, что ничего не понимает в
том, чего советует другим, а ты его вредителем.. нехорошо. извинись.
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38793605
неТолик1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
volodin661netwind,

неТолик1Именно от ТС критика в виде "не верь кому попало" была бы в кон. От тебя нет.
Код, не без косяков. Об чем предупредили.


ты же видишь, это честный человек, сразу предупредил, что ничего не понимает в
том, чего советует другим, а ты его вредителем.. нехорошо. извинись.

Данный код не работает, согласен. Если покурить мануал в ссылке Basil A. Sidorov , он вполне будет рабочим.

Давайте таки конструктивно строить диалог, а не хуячить направо и налево дилетантов и прочая...
Достойным ответом будет работающий код. Иначе вы два троля. Напердели в лужу и слились.
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38793663
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
неТолик1, данный код не работает не потому, что ты не дотестировал или ошибся, а потом что просто пернул в лужу изначально ничего не зная о squid.
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38793699
неТолик1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwindнеТолик1, данный код не работает не потому, что ты не дотестировал или ошибся, а потом что просто пернул в лужу изначально ничего не зная о squid.

Да откудаж выводы такие ?
Ну нет здесь возможности рисовать блок схемы. В текстовом виде я тебе привёл варианты реализации:
авторЛогика - добавлено условие: если адрес запросившего страницу = 192.168.100.1, или 192.168.100.2 или ..... (список ИП можно вынести в отдельный файл) отдаем ему что он запросил. Остальные ИП попадают под ваш обработчик.
(Кстати специально в текстовом подстраховался, на случай баранов)

Есть баран, есть случай...
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38794037
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
неТолик1, да щож такое ?
конструкция $ENV{'REMOTE_ADDR'} - не может работать потому что не может работать никогда.
Очень глупо выглядит когда остаточные знания о cgi на perl пихают туда где они не применимы пусть даже с благими намерениями.
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38794073
неТолик1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwindнеТолик1, да щож такое ?
конструкция $ENV{'REMOTE_ADDR'} - не может работать потому что не может работать никогда.
Очень глупо выглядит когда остаточные знания о cgi на perl пихают туда где они не применимы пусть даже с благими намерениями.

Здесь вы правы.
давайте заменим $ENV{'REMOTE_ADDR'} на переменную stdin $X[1];
Логика таже, переменные разные.
И да, я незнаю как на perl реализовать "ИЛИ".
...
Рейтинг: 0 / 0
squid запрет сайтов
    #38794113
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, всё-таки, почитать справочник по общению между головоногим и помощниками?
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / squid запрет сайтов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]