Различия
Показаны различия между двумя версиями страницы.
— | squid [2025/07/06 12:40] (текущий) – создано - внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Squid proxy настройка ====== | ||
+ | {{htmlmetatags> | ||
+ | metatag-description=(Squid - это полнофункциональное приложение кэширующего прокси сервера для HTTP, FTP и других популярных сетевых протоколов.) | ||
+ | }} | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | Homepage: [[http:// | ||
+ | |||
+ | **Squid** (кальмар) - кэширующий прокси- сервер для протоколов [[HTTP]], [[FTP]], HTTPS (при соответствующих настройках). Лицензия GNU GPL. | ||
+ | |||
+ | Одной из особенностей squid является возможность работать в режиме «обратного прокси» («reverse proxy»), так же известного как «ускоритель» («HTTP accelerator»). В этом случае вместо кэширования запросов нескольких пользователей к множеству сайтов, | ||
+ | < | ||
+ | |||
+ | Squid поддерживает работу в режиме " | ||
+ | ===== Squid и Debian ===== | ||
+ | * OC: Debian GNU/Linux wheezy/sid 3.0.0-1-amd64 #1 SMP x86_64 GNU/Linux | ||
+ | * Squid 3.1.18-1 Stable | ||
+ | < | ||
+ | # aptitude install squid3 | ||
+ | </ | ||
+ | ===== Squid и FreeBSD ===== | ||
+ | OC [[FreeBSD]] 7.2-RELEASE squid-3.1.0.17 beta. В этой версии наконец-то упростили (уменьшили) конфигурационный файл Squid. | ||
+ | |||
+ | Конечная цель настройка прозрачного прокси Squid с использованием пакетного фильтра [[Packet Filter Firewall (PF)]]. | ||
+ | < | ||
+ | > > cd / | ||
+ | > make config | ||
+ | ... | ||
+ | [X] SQUID_PF | ||
+ | ... | ||
+ | > make install clean | ||
+ | </ | ||
+ | ===== squid.conf ===== | ||
+ | < | ||
+ | > ee / | ||
+ | # выводить сообщения пользователям на украинском языке, по умолчанию английский | ||
+ | error_default_language uk-ua | ||
+ | # Squid слушает порт только на localhost. intercept включаем прозрачный прокси | ||
+ | http_port 127.0.0.1: | ||
+ | visible_hostname = local | ||
+ | # например есть ОЗУ 192 Мб - можно выставить 64 Mб. Выделение ОЗУ по кеш, а не под процесс SQUID. | ||
+ | cache_mem 64 MB | ||
+ | # размер папки с кешем 800 Мб | ||
+ | cache_dir ufs / | ||
+ | # пределы для включения механизма очистки кеша от устаревших данных, | ||
+ | # кеш при достижении 95% заполнения начинает очищаться | ||
+ | cache_swap_low 90 | ||
+ | cache_swap_high 95 | ||
+ | # политика очистки кеша по умолчанию | ||
+ | memory_replacement_policy lru | ||
+ | #Этот тэг задает размер объекта который может хранится в памяти. Объекты | ||
+ | # | ||
+ | # | ||
+ | #часто запрашиваются клиентами. Увеличение значения этого тэга приводит к снижению производительности сервера. | ||
+ | maximum_object_size_in_memory 512 KB | ||
+ | # минимальный размер файл для сохранения в кеше | ||
+ | minimum_object_size 0 KB | ||
+ | # максимальный размер файл для сохранения в кеше | ||
+ | maximum_object_size 4096 KB | ||
+ | # Этот тэг позволяет задать пароль ftp пользователю Anonymous(!!!) от имени | ||
+ | # которого Squid будет осуществлять просмотр анонимных ресурсов по FTP протоколу. | ||
+ | ftp_user Squid@your.domen | ||
+ | # разрешить/ | ||
+ | ftp_passive on | ||
+ | |||
+ | #Этот тэг определяет количество ротаций лог-файла. По умолчанию - 10. Это означает, | ||
+ | то текущий файл журнала получит расширение от 0 до 9 и будет отложен. Вместо него создастся новый файл для ведения журнала и теперь | ||
+ | все записи будут вестись уже в новый файл. Если установить значение тэга logfile_rotate 0, то это отключит ротацию файлов. | ||
+ | logfile_rotate 4 | ||
+ | access_log / | ||
+ | # отладочная информация. содержит основную информацию об использовании кэша. | ||
+ | cache_log / | ||
+ | # Default: none | ||
+ | # | ||
+ | |||
+ | #Этот тэг задает список слов, которые при нахождении их(этих слов) в URL, | ||
+ | # | ||
+ | # | ||
+ | hierarchy_stoplist cgi-bin ? | ||
+ | </ | ||
+ | Проверим конфигурационный файл Squid на ошибки. | ||
+ | < | ||
+ | > squid -f / | ||
+ | 2010/03/16 16:40:32| Processing Configuration File: / | ||
+ | </ | ||
+ | Перед первым запуском нужно создать кеш Squid. | ||
+ | < | ||
+ | > squid -z | ||
+ | 2010/03/16 16:42:05| Creating Swap Directories | ||
+ | 2010/03/16 16:42:05| / | ||
+ | 2010/03/16 16:42:05| Making directories in / | ||
+ | ... | ||
+ | </ | ||
+ | Для запуска Squid нужно добавить строку squid_enable=yes в файл rc.conf | ||
+ | < | ||
+ | > / | ||
+ | ===== Настройки файервола для прозрачного проксирования ===== | ||
+ | ==== PF ==== | ||
+ | * Настройка [[Packet Filter Firewall (PF)]] | ||
+ | < | ||
+ | ext_if_a=" | ||
+ | int_if_a=" | ||
+ | int_if_b=" | ||
+ | LanAll = " | ||
+ | Lanint_if_b = " | ||
+ | |||
+ | # RDR transparent proxy | ||
+ | rdr on $int_if_b inet proto tcp from $Lanint_if_b to any port 80 -> 127.0.0.1 port 3128 | ||
+ | rdr on $int_if_a inet proto tcp from 192.168.1.0/ | ||
+ | # NAT | ||
+ | nat on $ext_if_a inet from $LanAll to any -> ($ext_if_a) | ||
+ | |||
+ | </ | ||
+ | * Ошибка: | ||
+ | < | ||
+ | chown root:squid /dev/pf | ||
+ | chmod 660 /dev/pf | ||
+ | </ | ||
+ | ==== iptables ==== | ||
+ | |||
+ | ===== Cron Squid ===== | ||
+ | < | ||
+ | > crontab -e | ||
+ | @daily squidstat.sh | ||
+ | > ee squidstat.sh | ||
+ | #!/bin/sh | ||
+ | # | ||
+ | / | ||
+ | / | ||
+ | rm / | ||
+ | rm / | ||
+ | rm / | ||
+ | </ | ||
+ | * Скрипт для проверки работы Squid: если Squid упал -запускает его. | ||
+ | < | ||
+ | > ee cron_start_squid.sh | ||
+ | #!/bin/sh | ||
+ | |||
+ | if [ -s / | ||
+ | then | ||
+ | else echo start squid: `date` >> / | ||
+ | fi | ||
+ | </ | ||
+ | |||
+ | ===== ACL Squid ===== | ||
+ | Настройка доступа в Squid настраивается через списки доступа ACL. Правила читаются и применяются сверху вниз - то есть последовательность расположения директив http_access важна. | ||
+ | |||
+ | Ограничения к ресурсам происходит в два этапа: | ||
+ | * определение условия запроса | ||
+ | * разрешить или запретить определенное на первом шаге условие | ||
+ | < | ||
+ | acl dbserv src 192.168.1.11/ | ||
+ | http_access deny dbserv # | ||
+ | </ | ||
+ | ===== Настройка аутентификации Squid ===== | ||
+ | Настройка аутентификации при помощи программы ncsa_auth. Пользователи и пароли хранятся в файле / | ||
+ | < | ||
+ | # | ||
+ | auth_param basic program / | ||
+ | auth_param basic children 5 | ||
+ | # после realm можно написать любу. строку. Она будет отображаться в заголовке окна ввода пароля | ||
+ | auth_param basic realm Squid proxy-caching DARK | ||
+ | # проверяет изменил ли сис. администратор пароль в файле / | ||
+ | auth_param basic credentialsttl 2 hours | ||
+ | auth_param basic casesensitive off | ||
+ | </ | ||
+ | Эти правила должны быть применены к ACL, например | ||
+ | < | ||
+ | # Указали Squid что настроили аутентификацию | ||
+ | acl auth proxy_auth REQUIRED | ||
+ | # Описали единичный компьютер | ||
+ | acl winxp src 10.5.21.4/ | ||
+ | # Указали разрешить доступ этому компьютеру после ввода логина и пароля | ||
+ | http_access allow winxp auth | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Ограничение ширины канала Squid ===== | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | <note important> | ||
+ | < | ||
+ | http_access allow winxp | ||
+ | |||
+ | delay_pools 1 | ||
+ | delay_class 1 1 | ||
+ | delay_parameters 1 8000/8000 | ||
+ | #64KB | ||
+ | delay_access 1 allow winxp | ||
+ | delay_access 1 deny all | ||
+ | </ | ||
+ | |||
+ | * **delay_pools** Этот тэг отвечает за количество используемых delay pools. Например, | ||
+ | * **delay_parameters** ограничить скорость на пулах, например< | ||
+ | # без ограничений | ||
+ | # | ||
+ | # ограничить скорость 64Kbit/c | ||
+ | # | ||
+ | # ограничить скорость 256Kbit/c | ||
+ | # | ||
+ | # если пользователь пытается скачать файл размера больше чем 32000 - тогда ограничить скорость 800 | ||
+ | # | ||
+ | |||
+ | </ | ||
+ | ===== ERROR PfInterception: | ||
+ | В файле / | ||
+ | < | ||
+ | Исправить эту ошибку можно несколькими способами | ||
+ | * Первый: | ||
+ | * Второй: | ||
+ | > ee / | ||
+ | # Allow Squid read acess to /dev/pf | ||
+ | own | ||
+ | perm pf 0640 | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | ====== Статистика Squid ====== | ||
+ | |||
+ | Скриптов для сбора статистики Squid довольно много. | ||
+ | * LightSquid | ||
+ | * [[Free-SA]] | ||
+ | * [[Sarg]] - Squid Analysis Report Generator | ||
+ | * Calamaris - анализирует файлы журнала (logfiles) множества разнообразных Web прокси-серверов и генерирует отчет о максимальном использовании (peak-usage), | ||
+ | |||
+ | ====== Ссылки ====== | ||
+ | * Frox кеширование FTP в связке со Squid. | ||
+ | * [[Squid SNMP]] | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// |
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга