MyTetra Share
Делитесь знаниями!
Лаконичный простой howto
Время создания: 25.04.2013 22:00
Раздел: root - Linux - Squid
Запись: Yurons/mytetra/master/base/1366916414fnmsezf0bz/text.html на raw.github.com

 

Лаконичный простой howto

 

 

Squid - это кэширующий прокси-сервер.

 Конфигурационные файлы

 Официальный сайт: http://www.squid-cache.org

 Русскоязычный FAQ: http://squid.h12.ru

 

Установка Squid

Устанавливаем пакет squid

# yum -y install squid

Настраиваем систему для запуска сервиса squid при старте операционной системы

# chkconfig squid on

s

Запускаем сервис squid

# service squid start

Starting squid: .[ OK ]

Настройка SELinux

Настройка SELinux не требуется.

Настройка iptables

# nano /etc/sysconfig/iptables

-A CLASS-RULES -s 192.168.0.0/24 -p tcp --dport 3128 -j ACCEPT

Замечание: Новая строка должна быть вставлена после строки ESTABLISHED, RELATED

# service iptables restart

Настройка Squid

Все настроечные файлы Squid хранятся в каталоге /etc/squid/. Их там несколько

# ls -lah

total 72K

drwxr-xr-x. 2 root root 4.0K May 6 12:19 .

drwxr-xr-x. 121 root root 12K May 6 12:19 ..

-rw-r--r--. 1 root squid 419 Jan 6 15:58 cachemgr.conf

-rw-r--r--. 1 root root 419 Jan 6 15:58 cachemgr.conf.default

-rw-r--r--. 1 root root 1.6K Jan 6 15:58 errorpage.css

-rw-r--r--. 1 root root 1.6K Jan 6 15:58 errorpage.css.default

-rw-r--r--. 1 root root 12K Jan 6 15:58 mime.conf

-rw-r--r--. 1 root root 12K Jan 6 15:58 mime.conf.default

-rw-r--r--. 1 root root 421 Jan 6 15:58 msntauth.conf

-rw-r--r--. 1 root root 421 Jan 6 15:58 msntauth.conf.default

-rw-r-----. 1 root squid 2.5K Jan 6 15:58 squid.conf

-rw-r--r--. 1 root root 2.5K Jan 6 15:58 squid.conf.default

Тестирование файла конфигурации

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

# squid -k parse

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

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

В промышленной среде перезапуск сервиса может выполняться довольно длительное время и может приводить к длительным простоям в работе. Чтобы этого не случилось нужно использовать специальную директиву, заставляющую Squid перечитывать файл конфигурации и применять новые настройки без перезапуска

# squid -k reload

В среде Red Hat, где Squid работает как сервис, можно выполнить другую команду, эквивалентную предыдущей

# service squid reload

Параметр visible_hostname

Каждый сервер Squid в административной зоне должен уникально идентифицироваться именем сервера, которое может быть установлен либо в файле /etc/hosts, либо в конфигурационном файле сервера /etc/squid/squid.conf. В первом случае файл /etc/hosts должен выглядеть примерно так

# File: /etc/hosts

127.0.0.1 localhost localhost.localdomain rhel01

Сервер будет иметь публичное имя rhel01. Во втором случае мы можем в файле /etc/squid/squid.conf перекрыть публичное имя с помощью параметра visible_hostname

# File: /etc/squid/squid.conf

visible_hostname rhel-squid

Если имя сервера не упомянуто ни в /etc/hosts, ни в /etc/squid/squid.conf, то мы получим ошибку следующего содержания:

WARNING: Could not determine this machines public hostname.

Please configure one or set 'visible_hostname'

Настройка работы на нескольких портах

Обычно Squid слушает клиентов на порту 3128. Это стандартный порт для Squid, и этот факт закреплен в конфигурационном файле по умолчанию директивой http_port

http_port 3128

Редко, но бывают случаи, когда нужно, чтобы Squid слушал клиентов на нескольких портах. Это, например, может пригодиться для обслуживания клиентов из нескольких отделов, каждый из которых обращается к своему порту Squid. И чтобы быстро отключить один из них от Интернета достаточно просто закомментировать строчку с нужным портом и перечитать файл конфигурации.

Для того, чтобы организовать эту схему, достаточно директиву http_port повторить несколько раз. Например:

http_port 3128

http_port 8080

Прослушивание сети на определенном интерфейсе

Часто машина, на которой установлен Squid, имеет несколько сетевых интерфейсов. Если вы хотите, чтобы Squid слушал сеть только на одном из них, то опять же используем директиву http_port, указав перед номером порта адрес, на который будут приниматься запросы клиентов

http_port 192.168.9.59:3128

Настройка администратора кэша

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

cache_mgr sergey.pronin@bercut.com

Кроме того, явное указание на администратора кэша - простая вежливость по отношению к вашим клиентам.

Не забываем перечитывать файл конфигурации.

Настрока кэша

 
MyTetra Share v.0.59
Яндекс индекс цитирования