Здравствуйте!
Есть прокси/фаервол/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. Запросы во второй и третий класс не попадают, хотя видно, что запросы, удовлетворяющие критериям - есть. Что неправильно в конфиге? Как исправить конфиг чтобы выполнить указанные условия?