IBM®
Перейти к тексту
    в России и странах СНГ [изменить]    Условия использования
 
 
   
    Главная страница    Продукты    Услуги и решения    Поддержка и загрузка    Мой профиль    
Перейти к тексту

developerWorks Россия  >  Linux | Open source  >

Подготовка к экзамену LPI: Web-сервисы

Средний уровень администрирования (LPIC-2) тема 208

developerWorks
На предыдущую страницуСтраница 5 из 8 На предыдущую страницу

Опции документа

Выскажите мнение об этом учебном пособии

Помогите нам улучшить содержание


Внедрение прокси-сервера

Установка и запуск Squid

В большей части дистрибутивов, Squid может быть установлен при помощи стандартных установочных процедур. Возьмите исходные файлы Squid с web-сайта Squid Web Proxy Cache (ссылку можно найти в Resources). Сборка из исходников требует обычной последовательности действий ./configure; make; make install.

После установки можно просто запустить от имени root /usr/sbin/squid (но squid может оказаться в каком-нибудь другом каталоге, который использует ваш дистрибутив, возможно /usr/local/sbin/). Конечно, чтобы заставить его делать что-то полезное, вам придётся отредактировать файл конфигурации Squid /etc/squid/squid.conf, /usr/local/squid/etc/squid.conf, или где там у вас в системе находится squid.conf. Как и для многих других демонов, можно использовать различные файлы конфигурации, с помощью опции -f.

Порты, IP-адресы, http_access, и ACLи

Наиболее важными опциями конфигурации Squid являются http_port. Если захотеть, то можно наблюдать за этими портами, закрепляя за каждым из них определенный IP-адрес или имя хоста. Порт для Squid, выставленный по умолчанию, 3128, при этом все IP-адреса, что подключаются к серверу Squid, имеют права на его использование. Чтобы кэшировать только для LAN, укажите вместо этого локальный IP-адрес, как показано ниже:


Listing 11. Кэширование Squid только для LAN
                    
# default (disabled)
# http_port 3128
# LAN only
http_port 192.168.2.2:3128

Также можно включить кэширование через другие Squid-серверы, с помощью icp_port и htcp_port. Протоколы IPC и HTCP используются, чтобы кэши взаимодействовали друг с другом, а не с web-серверами или клиентами. Для группового кэширования используется mcast_groups.

Чтобы клиенты могли подключиться к серверу Squid, нужно раздать им соответствующие разрешения. В отличие от web-сервера, Squid не сильно щепетилен со своими ресурсами. В простой ситуации для контроля за правами доступа можно просто использовать пару подсеть/маска сети или шаблоны CIDR (Classless Internet Domain Routing):


Listing 12. Простые права доступа Squid
                    
http_access deny 10.0.1.0/255.255.255.0
http_access allow 10.0.0.0/8
icp_access allow 10.0.0.0/8

Директива acl используется для обозначения списков контроля доступа (ACLs). Можно назвать src ACL, что просто указывают диапазоны адресов, как в Listing 12, но можно также создавать и свои типы ACLей. Например:


Listing 13. Тонкая настройка права доступа
                    
acl mynetwork     src             192.168/16
acl asp           urlpath_regex   \.asp$
acl bad_ports     port            70 873
acl javascript    rep_mime_type -i ^application/x-javascript$
# what HTTP access to allow classes
http_access deny asp          # don't cache active server pages
http_access deny bad_ports    # don't cache gopher or rsync
http_access deny javascript   # don't cache javascript content
http_access allow mynetwork   # allow LAN everything not denied

Listing 13 показывает только малый набор доступных типов ACL. Образец файла squid.conf содержит много других примеров. Или же взгляните в документацию по контролю доступа (Глава 6) в Руководстве Пользователя Squid (ссылку можно увидеть в Resources).

В Listing 13, принято решение не кэшировать URL, заканчивающиеся на .asp (возможно, они имеют динамическое содержимое), на кэшировать порты 70 и 873, и не кэшировать возвращаемые объекты JavaScript. И, если это не запрещено другими правилами, машины внутри LAN (в диапазоне /16) будут пользоваться кешированием своих запросов. Обратите внимание, что каждый заданный ACL имеет уникальное, хотя и произвольное, имя (используйте осмысленные имена; Squid их не резервирует).



В начало


Режимы кэширования

Простейший способ запуска Squid -- это режим прокси. Если это так, клиентов нужно явно настраивать на использование кэша. Клиенты web-браузеры имеют специальные окна настойки, позволяющие указывать адрес прокси и порт, вместо прямого HTTP-соединения. При таком способе настойка Squid очень проста, однако клиентам, если они хотят использовать выгоду от кэша Squid, следует выполнить немного настроек самим.

Также можно настроить Squid на выполнение в качестве прозрачного кэша. Для этого нужно либо настроить марщрутизацию, основанную на политике безопасности ( извне Squid, с помощью ipchains или ipfilter), либо использовать сервер Squid в качестве шлюза. Полагая, что вы можете, направлять внешние запросы через сервер Squid, Squid следует настраивать следующим образом. Может случиться, что вам придется перекомпилировать Squid с опцией --enable-ipf-transparent; однако для большинства дистрибутивов Linux этого не потребуется. Для настройки сервера на прозрачное кэширование (по мере того, как он получит перенаправленные пакеты), нужно добавить в файл squid.conf что-нибудь вроде представленного в Listing 14:


Listing 14. Настройка Squid на прозрачное кэширование
                    
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on



В начало



На предыдущую страницуСтраница 5 из 8 На предыдущую страницу
    IBM в России Конфиденциальность Контакты