Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
squid.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
1.45 Mб
Скачать

10.2 Как мне разрешить моим клиентам использовать кеш?

Объявите ACL, описывающий IP-адреса клиентов. К примеру:

acl myclients src 172.16.5.0/24

Далее разрешите доступ этим клиента при помощи списка http_access:

http_access allow myclients

10.3 Как мне настроить Squid, чтобы он не кешировал определенный сервер?

acl someserver dstdomain .someserver.com

no_cache deny someserver

10.4 Как мне организовать acl списка запрета?

Предположим, к примеру, что вы желаете избавить пользователей от доступа к рецептам.

Первый способ - запретить любой URL, содержащий слова ``cooking'' или ``recipe.'' Вы могли бы использовать следующую конфигурацию:

acl Cooking1 url_regex cooking

acl Recipe1 url_regex recipe

http_access deny Cooking1

http_access deny Recipe1

http_access allow all

url_regex обозначает - искать указанное вами регулярное выражение в поступившем URL. Заметьте, что это регулярное выражение чувствительно к регистру символов, т.е. URL, содержащие ``Cooking'' не будут запрещены.

Другой путь - запретить доступ к определенным серверам, если известно что они хранят рецепты. К примеру:

acl Cooking2 dstdomain gourmet-chef.com

http_access deny Cooking2

http_access allow all

dstdomain значит искать строку ``gourmet-chef.com.'' и имени хоста в URL. Заметьте, что когда в URL используется IP-адрес (вместо имени домена), Squid-1.1 выполняет смягченный контроль доступа(?). Если имя домена для IP-адреса было сохранено Сквидом в ``FQDN cache,'' то Squid может сравнивать домен назначения с контролем доступа. Однако, если домен недоступен немедленно, Squid разрешит запрос и сделает преобразование IP-адреса, которое будет доступно для будущих запросов.

10.5 Как мне блокировать доступ к кешу определенным пользователям и группам?

Ident

Вы можете использовать ident lookups чтобы разрешить доступ к вашему кешу определенным пользователям. Это потребует запуска процесса ident server на клиентской машине(ах). В вашем конфигурационном файле squid.conf вам необходимо будет написать нечто подобное:

ident_lookup on

acl friends user kim lisa frank joe

http_access allow friends

http_access deny all

Proxy Authentication

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

В Squid вер.2 аутентификация производится через внешний процесс. Информацию о том как это настроить это см. в разделе Настройка аутентиикации.

10.6 А у вас есть cgi-программа, позволяющая пользователям менять свой пароль доступа к прокси?

Pedro L Orso переделал htpasswd от Apache в CGI-скрипт, называемый chpasswd.cgi.

10.7 Есть ли способ осуществлять поиск ident только для определенного хоста и сравнивать результат со списком пользователей в squid.Conf?

Sort of.

Если вы используете ACL типа user в squid conf, то Squid будет выполнять ident lookup для каждого клиентского запроса. Другими словами, Squid-1.1 выполняет ident поиск для всех запросов или не выполняет вообще. Объявление ACL типа user включает поиск ident, вне зависимости от значения ident_lookup.

Однако, хотя запросы ident выполняются для каждого запроса, Squid не ожидает их завершения, если ACL того не требует. Взгляните на следующую конфигурацию:

acl host1 src 10.0.0.1

acl host2 src 10.0.0.2

acl pals user kim lisa frank joe

http_access allow host1

http_access allow host2 pals

Запросы, пришедшие с 10.0.0.1, будут разрешены немедленно, т.к. не указано пользователя для этого хоста. Однако запросы с 10.0.0.2 будут разрешены только после завершения поиска ident и если установлено, что имя пользователя kim, lisa, frank или joe.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]