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

4.12 Каким самым простым способом я могу изменить http-порт, установленный по умолчанию?

Перед запуском конфигурационного скрипта просто установите переменную окружения CACHE_HTTP_PORT.

setenv CACHE_HTTP_PORT 8080

./configure

make

make install

4.13 Возможно ли контролировать насколько велика каждая из cache_dir?

При использовании версии Squid-1.1 НЕвозможно. Предполагается, что все cache_dir одинаковы. Директивой cache_swap устанавливается размер всех cache_dir, взятых вместе. Если у вас N-ное кол-во cache_dir, то каждая из них должна быть размером в cache_swap ÷ N Мегабайт.

4.14 Какой размер cache_dir должен использовать?

Most people have a disk partition dedicated to the Squid cache. You don't want to use the entire partition size. Вам также потребуется оставить и некоторое дополнительное свободное место. В настоящее время Squid не больно толерантен к тому, что заканчивается свободное место на диске.

Допустим, что у вас есть диск размером в 9Гб. Помните, что производители дисков привирают относительно его доступного пространства. Так называемый 9GB-ный диск обычно имеет около 8.5GB пространства, пригодного к использованию. Прежде всего создайте на нем файловую систему и подмонтируйте ее. Теперь проверьте доступное пространство при помощи программы df. Обратите внимание, что вы потеряете некоторое кол-во дискового пространства, которое будет использовано на нужды файловой системы, т.к. суперблок, inodes и организацию директорий. Также имейте ввиду, что обычно Unix около 10% свободного пространства хранит для собственных нужд. Т.е. с 9Гб-ным диском у вас после форматирования останется около 8Гб.

Также я рекомендую выделять около 10% или более под собственные нужды и Squid и так называемый "буфер безопасности (safe buffer)". Squid обычно размещает файл swap.state в каждой директории с кешем. Его размер увеличивается, пока вы не перезапишите логи или не перезапустите Squid. Имейте ввиду, что Squid работает лучше, когда есть дополнительное свободное пространство. Если для вас важно качество работы, то выделите побольше дискового пространства. Обычно для диска в 9Гб, я рекомендую устанавливать значение cache_dir в диапазоне от 6000 до 7500 Мб:

cache_dir ... 7000 16 256

Лучше быть консервативным. После того, как кеш заполнится, посмотрите на используемое дисковое пространство. Если вы думаете, что не используется значительная часть дискового пространства, то немного увеличьте значение cache_dir.

Если вы получаете сообщение о ошибке ``disk full'', то то вам необходимо уменьшить размер вашего кеша.

4.15 Я добавил новую cache_dir. Потеряю ли я свой кеш ?

Для Squid-1.1 да, вы потеряете содержимое вашего кеша. Это происходит из-за того, что версия 1.1 использует простейший алгоритм для распределения файлов между директориями кеша.

В Squid-2 вы не потеряете уже существующий кеш . Вы можете добавлять/удалять cache_dir-ры без нанесения вреда оставшимся из них.

4.16 Squid и http-gw из пакета tis.

Several people on both the fwtk-users and the squid-users mailing asked about using Squid in combination with http-gw from the TIS toolkit. The most elegant way in my opinion is to run an internal Squid caching proxyserver which handles client requests and let this server forward it's requests to the http-gw running on the firewall. Cache hits won't need to be handled by the firewall.

В этом примере Squid запущен на том же сервере что и http-gw, Squid использует порт 8000 и http-gw использует порт 8080 (web). Локальный домен - home.nl.

Настройка файервола:

http-gw запускается демоном из /etc/rc.d/rc.local (Linux Slackware):

exec /usr/local/fwtk/http-gw -daemon 8080

или из inetd, примерно так:

web stream tcp nowait.100 root /usr/local/fwtk/http-gw http-gw

Я увеличил нижнюю границу до 100 т.к. большое кол-во людей столкнулись с проблемами при запус5ке со сзначением по умолчанию.

Убедитесь, что у вас есть как минимум такая строка в /usr/local/etc/netperm-table:

http-gw: hosts 127.0.0.1

Вы должны добавить IP-адрес вашей собственной рабочей станции к этому правило и убедиться, что http-gw работает:

http-gw: hosts 127.0.0.1 10.0.0.1

Настройка Squid:

Важные настройки:

http_port 8000

icp_port 0

cache_host localhost.home.nl parent 8080 0 default

acl HOME dstdomain .home.nl

never_direct deny HOME

Это указывает Squid использовать родительский прокси для всех доменов кроме home.nl. Ниже показан кусок access.log, демонстрирующий что получается если загрузить домашнюю страницу Squid:

872739961.631 1566 10.0.0.21 ERR_CLIENT_ABORT/304 83 GET http://www.squid-cache.org/ - DEFAULT_PARENT/localhost.home.nl -

872739962.976 1266 10.0.0.21 TCP_CLIENT_REFRESH/304 88 GET http://www.nlanr.net/Images/cache_now.gif - DEFAULT_PARENT/localhost.home.nl -

872739963.007 1299 10.0.0.21 ERR_CLIENT_ABORT/304 83 GET http://www.squid-cache.org/Icons/squidnow.gif - DEFAULT_PARENT/localhost.home.nl -

872739963.061 1354 10.0.0.21 TCP_CLIENT_REFRESH/304 83 GET http://www.squid-cache.org/Icons/Squidlogo2.gif - DEFAULT_PARENT/localhost.home.nl

вывод http-gw в syslog:

Aug 28 02:46:00 memo http-gw[2052]: permit host=localhost/127.0.0.1 use of gateway (V2.0beta)

Aug 28 02:46:00 memo http-gw[2052]: log host=localhost/127.0.0.1 protocol=HTTP cmd=dir dest=www.squid-cache.org path=/

Aug 28 02:46:01 memo http-gw[2052]: exit host=localhost/127.0.0.1 cmds=1 in=0 out=0 user=unauth duration=1

Aug 28 02:46:01 memo http-gw[2053]: permit host=localhost/127.0.0.1 use of gateway (V2.0beta)

Aug 28 02:46:01 memo http-gw[2053]: log host=localhost/127.0.0.1 protocol=HTTP cmd=get dest=www.squid-cache.org path=/Icons/Squidlogo2.gif

Aug 28 02:46:01 memo http-gw[2054]: permit host=localhost/127.0.0.1 use of gateway (V2.0beta)

Aug 28 02:46:01 memo http-gw[2054]: log host=localhost/127.0.0.1 protocol=HTTP cmd=get dest=www.squid-cache.org path=/Icons/squidnow.gif

Aug 28 02:46:01 memo http-gw[2055]: permit host=localhost/127.0.0.1 use of gateway (V2.0beta)

Aug 28 02:46:01 memo http-gw[2055]: log host=localhost/127.0.0.1 protocol=HTTP cmd=get dest=www.nlanr.net path=/Images/cache_now.gif

Aug 28 02:46:02 memo http-gw[2055]: exit host=localhost/127.0.0.1 cmds=1 in=0 out=0 user=unauth duration=1

Aug 28 02:46:03 memo http-gw[2053]: exit host=localhost/127.0.0.1 cmds=1 in=0 out=0 user=unauth duration=2

Aug 28 02:46:04 memo http-gw[2054]: exit host=localhost/127.0.0.1 cmds=1 in=0 out=0 user=unauth duration=3

Подведем итоги:

Преимущества:

  • http-gw позволяет вам избирательно блокировать ActiveX и Java, и это основная его цель - обеспечить безопасность.

  • На файерволе не требуется запускать большие приложения типа Squid.

  • Внутренний Squid-сервер все еще выгоден вам в плане кеширования.

Недостатки:

  • Внутренний прокси-сервер Squid не может (и не должен) работать с другими родительским или братскими кешами.

  • Запросы обрабатываются медленнее, т.к. проходят через http-gw, а http-gw тажке делает обратное проеобразование адресов. Запустите сервер имен на файерволе либо используйте внутренний сервер имен.

-- Rodney van den Oever

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