[решено] Прошу помощи с настройками delay_pool в squid

Ответить
Аватара пользователя
Dan78

[решено] Прошу помощи с настройками delay_pool в squid

Сообщение Dan78 »

Здравствуйте!



Есть прокси/фаервол/NAT на Debian 7 (7.4). Два сетевых интерфейса (eth0 - WAN; eth1 - LAN (сеть 172.16.1.0/24)). В качестве прокси установлен SQUID (Version 2.7.STABLE9). Интернет есть у всех, канал 8 Mbit. Анализ логов при помощи squid-stat и sarg.

Этот канал хочу порезать при помощи сквида. До этого никогда такого не делал. Задача: отделить тех, кто качает и ходит в соцсети от всех остальных. Первым порезать скорость, вторым дать "равные" доли от канала. Оставив при этом запаса 2 Mbit канала. Нашел несколько инструкций по настройке squid и delay_pool в частности, в итоге получился следующий конфиг:



Код:

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

acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 172.16.1.0/24
acl localnet src 172.16.1.0/24	# RFC1918 possible internal network
acl vip src "/etc/squid/lists/vip"
acl file_bad urlpath_regex -i \.mp3$ \.asf$ \.wma$ \.flv$
acl bad_url dst "/etc/squid/lists/bad_url"
acl SSL_ports port 443		# https
acl SSL_ports port 563		# snews
acl SSL_ports port 873		# rsync
acl Safe_ports port 80		# http
acl Safe_ports port 21		# ftp
acl Safe_ports port 443		# https
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 Safe_ports port 631		# cups
acl Safe_ports port 873		# rsync
acl Safe_ports port 901		# SWAT
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager
http_access allow localnet vip
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow localhost
http_access deny all
cachemgr_passwd ghjcnjq all
http_port 172.16.1.1:3128 transparent
hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid
log_fqdn on
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
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
hosts_file /etc/hosts
coredump_dir /var/spool/squid
cache_dir ufs /var/spool/squid 5000 16 256
minimum_object_size 2 KB
maximum_object_size 61440 KB
via off
forwarded_for delete
delay_pools 4
delay_class 1 1
delay_parameters 1 768000/768000
delay_access 1 allow vip
delay_access 1 deny all
delay_class 2 2
delay_parameters 2 64000/5000000 8000/1024000
delay_access 2 allow file_bad
delay_access 2 deny all
delay_class 3 2
delay_parameters 2 64000/5000000 16000/2048000
delay_access 3 allow bad_url
delay_access 3 deny all
delay_class 4 3
delay_parameters 4 704000/50000000 -1/-1 38000/10000000
delay_access 4 allow localnet

Сквид ошибок не находит в конфиге, нормально стартует. Но при этом пользователи у меня в только классах 1 и 4. Запросы во второй и третий класс не попадают, хотя видно, что запросы, удовлетворяющие критериям - есть. Что неправильно в конфиге? Как исправить конфиг чтобы выполнить указанные условия?
Аватара пользователя
Dan78

Re: [решено] Прошу помощи с настройками delay_pool в squid

Сообщение Dan78 »

Я смотрю тут очень оперативно отвечают. Проблему решил сам. Собственно, неправильные настройки акселей дали потрясающий эффект. И так.



Было:



Код:

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

acl file_bad urlpath_regex -i \.mp3$ \.asf$ \.wma$ \.flv$
acl bad_url dst "/etc/squid/lists/bad_url"

Стало:



Код:

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

acl file_bad urlpath_regex -i mp3$ asf$ wma$ flv$
acl bad_url dstdomain "/etc/squid/lists/bad_url"

Было:



Код:

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

delay_pools 4
delay_class 1 1
delay_parameters 1 768000/768000
delay_access 1 allow vip
delay_access 1 deny all
delay_class 2 2
delay_parameters 2 64000/5000000 8000/1024000
delay_access 2 allow file_bad
delay_access 2 deny all
delay_class 3 2
delay_parameters 2 64000/5000000 16000/2048000
delay_access 3 allow bad_url
delay_access 3 deny all
delay_class 4 3
delay_parameters 4 704000/50000000 -1/-1 38000/10000000
delay_access 4 allow localnet

Стало:



Код:

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

delay_pools 4
delay_class 1 1
delay_parameters 1 768000/768000
delay_access 1 allow vip
delay_access 1 deny all
delay_class 2 2
delay_parameters 2 64000/5000000 8000/1024000
delay_access 2 allow file_bad
delay_access 2 deny all
delay_class 3 2
delay_parameters 3 64000/5000000 16000/2048000
delay_access 3 allow bad_url
delay_access 3 deny all
delay_class 4 2
delay_parameters 4 704000/50000000 38000/10000000
delay_access 4 allow localnet
delay_access 4 deny all
Ответить

Вернуться в «Программное обеспечение Linux и FreeBSD»