Установка прокси сервера Squid на CentOS 5.5

Конечно Squid популярный с открытом кодом GPL прокси сервер. Он имеет множество применений, от ускорения веб-сервера путем кеширования на неоднократные просьбы, кеширование запросов доменных имён, а блокирование сетевых ресурсов. Squid в первую очередь предназначена для работы в Linux / Unix-подобных систем. Squid это высокопроизводительный прокси-сервер кеширования для веб-клиентов, поддержка FTP, Gopher, HTTP и объектов данных. В отличие от традиционных программ кеширования, Squid обрабатывает все запросы в одном, не блокирование, I / O инициативе процесса. Squid хранит метаданные и особенно горячие запросы сохраняются в оперативной памяти, кеш DNS поиск, поддерживает неблокирующий DNS поиска, и реализует отрицательное кеширование отказавших запросов. Установим и настроим прозрачный прокси сервера Squid на CentOS / RHEL 5.

1. Установка Squid

Используем терминальную консоль введём команду:

yum install -y squid

2. Настройка Squid

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

Squid конфигурационный файл находится в /etc/squid/squid.conf. Отредактируйте файл:

vi /etc/squid/squid.conf
# ACCESS CONTROLS
# -----------------------------------------------------
# TAG: acl
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
# TAG: http_access
http_access allow manager localhost
http_access deny manager
http_access deny CONNECT !SSL_ports
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
acl our_networks src 192.168.0.0/24
acl full-access src 192.168.0.100-192.168.0.103
acl full-access src 192.168.0.2
acl bad_url url_regex "/etc/squid/acl/bad_url.domain"
acl upload url_regex "/etc/squid/acl/upload.domain"
acl filetypes urlpath_regex -i "/etc/squid/acl/filetypes.acl"
acl banners url_regex "/etc/squid/acl/ads.acl"
http_access deny banners !full-access
http_access deny filetypes !full-access
http_access deny upload !full-access
http_access deny bad_url !full-access
http_access allow our_networks
http_access allow full-access
# TAG: http_reply_access
icp_access allow all

# NETWORK OPTIONS
# -----------------------------------------------------
# TAG: http_port
http_port 3128 transparent
# TAG: hierarchy_stoplist
hierarchy_stoplist cgi-bin ?

# DISK CACHE OPTIONS

-----------------------------------------------------
# TAG: cache_replacement_policy
cache_dir ufs /var/spool/squid 40000 16 256
# TAG: maximum_object_size (bytes)
maximum_object_size 50 MB
# TAG: cache_swap_low (percent, 0-100)
# TAG: cache_swap_high (percent, 0-100)
cache_swap_low 90
cache_swap_high 95

# LOGFILE OPTIONS
# -----------------------------------------------------
# TAG: access_log
access_log /var/log/squid/access.log squid
# OPTIONS FOR TUNING THE CACHE
# -----------------------------------------------------
# TAG: cache
acl QUERY urlpath_regex cgi-bin \?
# TAG: refresh_pattern
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
# TAG: store_avg_object_size (kbytes)
store_avg_object_size 70 MB
# HTTP OPTIONS
# -----------------------------------------------------
# TAG: broken_vary_encoding
acl apache rep_header Server ^Apache
cache deny QUERY
broken_vary_encoding allow apache

Сохраните и закройте файл конфигурации Squid.

Создадим директорию и файлы в которых буду хранится правила который буду блокировать сетевые ресурсы.

cd /etc/squid/
mkdir acl
cd /etc/squid/acl/

vi bad_url.domain vi upload.domain vi filetypes.acl vi ads.acl

Запустите Squid прокси сервер:

chkconfig squid on
/etc/init.d/squid start

Проверка порта 3128:

netstat -tulpn | grep 3128
tcp 0 0 0.0.0.0:3128 0.0.0.0:* LISTEN 20653/(squid)

Откройте TCP порт 3128

Опубликовано в proxy, Установка/Настройка ПО

Рубрики