SQUID, описание, настройка и рабочий конфиг

Материал из Викиадмин
Перейти к навигации Перейти к поиску

Вариант быстрой и простой настройки SQUID (копипаст и запуск). Хороший вариант для начинающего пользователя, которому пришлось столкнуться с ним.

Устанавливаем SQUID

yum install squid


Настройка SQUID

Редактируем файл настройки /etc/squid/squid.conf


#обязательно укажем порт
http_port 3128 transparent

#определяем видимое имя прокси-сервера:
visible_hostname имя_сервера
 
#разрешаем доступ пользователям, например, с диапазона адресов 192.168.0.100-192.168.0.120
#назовем список allowed_hosts
acl allowed_hosts src 192.168.0.100-192.168.0.120/255.255.255.255

#открываем доступ по localhost
acl localhost src 127.0.0.1/255.255.255.255

#определяем остальных пользователей. То есть просто пускаем всех, авторизация отсутствует.
acl all src 0.0.0.0/0.0.0.0

#открываем порты для icq, ssl
acl icq_ports port 443 563 5190

#открываем порты для работы с http, ftp
acl open_ports port 80 8000 8080 443 # http
acl open_ports port 21 # открываем доступ по ftp

#разрешаем доступ для localhost
http_access allow localhost

#разрешаем доступ для "разрешенных"
http_access allow allowed_hosts

#открываем порта для работы icq
http_access allow icq_ports

#открываем порта для http, ftp
http_access allow open_ports

#запрещаем всем остальным доступ к прокси-серверу
http_access deny all

#забиваем данные по логам
access_log /var/log/squid/access.log
cache_effective_user squid
cache_effective_group squid

#забиваем данные для кеш.
cache_mem 512 MB
cache_dir ufs /var/spool/squid 2048 16 256
cache_swap_high 99
cache_swap_low 95
maximum_object_size 12 MB
minimum_object_size 0 KB

#кешируем то, что редко обновляется
refresh_pattern -i \.pdf$ 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.zip$ 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.tar$ 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.gz$ 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.tgz$ 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.exe$ 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.prz$ 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.ppt$ 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.inf$ 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.swf$ 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.mid$ 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.wav$ 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.mp3$ 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.flw$ 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.rpm$ 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.cab$ 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern http://ad\. 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern http://ads\. 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern http://adv\. 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern http://click\. 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern http://clck\. 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern http://count\. 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern http://counter\. 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern http://engine\. 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern http://img\.readme\.ru 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern http://userpic\.livejournal\.com 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern \.ru/bf-analyze 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern \.ru/bf-si 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern /advs/ 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern /banners/ 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern /cgi-bin/iframe/ 604800 100% 604800 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern http://odnoklassniki\.ru 604800 100% 604800 override-expire override-lastmod ignore-reload
refresh_pattern http://fbcdn\.net 604800 100% 604800 override-expire override-lastmod ignore-reload
refresh_pattern http://odnoklassniki\.ru 604800 100% 604800 override-expire override-lastmod ignore-reload
refresh_pattern http://www.tns-counter\.ru 604800 100% 604800 override-expire override-lastmod ignore-reload
refresh_pattern -i http://counter\.yadro\.ru 604800 100% 604800 override-expire override-lastmod reload-into-ims ignore-reload
refresh_pattern -i http://24log\.ru 604800 100% 604800 override-expire override-lastmod ignore-reload
cache_replacement_policy heap LFUDA
memory_replacement_policy heap LFUDA

Запускаем прокси

systemctl restart squid

Очистить кеш

По сути, действие, которое редко когда вам пригодится. Но мало ли:

squid -z

GUI ( Графическая оболочка ) для SQUID

Как такового отдельно не нашел, но для этого с успехом можно использовать webmin. Он поможет удобно настроить SQUID, если где-то есть пробелы в знаниях.

Прозрачный прокси ( proxy )

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

Далее для iptables задайте такое правило:

-A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

Где:

  • 192.168.0.0/255.255.255.0 - ваша подсеть
  • –dport 80 - запрашиваемый порт.
  • –to-ports 3128 - порт прокси-сервера.

Теперь все запросы, идущие от пользователей на 80-й порт, будут редиректиться на порт 3128, который обслуживает наш горячо любимый SQUID. Не надо будет бегать и всем настраивать параметры proxy в настройках браузера.