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

Исходное сообщение
"прошу подредактировать squid.conf"

Отправлено Антон , 09-Апр-04 11:02 
Здравствуйте!
Я только начал своё знакомство с этим прокси, многие вопросы разрешились после прочтения документации, поиска по форумам и проч. Если честно, в голове сейчас каша, и решая насущную задачу ощущаю себя блуждающим промеж 3=х сосен...
Стоит задача раздать ограниченный инет группе NETLIM (запретить .MP3 и проч, acl MMEDIA, запретить доступ к порносайтам), при этом не ограничивая ни в чём группу NETVIP.
Скорость группе NETLIM режется (правда странно, закачка начинается очень резво, падая до 4кб/с). Но:
неразрешённые мультимедиа файлы скачиваются;
скорость скачивания с FTP для NETLIM начинается весьма шустро (и держится почти минцту) - с 30 кб/с;
не работает правило с запретом порно (в ETC лежит файл без расширения с 1-м ключевым словом на строку);

Что я делаю неправильно?
Если можно, укажите на ошибки... Может, что-то лишнее, или забыто...

squid.conf полностью~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

http_port 192.168.123.155:3128

hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

cache_mem 32 MB
cache_dir ufs c:/squid/var/cache 4096 16 256

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

quick_abort_min 16 KB
quick_abort_max 16 KB
quick_abort_pct 95
range_offset_limit 0 KB

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 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 netlim src 192.168.123.5/255.255.255.255
#acl netlim src 192.168.123.9/255.255.255.255
acl netlim src 192.168.123.11/255.255.255.255
acl netlim src 192.168.123.13/255.255.255.255
acl netlim src 192.168.123.20/255.255.255.255
acl netlim src 192.168.123.22/255.255.255.255
acl netlim src 192.168.123.24/255.255.255.255
acl netlim src 192.168.123.26/255.255.255.255
acl netlim src 192.168.123.28/255.255.255.255
acl netlim src 192.168.123.29/255.255.255.255
acl netlim src 192.168.123.30/255.255.255.255
acl netlim src 192.168.123.103/255.255.255.255
acl netlim src 192.168.123.104/255.255.255.255

acl netvip src 192.168.123.25/255.255.255.255
acl netvip src 192.168.123.161/255.255.255.255

acl worktime time MTWHF 08:45-18:15
acl mmedia urlpath_regex -i \.mp3$ \.mpeg$ \.avi$ \.mov$ \.mpg$ \.wma$
acl mmedia urlpath_regex \.avi$ \.mpeg$ \.mp3$ \.mov$ \.mpg$ \.wma$
acl mmedia urlpath_regex -i .mp3$ .avi$ .asf$ .mpg$ .mpeg$ .m2v$ .rm$ .wmv$ .mov$

# закоментировал потому что сквид ругался на этот аксель
#acl porno url_regex "c:/squid/etc/porno"
#acl exclusion url_regex "c:/squid/etc/exclusion"

http_access allow netlim worktime
http_access allow netvip
http_access allow manager localhost

http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny netlim mmedia
# как же это заставить работать?
#http_access deny porno !exclusion
http_access deny all
http_reply_access allow all
icp_access allow all

cache_mgr my@email.ru
visible_hostname 192.168.123.155

delay_pools 2
delay_class 1 2
delay_class 2 2

delay_access 1 allow netlim worktime
delay_access 1 deny mmedia
delay_access 1 deny all
delay_access 2 allow netvip
delay_access 2 deny all

delay_parameters 1 64000/64000 4000/4000
delay_parameters 2 -1/-1 128000/128000
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Содержание

Сообщения в этом обсуждении
"прошу подредактировать squid.conf"
Отправлено ipmanyak , 09-Апр-04 12:33 
запрет на мультимедиа нужно писать url_regex а не url_path
правило для запрета мультимедиа нужно поставить выше акселя http_access allow netlim worktime
аксель http_access deny netlim mmedia исправь на
http_access deny mmedia  
аксель http_access allow netvip  поставь выше правил запрета мультимедиа

зачем ты аксели mmedia написал 3 раза ? пиши один раз и все пихай в одну строку
а где у тебя порно режется ? аксели на файлы у тебя заремлены !
#acl porno url_regex "c:/squid/etc/porno"  и правильно ругался! какой нафиг диск С: в юниксе  !  :)))
нужно писать так:
acl porno   url_regex -i "/usr/local/squid/etc/porn"
строка delay_parameters 1 64000/64000 4000/4000  означает что ты этому пулу дал канал в 64к, ведро каждому юзеру в 4к и струю в него тоже 4к , то бишь , будет грузить объекты до 4к быстро (на скорости 64к) а объекты выше 4к будут литься на скорости 4к . сакса и гудлаков тебе немеряно в кальмаровых дебрях ! :)


"прошу подредактировать squid.conf"
Отправлено zzz , 09-Апр-04 13:59 
Меня всегда интересовало что значит в ACL  ключ -i  
acl mmedia urlpath_regex -i \.mp3$ \.mpeg$ \.avi$ \.mov$ \.mpg$ \.wma$
Заранее благодарен за ответ....!

"прошу подредактировать squid.conf"
Отправлено ipmanyak , 09-Апр-04 14:37 
>Меня всегда интересовало что значит в ACL  ключ -i
>acl mmedia urlpath_regex -i \.mp3$ \.mpeg$ \.avi$ \.mov$ \.mpg$ \.wma$
>Заранее благодарен за ответ....!

ключ i означает парсить маленькими и большими буковками, то бишь
неважно как юзер наберет урлу - прописными или строчными буквами.


"прошу подредактировать squid.conf"
Отправлено Антон , 09-Апр-04 14:18 
Благодарю за науку!

>и правильно ругался! какой нафиг диск С:
>в юниксе  !  :)))
>нужно писать так:
>acl porno   url_regex -i "/usr/local/squid/etc/porn"

Рискую навлечь на себя волну негодования, но я не в юниксе... Squid for NT. Ладно, спасибо, сейчас ещё попробую...


"прошу подредактировать squid.conf"
Отправлено ipmanyak , 09-Апр-04 14:43 
>Благодарю за науку!
>
>>и правильно ругался! какой нафиг диск С:
>>в юниксе  !  :)))
>>нужно писать так:
>>acl porno   url_regex -i "/usr/local/squid/etc/porn"
>
>Рискую навлечь на себя волну негодования, но я не в юниксе... Squid
>for NT. Ладно, спасибо, сейчас ещё попробую...
значит путь к файлу неверен или самого файла нет
или внутри файла каша, короче смотри сache.log там написано что неверно


"Отлично, заработало! Но flasget всё равно прорывается..."
Отправлено Антон , 09-Апр-04 16:23 
Из браузера файлы по правилу MMEDIA не принимаются, а вот FlashGet их вытягивает. Как запретить этих "качков"?
:)

"Отлично, заработало! Но flasget всё равно прорывается..."
Отправлено ipmanyak , 09-Апр-04 17:48 
>Из браузера файлы по правилу MMEDIA не принимаются, а вот FlashGet их
>вытягивает. Как запретить этих "качков"?
>:)
чет не верится! reget по крайней  мере точно ничего не сосет через сквид!
может у тебя flashget мимо прокси пашет ? типа по нату или напрямую прется?


"реально прорывается..."
Отправлено Антон , 09-Апр-04 20:28 
>чет не верится! reget по крайней  мере точно ничего не сосет
>через сквид!

Ей Богу не вру! Вот лог из FlashGet:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fri Apr 09 20:22:43 2004 Connecting proxy 192.168.123.155 [IP=192.168.123.155:3128]
Fri Apr 09 20:22:43 2004 Connected.
Fri Apr 09 20:22:43 2004 CONNECT www.letchik.ru:80 HTTP/1.0
Fri Apr 09 20:22:43 2004 HTTP/1.0 200 Connection established
Fri Apr 09 20:22:43 2004 GET /music/letchik01.mp3 HTTP/1.1
Fri Apr 09 20:22:43 2004 Host: www.letchik.ru
Fri Apr 09 20:22:43 2004 Accept: */*
Fri Apr 09 20:22:43 2004 Referer: http://www.letchik.ru/pages/song01a.htm
Fri Apr 09 20:22:43 2004 User-Agent: Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)
Fri Apr 09 20:22:43 2004 Range: bytes=68832-
Fri Apr 09 20:22:43 2004 Pragma: no-cache
Fri Apr 09 20:22:43 2004 Cache-Control: no-cache
Fri Apr 09 20:22:43 2004 Connection: close
Fri Apr 09 20:22:44 2004 HTTP/1.1 206 Partial Content
Fri Apr 09 20:22:44 2004 Date: Fri, 09 Apr 2004 16:23:03 GMT
Fri Apr 09 20:22:44 2004 Server: Apache/1.3.27 (Unix) FrontPage/5.0.2.2623 PHP/4.3.2 mod_gzip/1.3.19.1a mod_accounting/1.0 mod_fastcgi/2.4.0 mod_ssl/2.8.14 OpenSSL/0.9.7b rus/PL30.17
Fri Apr 09 20:22:44 2004 Last-Modified: Tue, 20 May 2003 16:14:57 GMT
Fri Apr 09 20:22:44 2004 ETag: "49c0a0-4ab000-3eca5481"
Fri Apr 09 20:22:44 2004 Accept-Ranges: bytes
Fri Apr 09 20:22:44 2004 Content-Length: 4825888
Fri Apr 09 20:22:44 2004 Content-Range: bytes 68832-4894719/4894720
Fri Apr 09 20:22:44 2004 Connection: close
Fri Apr 09 20:22:44 2004 Content-Type: audio/mpeg
Fri Apr 09 20:22:44 2004 Start Receiving Data!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Причём из браузера действительно не качает - срабатывает правило, access denied.

Вот последняя редакция squid.conf:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
http_port 192.168.123.155:3128

hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

cache_mem 32 MB
cache_dir ufs c:/squid/var/cache 4096 16 256

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

quick_abort_min 16 KB
quick_abort_max 16 KB
quick_abort_pct 95
range_offset_limit 0 KB

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 21        # ftp
acl Safe_ports port 25        # pop3
acl Safe_ports port 110        # smtp
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 netlim src 192.168.123.5/255.255.255.255
acl netlim src 192.168.123.9/255.255.255.255
acl netlim src 192.168.123.11/255.255.255.255
acl netlim src 192.168.123.13/255.255.255.255
acl netlim src 192.168.123.19/255.255.255.255
acl netlim src 192.168.123.20/255.255.255.255
acl netlim src 192.168.123.22/255.255.255.255
acl netlim src 192.168.123.24/255.255.255.255
acl netlim src 192.168.123.26/255.255.255.255
acl netlim src 192.168.123.28/255.255.255.255
acl netlim src 192.168.123.29/255.255.255.255
acl netlim src 192.168.123.30/255.255.255.255
acl netlim src 192.168.123.31/255.255.255.255
acl netlim src 192.168.123.103/255.255.255.255
acl netlim src 192.168.123.104/255.255.255.255

acl netvip src 192.168.123.25/255.255.255.255
acl netvip src 192.168.123.161/255.255.255.255
acl netvip src 192.168.123.166/255.255.255.255

acl worktime time MTWHF 08:45-22:15
acl mmedia url_regex -i .mp3$ .avi$ .asf$ .mpg$ .mpeg$ .m2v$ .rm$ .wmv$ .mov$ .wav$

acl porno url_regex -i "c:/squid/etc/porno"
acl exclusion url_regex -i "c:/squid/etc/exclusion"

http_access deny netlim mmedia
http_access deny netlim porno !exclusion

http_access allow netlim worktime
http_access allow netvip
http_access allow manager localhost

http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
http_reply_access allow all
icp_access allow all

cache_mgr test@test.ru
visible_hostname 192.168.123.155

delay_pools 2
delay_class 1 2
delay_class 2 2

delay_access 1 allow netlim worktime
delay_access 1 deny mmedia
delay_access 1 deny all
delay_access 2 allow netvip
delay_access 2 deny all

delay_parameters 1 64000/64000 4000/4000
delay_parameters 2 -1/-1 128000/128000
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Может закрыть вообще FTP, как считаешь?


"И ещё: отчего не срабатывает вот это правило?"
Отправлено Антон , 09-Апр-04 20:46 
Ещё вопрос, если можно:

На эти строчки в конфиге (по идее, это исключения для списка "porno"):

acl porno url_regex -i "c:/squid/etc/porno"
acl exclusion url_regex -i "c:/squid/etc/exclusion"
http_access deny netlim porno !exclusion

SQUID ругается:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2004/04/09 20:42:37| aclParseAclLine: IGNORING invalid ACL: acl exclusion url_regex "c:/squid/etc/exclusion"
2004/04/09 20:42:37| squid.conf line 69: http_access deny netlim porno !exclusion
2004/04/09 20:42:37| aclParseAccessLine: ACL name 'exclusion' not found.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Почему так?