Linux-сервер своими руками
Шрифт:
Позволяет производить аутентификацию клиентов, делающих запросы. При этом должен быть определен ACL proxy_auth.
Традиционная программа аутентификации. Определена в ../auth_modules/NCSA.
15.5.6. Списки ACL
ACL (Access Control Lists) — списки контроля доступа. Довольно часто возникает потребность группировки однотипных параметров в единое целое для их последующей обработки. Для эффективного решения этой задачи используются списки контроля доступом (ACL). Например:
Эта запись означает,
Добавить новый элемент к уже существующему списку (параметр add) можно так:
Удалить ненужный элемент можно с помощью параметра del: acl del SSL_ports 999
Переименовать список позволяет параметр ren (от rename):
Удалить все списки вместе с их содержимым позволяет параметр flush:
Стандарт ACL требует, чтобы перед именем списка обязательно был указан символ $. Другими словами, все перечисленные выше примеры по большому счету должны быть неправильными. Например, для создания списка нужно использовать запись:
Однако большинство фильтров, например SQUID, пренебрегают этим требованием, и вы можете указывать имена списков без знака доллара.
Итак, ACL — это определение списка доступа. Имеет следующий формат:
где: тип — это тип объекта;
строка — регулярное выражение.
Можно использовать список:
Перечисление параметров производится по одному параметру в строке. Типы, которые можно использовать при составлении списков ACL, указаны в табл. 15.3.
Типы ACL Таблица 15.3
Тип | Описание типа |
---|---|
Src ip-address/netmask | Задает IP-адрес клиентов |
Src addr1-addr2/netmask | Указывает диапазон адресов |
Dst ip-address/netmask | Задает URL хостов |
Time [day-abbrevs] [h1:m1-h2:m2] | Время, где день — это одна буква из SMTWHFA |
Port | Список портов |
Port port1–port2 | Диапазон портов |
Proto | Протокол — HTTP или FTP |
Method | Метод — GET или POST |
Browser [-i] regexp | Сравнивается заголовок User-Agent |
[-i] — игнорируется регистр букв.
15.5.7. Параметры доступа
Разрешать доступ к прокси по HTTP.
Разрешать доступ к прокси по ICP.
Разрешить получать ответ MISS от вас.
Ограничить запросы к данному соседу — расширение для cache_peer_domain.
Строка текста, которая будет выдана на экран клиента при запросе имени/пароля доступа к кэшу.
15.5.8.
Параметры администрированияДанный параметр задает почтовый адрес, на который будет послано письмо, если squid перестанет функционировать.
При запуске SQUID от имени root изменить UID на указанный в параметре cache_effective_user.
При запуске SQUID от имени root изменить GID на указанный в параметре cache_effective_group.
Это имя будет упоминаться в сообщениях об ошибках.
Этот параметр задает список синонимов для имени хоста.
15.6. Отказ от рекламы. Баннерный фильтр
Вам не хочется тратить лишнее время на загрузку рекламных баннеров? Мне тоже. К счастью, SQUID позволяет достаточно просто решить эту проблему. Просто вставьте следующие строки в свой файл /usr/local /etc/squid/squid.conf:
Соответственно, нужно будет создать три файла: good_url, bad_url_path и bad_url. В файл bad_url следует поместить «плохие» URL, например:
А в файл bad_url_path — «плохой» путь, например:
Обычно такие имена имеют баннеры.
Примеры файлов good_url, bad_url_path и bad_url можно взять на моей домашней страничке — http://dkws.narod.ru
15.7. Разделение канала
Допустим, вам нужно настроить прокси-сервер таким образом, чтобы одна группа компьютеров могла работать с одной скоростью, а другая — с другой. Это может потребоваться, например, для разграничения пользователей, которые используют канал для работы, и пользователей, которые используют ресурсы канала в домашних целях. Естественно, первым пропускная способность канала важнее, чем вторым. С помощью прокси-сервера SQUID можно разделить канал.
Для начала в файле конфигурации укажите, сколько пулов, то есть групп пользователей, у вас будет:
Затем определите классы пулов. Всего существует три класса:
1. Используется одно ограничение пропускной способности канала на всех.
2. Одно общее ограничение и 255 отдельных для каждого узла сети класса С.
3. Для каждой подсети класса В будет использовано собственное ограничение и отдельное ограничение для каждого узла.
В файл squid.conf добавьте следующие директивы:
- Telegram
- Viber
- Skype
- ВКонтакте