Сравнение свободных программ учета трафика SQUID. Настройка и основные параметры SQUID Общие сведения о Squid

SQUID - это программа, которая получает HTTP/FTP-запросы клиентов и по ним обращается к ресурсам Интернет. Применение прокси-сервера (squid) дает возможность использовать фиктивные IP-адреса во внутренней сети (Masquerading - маскарадинг), увеличивает скорость обработки запроса при повторном обращении (кэширование), а также обеспечивает дополнительную безопасность.

Нет смысла устанавливать прокси на своей домашней машине, так как функции кэширования выполняет браузер. Прокси-сервер стоит применять лишь в том случае, если в вашей сети три-четыре компьютера, которым нужен выход в Интернет. В этом случае запрос от браузера к прокси-серверу обрабатывается быстрее, чем от браузера к ресурсам Интернет, и таким образом увеличивается производительность. При этом можно смело установить размер кэша в браузерах клиентов равным нулю.

SQUID - это нечто большее, чем просто прокси-сервер. Это своеобразный стандарт кэширования информации в сети Интернет. В силу повсеместной распространенности SQUID, в книге я уделил его конфигурированию большое внимание.

Прокси-сервер Squid образуется несколькими программами, в числе которых: сама программа сервера squid, а также программа dnsserver - программа обработки DNS-запросов. Когда запускается программа squid, то она сначала запускает заданное количество процессов dnsserver, каждый из которых работает самостоятельно и может осуществлять только один поиск в системе DNS. За счет этого уменьшается общее время ожидания ответа DNS.

15.2. Установка SQUID

SQUID может быть установлен из исходных текстов или в виде RPM-пакета. Установка RPM-пакета SQUID очень проста - для этого нужно ввести команду

rpm –ih squid-2.3.STABLE2-3mdk.i586.rpm

Я использую версию squid 2.3. Более новая версия доступна в виде исходных кодов. Исходники можно получить по адресу ftp://ftp.squid.org. Для распаковки исходных кодов, выполните следующие команды:

gunzip squid-2.3.STABLE2-3-src.tar.gz
tar xvf squid-2.3.STABLE2-3-src.tar.gz

Теперь перейдем непосредственно к установке:

./configure --prefix=/usr/local/squid

SQUID будет установлен в каталог, заданный ключом prefix - /usr/local/squid. Помимо prefix можно пользоваться ключами, представленными в табл. 15.1.

Ключи сценария configure Таблица 15.1

15.3. Настройка SQUID

Сервер SQUID использует файл конфигурации squid.conf, который обычно располагается в каталоге /etc/squid (или /usr/local/squid/etc - более ранние версии). Откройте его в любом текстовом редакторе, например, joe/usr/local/squid/etc/squid.conf. Далее выполните следующую последовательность действий:

1. Укажите прокси провайдера:

В данном случает proxy .isp.ru становится нашим «соседом» (neighbour, peer).

2. Установите объем памяти, доступный squid, и каталог для кэша:

cache_dir /usr/local/squid/cache 1024 16 256

где: 65536 - объем оперативной памяти в байтах, который можно использовать под кэш;

1024 - количество мегабайт, отводимое на диске в указанном каталоге под кэш. В этом каталоге будут храниться кэшированные файлы. Стоит ли говорить, что если у вас несколько жестких дисков, то кэш нужно разместить на самом быстром из них.

3. Укажите хосты, которым разрешен доступ к прокси-серверу:

acl allowed hosts src 192.168.1.0/255.255.255.0
acl localhost src 127.0.0.1/255.255.255.255

4. Укажите разрешенные SSL-порты:

http_access deny CONNECT !SSL_ports

и запретите доступ всем, кроме тех, кому можно:

http_access allow allowed_hosts

6. Пропишите пользователей, которым разрешено пользоваться squid (в рассматриваемом примере это den, admin, developer):

acl allowed_users user den admin developer
http_access allow allowed_users

Тэги maxium_object_size и maxium_object устанавливают ограничения на размер передаваемых объектов.

Ниже приведен пример запрета доступа к любому URL, который соответствует шаблону games и разрешения доступа ко всем остальным:

15.4. Запуск SQUID

Теперь, когда вы выполнили базовую настройку SQUID, его нужно запустить: /usr/local/squid/bin/squid –z

Параметр –z необходим для создания (обнуления) каталога, содержащего кэш. Обычно этот параметр нужен только при первом запуске. Некоторые другие полезные параметры SQUID представлены в табл. 15.2.

Параметры SQUID Таблица 15.2

Параметр Описание
-а порт Задает порт для входящих HTTP-запросов
-d Включает режим вывода отладочной информации в стандартный поток ошибок (на stderr)
-f файл Задает файл конфигурации
-h Выдает справочную информацию
-k reconfigure Посылает сигнал HUP
-k shutdown Завершение работы прокси-сервера
-k kill Завершение без закрытия журналов
-u порт Задает порт для входящих IСР-запросов
-s Включает журналирование с помощью syslog
-v Выдает информацию о версии SQUID
-D Не делать DNS-тест при запуске
-N Не становиться демоном (фоновым процессом)
-Y Более быстрое восстановление после сбоев

15.5. Формат файла squid.conf

В файле squid.conf задаются всевозможные параметры конфигурации прокси-сервера. Давайте рассмотрим их все по порядку.

15.5.1. Параметры сети

Порт для запросов клиентов (см. рис. 15.1):

Рис. 15.1. Параметры прокси-сервера


Если «соседей» (peer) нет, то установите icp_port 0

Порт для общения с соседями - ICP - через TCP. При использовании этого параметра нужно установить ключ --enable-htcp при установке htcp_port 4827.

Следующий параметр указывает, по какому адресу нужно принимать входящие пакеты, если хост имеет несколько интерфейсов. В версии 2.3 этого параметра нет:

При отправлении информации указанный адрес будет использован в качестве исходного:

То же, но для ICP:

(аналогично, для ICP)

То же, но для IСР (при приеме):

По умолчанию этот режим включен, но если прокси-сервер находится за бастионом (firewall), то параметр passive_ftp нужно выключить:

15.5.2. Параметры соседей

Описание соседей производится строками следующего формата:

cache_peer hostname type proxy-port icp-port options

где: hostname - имя соседа;

type - тип соседа: parent - старший, sibling - одного уровня;

proxy-port - порт прокси-сервера;

icp-port - порт ICP;

options - параметры.

При этом каждый сосед прописывается отдельной строкой.

Parent - при отсутствии запроса в локальном кэше он перенаправляется к parent; тот, если запроса не окажется в его кэше, пересылает его дальше и т.д. Возвращает готовый ответ подчиненному. Если squid получает TCP_DENIED от parent, то обращение к ресурсу будет идти напрямую.

Sibling - при отсутствии запроса в локальном кэше, запрос перенаправляется в sibling; при отсутствии запроса в нем, возвращает сообщение об этом, никаких дополнительных действий не предпринимается.

15.5.3. Управление кэшем

При достижении этого уровня заполнения кэша (в процентном соотношении) начинается ускоренный процесс удаления старых объектов.

Процесс удаления прекращается при достижении этого уровня.

Максимальный размер кэшируемого объекта.

Файлы меньшего размера не сохраняются.

15.5.4. Протоколирование

Ниже перечислены режимы протоколирования SQUID с указанием соответствующих журналов. Если какой-то журнал вам не нужен, установите none вместо имени файла.

cache_access_log /usr/local/squid/logs/access.log

Протоколируется каждый запрос к SQUID. Журнал называется /usr/local/squid/logs/access.log.

cache_log /usr/local/squid/logs/cache.log

Протоколируются запуски процессов. Журнал называется /usr/local /squid/logs/cache.log.

cache_store_log /usr/local/squid/logs/store.log

Протоколируются записи объектов в кэш. Журнал называется /usr/local/squid/logs/store.log.

15.5.5. Параметры внешних программ

Указанный здесь email будет использоваться вместо пароля при анонимном доступе к ftp-серверам.

dns_nameservers список IP-адресов

Значение данного параметра используется вместо того списка DNS-серверов, который определен в файле /etc/resolv.conf; по умолчанию - none.

cache_dns_program /usr/local/squid/bin/dnsserver

Данный параметр задает программу разрешения IP-адресов в имена (сервер DNS).

Позволяет производить аутентификацию клиентов, делающих запросы. При этом должен быть определен ACL proxy_auth.

authenticate_program /usr/local/squid/bin/ncsa_auth /usr/local/ squid/etc/passwd

Традиционная программа аутентификации. Определена в../auth_modules/NCSA.

15.5.6. Списки ACL

ACL (Access Control Lists) - списки контроля доступа. Довольно часто возникает потребность группировки однотипных параметров в единое целое для их последующей обработки. Для эффективного решения этой задачи используются списки контроля доступом (ACL). Например:

Эта запись означает, что создается список SSL_ports типа port. Элементами списка являются номера портов 443 и 563.

Добавить новый элемент к уже существующему списку (параметр add) можно так:

Удалить ненужный элемент можно с помощью параметра del: acl del SSL_ports 999

Переименовать список позволяет параметр ren (от rename):

acl ren SSL_ports Allowed_ports

Удалить все списки вместе с их содержимым позволяет параметр flush:

Стандарт ACL требует, чтобы перед именем списка обязательно был указан символ $. Другими словами, все перечисленные выше примеры по большому счету должны быть неправильными. Например, для создания списка нужно использовать запись:

Однако большинство фильтров, например SQUID, пренебрегают этим требованием, и вы можете указывать имена списков без знака доллара.

Итак, ACL - это определение списка доступа. Имеет следующий формат:

acl имя тип строка

где: тип - это тип объекта;

строка - регулярное выражение.

Можно использовать список:

acl имя тип имя_файла

Перечисление параметров производится по одному параметру в строке. Типы, которые можно использовать при составлении списков ACL, указаны в табл. 15.3.

Типы ACL Таблица 15.3

Тип Описание типа
Src ip-address/netmask Задает IP-адрес клиентов
Src addr1-addr2/netmask Указывает диапазон адресов
Dst ip-address/netmask Задает URL хостов
Time Время, где день - это одна буква из SMTWHFA
Port Список портов
Port port1–port2 Диапазон портов
Proto Протокол - HTTP или FTP
Method Метод - GET или POST
Browser [-i] regexp Сравнивается заголовок User-Agent

[-i] - игнорируется регистр букв.

15.5.7. Параметры доступа

http_access allow|deny aclname

Разрешать доступ к прокси по HTTP.

icp_access allow | deny aclname

Разрешать доступ к прокси по ICP.

miss_access allow | deny aclname

Разрешить получать ответ MISS от вас.

cache_peer_access cache-host allow|deny aclname

Ограничить запросы к данному соседу - расширение для cache_peer_domain.

proxy_auth_realm Squid proxy-caching web server

Строка текста, которая будет выдана на экран клиента при запросе имени/пароля доступа к кэшу.

15.5.8. Параметры администрирования

Данный параметр задает почтовый адрес, на который будет послано письмо, если squid перестанет функционировать.

При запуске SQUID от имени root изменить UID на указанный в параметре cache_effective_user.

При запуске SQUID от имени root изменить GID на указанный в параметре cache_effective_group.

visible_hostname имя_хоста

Это имя будет упоминаться в сообщениях об ошибках.

Этот параметр задает список синонимов для имени хоста.

15.6. Отказ от рекламы. Баннерный фильтр

Вам не хочется тратить лишнее время на загрузку рекламных баннеров? Мне тоже. К счастью, SQUID позволяет достаточно просто решить эту проблему. Просто вставьте следующие строки в свой файл /usr/local /etc/squid/squid.conf:

acl good_url url_regex "/usr/local/etc/squid/acl/good_url"
acl bad_urlpath urlpath_regex "/usr/local/etc/squid/acl/bad_urlpath"
acl bad_url url_regex "/usr/local/etc/squid/acl/bad_url"
http_access deny bad_urlpath !good_url
http_access deny bad_url !good_url

Соответственно, нужно будет создать три файла: good_url, bad_url_path и bad_url. В файл bad_url следует поместить «плохие» URL, например:

^http://.*-ad.flycast.com/server/img/
^http://1000-stars-ru/cgi-bin/1000-cgi
^ http://1000.stars.ru/cgi-bin/1000.cgi

А в файл bad_url_path - «плохой» путь, например:

Обычно такие имена имеют баннеры.

Примеры файлов good_url, bad_url_path и bad_url можно взять на моей домашней страничке - http://dkws.narod.ru

15.7. Разделение канала

Допустим, вам нужно настроить прокси-сервер таким образом, чтобы одна группа компьютеров могла работать с одной скоростью, а другая - с другой. Это может потребоваться, например, для разграничения пользователей, которые используют канал для работы, и пользователей, которые используют ресурсы канала в домашних целях. Естественно, первым пропускная способность канала важнее, чем вторым. С помощью прокси-сервера SQUID можно разделить канал.

Для начала в файле конфигурации укажите, сколько пулов, то есть групп пользователей, у вас будет:

Затем определите классы пулов. Всего существует три класса:

1. Используется одно ограничение пропускной способности канала на всех.

2. Одно общее ограничение и 255 отдельных для каждого узла сети класса С.

3. Для каждой подсети класса В будет использовано собственное ограничение и отдельное ограничение для каждого узла.

В файл squid.conf добавьте следующие директивы:

delay_class 1 1 # определяет первый пул класса 1 для домашних пользователей
delay_class 2 2 # определяет второй пул класса 2 для служащих

Теперь задайте узлы, которые будут относиться к пулам:

Затем укажите ограничения:

delay_parameters 1 14400/14400
delay_parameters 2 33600/33600 16800/33600

Как я уже отмечал выше, для пула класса 1 используется одно ограничение для всех компьютеров, входящих в пул - 14400 байт. Первое число задает скорость заполнения для всего пула (байт/секунду). Второе - максимальное ограничение.

Для пула класса 2, соответственно, используются ограничения на всю подсеть и отдельно на каждого пользователя. Если бы у нас был определен пул класса 3, то для него ограничения выглядели примерно так:

delay_parameters 3 128000/128000 64000/128000 12800/64000

Первые два числа задают соответственно скорость заполнения и максимальное ограничение для всех. Следующая пара чисел определяет скорость заполнения для каждой подсети и максимальное ограничение, а третья - скорость заполнения и максимальное ограничение для индивидуального пользователя.

15.8. Программы для учета трафика

Для мониторинга работы SQUID и вообще для учета трафика можно воспользоваться следующими программами:

sqmgrlog - http://www.ineparnet.com.br/orso/index.html

mrtg - http://www.switch.ch/misc/leinen/snmp/perl/

iptraf - http://dkws.narod.ru/linux/soft/iptraf-2.4.0.tar.gz

bandmin - http://www.bandmin.org

webalizer (анализ работы Apache) - http://www.mrunix.net/webalizer/

Вместе с данными программами поставляется довольно читаемая документация, поэтому подробно на их использовании я останавливаться не буду. Программа MRTG описана в п. 8.5.

15.9. Настройка клиентов

После того, как вы настроили прокси-сервер, давайте займемся настройкой клиентов, то есть браузеров пользователя. Я не сомневаюсь, что вы знаете, как настраивать тот или иной браузер, я лишь напомню процедуру настройки для некоторых распространенных браузеров.

Internet Explorer 5

Меню Сервис→Свойства обозревателя→вкладка Подключение→Настройка сети. В появившемся окне установите необходимые параметры, то есть имя прокси-сервера и его порт (см. рис. 15.2).

Рис. 15.2. Настройка Internet Explorer


Netscape Communicator

Меню Edit→Preferences→Advanced→Proxies→Manual Proxy Configuration→View (см. рис. 15.3).

Рис. 15.3. Настройка Netscape Communicator


Konqueror

Меню Настройки→Настройки→Прокси (см. рис. 15.4).

Рис. 15.4. Настройка Konqueror


В этой части я расскажу вам про то, какие основные параметры необходимо менять, хотя и не обязательны, ведь разработчики самого сквида выставили довольно хорошо львиную долю значений. Итак, начнем по порядку...
Так как я часто работаю через ssh соединение, иногда на некоторых серверах бывает отвратительная скорость, в связи с этой проблемой рекомендую писать все в самом начале конфига, что дает ему довольно хорошо читаемый вид, и не нужно поиском искать все значения. Хотя, хочу заметить, что все второстепенные параметры(кроме списков доступов ACL и парочки других) не задаются в конфиге по умолчанию. На деле же прописан дефолтный параметр, и он имеет комментарий. Так что нам не придется искать каждый параметр. НО(!!!) если вы уже правили, то не нужно начинать писать все в самом верху, необходимо найти рас комментированные значения и менять их. Поехали.

Первое что я советую сметить, хотя бы на время тестирования это параметр shutdown_lifetime по дефолту он имеет значение 30 секунд, что очень долго. Приведу пример, иногда бывает такое, что ты что-то накосячил, и инет у всего офиса пропал, ты быстро изменил свою ошибку, но сам сквид после того как ты ему послал SIGTERM или SIGHUP(перезагружаешь) ждет время, которое стоит в этом параметре, в течении которого новые соединения не будут устанавливаться, а старые должны закончить закачку. Я обычно ставлю:
shutdown_lifetime 5
Слудущими параметрами будут параметры описывающие кеш cache_dir, maximum_object_size
Итак, если у нас стоит нормальный шлюз, которые проксирует инет, и в организации хватает компов >30, то нужно ставить минимум 2 гига, хотя два в принципе и достаточно большинству. У параметра cache_dir много параметров, я не хочу на них останавливаться, ибо все это отлично описано в манах. Я привиду лишь, то что считаю наиболее рациональным, стандартные 256 Мб ни куда не годятся:)
cache_dir ufs /var/squid/cache 2048 16 256
после этого необходимо пересоздать каталоги командой Squid -z , что сотрет весь наш предедуший кеш.

maximum_object_size говорит сквиду стоит ли записывать файлы размером больше определенного.
maximum_object_size 10024 , мне кажется что этого вполне хватит, потом некоторые можно будет выуживать из кеша. Иногда полезно если у вас работники качают свежую версию, например Adobe Flash Player.

visible_hostname "%Имя хоста%"

Linux-сервер своими руками Колисниченко Денис Николаевич

15.1. Что такое SQUID?

15.1. Что такое SQUID?

SQUID - это программа, которая получает HTTP/FTP-запросы клиентов и по ним обращается к ресурсам Интернет. Применение прокси-сервера (squid) дает возможность использовать фиктивные IP-адреса во внутренней сети (Masquerading - маскарадинг), увеличивает скорость обработки запроса при повторном обращении (кэширование), а также обеспечивает дополнительную безопасность.

Нет смысла устанавливать прокси на своей домашней машине, так как функции кэширования выполняет браузер. Прокси-сервер стоит применять лишь в том случае, если в вашей сети три-четыре компьютера, которым нужен выход в Интернет. В этом случае запрос от браузера к прокси-серверу обрабатывается быстрее, чем от браузера к ресурсам Интернет, и таким образом увеличивается производительность. При этом можно смело установить размер кэша в браузерах клиентов равным нулю.

SQUID - это нечто большее, чем просто прокси-сервер. Это своеобразный стандарт кэширования информации в сети Интернет. В силу повсеместной распространенности SQUID, в книге я уделил его конфигурированию большое внимание.

Прокси-сервер Squid образуется несколькими программами, в числе которых: сама программа сервера squid, а также программа dnsserver - программа обработки DNS-запросов. Когда запускается программа squid, то она сначала запускает заданное количество процессов dnsserver, каждый из которых работает самостоятельно и может осуществлять только один поиск в системе DNS. За счет этого уменьшается общее время ожидания ответа DNS.

Из книги Linux-сервер своими руками автора

15 Прокси-сервер SQUID 15.1. Что такое SQUID? SQUID - это программа, которая получает HTTP/FTP-запросы клиентов и по ним обращается к ресурсам Интернет. Применение прокси-сервера (squid) дает возможность использовать фиктивные IP-адреса во внутренней сети (Masquerading - маскарадинг),

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

15.2. Установка SQUID SQUID может быть установлен из исходных текстов или в виде RPM-пакета. Установка RPM-пакета SQUID очень проста - для этого нужно ввести команду rpm –ih squid-2.3.STABLE2-3mdk.i586.rpmЯ использую версию squid 2.3. Более новая версия доступна в виде исходных кодов. Исходники можно

Из книги Linux глазами хакера автора Флёнов Михаил Евгеньевич

15.3. Настройка SQUID Сервер SQUID использует файл конфигурации squid.conf, который обычно располагается в каталоге /etc/squid (или /usr/local/squid/etc - более ранние версии). Откройте его в любом текстовом редакторе, например, joe/usr/local/squid/etc/squid.conf. Далее выполните следующую последовательность

Из книги автора

15.4. Запуск SQUID Теперь, когда вы выполнили базовую настройку SQUID, его нужно запустить: /usr/local/squid/bin/squid –zПараметр –z необходим для создания (обнуления) каталога, содержащего кэш. Обычно этот параметр нужен только при первом запуске. Некоторые другие полезные параметры SQUID

Из книги автора

15.5. Формат файла squid.conf В файле squid.conf задаются всевозможные параметры конфигурации прокси-сервера. Давайте рассмотрим их все по

Из книги автора

17.1.5. Настройка Squid Установите пакет squid. Осталось настроить и запустить его. Для этого нужно отредактировать файл конфигурации /etc/squid/squid.conf. Сначала укажите адрес прокси провайдера: cach_peer proxy.your_isp.comЗадайте объем ОЗУ, который будет использовать прокси-сервером: cache_memВ том

Из книги автора

Глава 18. Прокси-серверы SQUID и SOCKS 18.1. Что такое прокси-сервер? Прокси-сервер (сервер-посредник) - это программа, которая выполняет HTTP/FTP-запросы от имени клиентов. Применение прокси-сервера дает возможность использовать фиктивные IP-адреса во внутренней сети (IP-маскарадинг),

Из книги автора

18.2. Установка SQUID Я использую версию squid 2.5. Пакет squid входит в состав современных дистрибутивов, а если его у вас почему-то нет, то скачать можно с www.squid-cache.org.При сборке SQUID из исходных кодов первым шагом должна быть команда# ./configure --prefix=/usr/local/squidSQUID будет установлен в каталог,

Из книги автора

18.3. Настройка SQUID Сервер SQUID использует файл конфигурации squid.conf, который обычно располагается в каталоге /etc/squid (или /usr/local/squid/etc - более ранние версии). Подробнее на отдельных настройках мы остановимся чуть позже. А сейчас просто по шагам произведем настройку SQUID.

Из книги автора

18.4. Запуск SQUID Первый раз squid нужно запускать с ключом -z, чтобы создать и очистить каталог кэша:# /usr/local/squid/bin/squid -zЕще несколько полезных ключей, с которыми можно запускать squid, перечислены в таблице 18.2.Ключи запуска squid Таблица 18.2 Ключ Назначение -а порт Задает

Из книги автора

18.5. Расширенные настройки SQUID. Конфигурационный файл squid.conf 18.5.1. Параметры сети В файле squid.conf могут быть заданы следующие параметры сети:? http_port - порт для запросов клиентов. С этого порта прокси-сервер будет ожидать и обрабатывать запросы клиентов. Значение по умолчанию

Из книги автора

18.8. Разделение канала с помощью SQUID Допустим, вам нужно настроить прокси-сервер таким образом, чтобы одна группа компьютеров работала в Интернете с одной скоростью, а другая - с другой. Это может потребоваться, например, для разграничения пользователей, которые

Из книги автора

9.3. squid Как я уже сказал, самым распространенным прокси-сервером является squid. Этот сервер имеет достаточно длинную историю, и за время его существования в нем реализовано много возможностей. Еще не было ничего такого, что я не смог бы получить с помощью squid.Основной

Из книги автора

9.4. Права доступа к squid Это самая больная тема для любого администратора. Да, и в squid тоже есть права доступа, и они также описываются в конфигурационном файле /etc/squid/squid.conf. Но мы рассматриваем права отдельно, потому что основной упор делаем на безопасность. Именно поэтому

Из книги автора

9.5. Замечания по работе squid Сейчас нам предстоит немного поговорить о некоторых вопросах безопасности сервиса squid и дополнительных возможностях, которые могут ускорить работу в

Из книги автора

12.5.4. Журнал прокси-сервера squid Основным журналом прокси-сервера squid является /var/log/squid/access.log. Это текстовый файл, в котором каждая строка состоит из следующих полей:? время начала соединения или события;? продолжительность сессии;? IP-адрес клиента;? результат обработки

Теперь будет ограничение cкорости закачки для разного рода групп людей. Ну, что, готовы? :) Поехали…

Начало. Создаем ACL

Создаем группы ACL:
acl mp3_deny src "/etc/squid/lists/mp3_deny_users"
acl super_users src "/etc/squid/lists/super_users"
acl deny_all src "/etc/squid/lists/deny_all_users"

Вот мы и создали списки, а точнее три группы пользователей, адреса которых содержаться в файлах. Так как айпи были присвоены до меня, и не сходятся по разрешению что им качать а что нет, будет проше выписать их IP в файл чем создавать диапозоны, но для вас все что угодно:)
acl mego_super_user src 192.168.0.0-256 # =) только аккуратно с этим диапозоном
Пример содержания файла со списком
nano "/etc/squid/lists/mp3_deny_users"
192.168.0.213
192.168.0.75
192.168.0.52
195.168.0.254

Теперь пора создать список запрещенных разрешений:
acl mobile urlpath_regex -i (\.thm|\.sis|\.swf|\.jad|\.jar|\.3gp|\.mp4)((\#|\&|\?|\s){1}|$)
acl multimedia urlpath_regex -i (\.swf|\.mp3|\.m3u|\.flv|\.wav|\.vqf|\.avi|\.wmv|\.mpeg|\.mp|\.asf|\.mpe|\.dat|\.mpg|\.wma|\.midi|\.aiff|\.au|\.qt|\.ram|\.rm|\.iso|\.raw|\.mov)((\#|\&|\?|\s){1}|$)
acl archive urlpath_regex -i (\.tar.gz|\.gz|\.tar|\.zip|\.rar|\.cab|\.arj|\.lzh|\.ace|\.7-zip|\.gzip|\.uue|\.bz2|\.iso)((\#|\&|\?|\s){1}|$)
acl soft urlpath_regex -i (\.exe|\.msi|\.rpm)((\#|\&|\?|\s){1}|$)
acl mp3 urlpath_regex -i (\.wav|\.mp3|\.mp4)((\#|\&|\?|\s){1}|$)

Вот и всё, самый большой интерес представляет шестое ведро:
каждый из него качает все на скорости в 10, если в под сети скорость превышает, то начинется резанье канал,
Если из других подсетей тоже качают, и их больше двух, то и тогда скорость начинает резаться…
Если вы делаете на фряхе, то при сборке сквида обязательно соберите с опцией --enable-delay-pools!
P.S. очень старался всё как можно понятней разжевать. Если я вам помог разобраться, то значит я не зря писал этот топик. Я буду очень рад. Если что-то не понятно, задавайте вопросы, обязательно отвечу.
P.S.S. написать всё это сне помог дефолтный конфиг сквида, если вы его начнете читать, то сможете узнать туеву кучу новго!
P.S.S.S Уважаемый KorP к сожаленнию сейчас нет времени на домен, так что пока что есть в голове то и пишу
UPD.
reply_body_max_size 1000 allow all файл больше 1 килобайта не качает