<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://support.qbpro.ru/index.php?action=history&amp;feed=atom&amp;title=SquidGuard</id>
	<title>SquidGuard - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://support.qbpro.ru/index.php?action=history&amp;feed=atom&amp;title=SquidGuard"/>
	<link rel="alternate" type="text/html" href="https://support.qbpro.ru/index.php?title=SquidGuard&amp;action=history"/>
	<updated>2026-04-03T18:39:29Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.38.1</generator>
	<entry>
		<id>https://support.qbpro.ru/index.php?title=SquidGuard&amp;diff=634&amp;oldid=prev</id>
		<title>imported&gt;Vix: Новая страница: «Автор: Евгений Нифантьев Дата: 2011-03-12 Статус: не завершено ОС: Debian Приложение: squid3, squidGuard У…»</title>
		<link rel="alternate" type="text/html" href="https://support.qbpro.ru/index.php?title=SquidGuard&amp;diff=634&amp;oldid=prev"/>
		<updated>2013-08-26T18:33:13Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «Автор: Евгений Нифантьев Дата: 2011-03-12 Статус: не завершено ОС: Debian Приложение: squid3, squidGuard У…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Автор: Евгений Нифантьев&lt;br /&gt;
Дата: 2011-03-12&lt;br /&gt;
Статус: не завершено&lt;br /&gt;
ОС: Debian&lt;br /&gt;
Приложение: squid3, squidGuard&lt;br /&gt;
Установка&lt;br /&gt;
$ aptitude install squid3 squidguard&lt;br /&gt;
Файлы настройки squid3 лежат в /etc/squid3. Файл настройки squidGuard лежит в /etc/squid. Если бы мы ставили предыдущую версию squid, то настройки обоих приложений лежали в одной папке /etc/squid.&lt;br /&gt;
Настройка squid3&lt;br /&gt;
Настройки squid3 лежат в файле /etc/squid3/squid.conf. Не надо пугаться обилию информации в этом файле, так как достаточно включить цветовыделение синтаксиса, чтобы увидеть, что работающих строк не больше пары или тройки десятков. Все остальные строки закоментированы и представляют собой описание, настройки по умолчанию и примеры опций squid3.&lt;br /&gt;
Файл /etc/squid3/squid.conf состоит из нескольких разделов:&lt;br /&gt;
 Options for authentication&lt;br /&gt;
Раздел для настройки авторизации.&lt;br /&gt;
При настройке прозрачного прокси - не нужен. Все строки закомментированы.&lt;br /&gt;
 Access controls&lt;br /&gt;
Контроль доступа.&lt;br /&gt;
Важный раздел. Работают 23 строки. Добавляем две работающие строки.&lt;br /&gt;
 acl manager proto cache_object&lt;br /&gt;
 acl localhost src 127.0.0.1/32&lt;br /&gt;
 acl to_localhost dst 127.0.0.0/8&lt;br /&gt;
 # Добавляем описание нашей подсети:&lt;br /&gt;
 acl localnet src 192.168.15.0/24&lt;br /&gt;
 acl SSL_ports port 443&lt;br /&gt;
 acl Safe_ports port 80 # http&lt;br /&gt;
 acl Safe_ports port 21 # ftp&lt;br /&gt;
 acl Safe_ports port 443 # https&lt;br /&gt;
 acl Safe_ports port 70 # gopher&lt;br /&gt;
 acl Safe_ports port 210 # wais&lt;br /&gt;
 acl Safe_ports port 1025-65535 # unregistered ports&lt;br /&gt;
 acl Safe_ports port 280 # http-mgmt&lt;br /&gt;
 acl Safe_ports port 488 # gss-http&lt;br /&gt;
 acl Safe_ports port 591 # filemaker&lt;br /&gt;
 acl Safe_ports port 777 # multiling http&lt;br /&gt;
 acl CONNECT method CONNECT&lt;br /&gt;
 http_access allow manager localhost&lt;br /&gt;
 http_access deny manager&lt;br /&gt;
 http_access deny !Safe_ports&lt;br /&gt;
 http_access deny CONNECT !SSL_ports&lt;br /&gt;
 # Этой строчкой разрешаем использование squid из локальной сети:&lt;br /&gt;
 http_access allow localnet&lt;br /&gt;
 http_access allow localhost&lt;br /&gt;
 http_access deny all&lt;br /&gt;
 icp_access deny all&lt;br /&gt;
 htcp_access deny all&lt;br /&gt;
 Network options&lt;br /&gt;
Сетевые настройки. По умолчанию раскомментирована лишь одна строка:&lt;br /&gt;
 http_port 3128&lt;br /&gt;
Изменяем эту опцию, добавляя интерфейс, на котором принимаем запросы, и включая прозрачность:&lt;br /&gt;
 http_port 192.168.15.1:3128 transparent&lt;br /&gt;
 SSL options&lt;br /&gt;
Настройка прокси для ssl-запросов. Ни одной строчки не раскомментировано. Этот раздел нам не нужен, так как будем выпускать ssl-запросы через iptables.&lt;br /&gt;
 Options which affect the neighbor selection algorithm&lt;br /&gt;
У нас один прокси сервер squid и это раздел нам не нужен. Раскомментирована одна строка:&lt;br /&gt;
 hierarchy_stoplist cgi-bin ?&lt;br /&gt;
 Memory cache options&lt;br /&gt;
Использование оперативной памяти.&lt;br /&gt;
Ни одной работающей строчки. Оставляем все настройки по умолчанию.&lt;br /&gt;
 Disk cache options&lt;br /&gt;
Интересный раздел по кэшированию запросов на винчестере. Ни одной работающей строчки. Оставляем все настройки по умолчанию.&lt;br /&gt;
 Logfile options&lt;br /&gt;
Одна работающая строка:&lt;br /&gt;
 access_log /var/log/squid3/access.log squid &lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;Options for FTP gatewaying, Options for external support programs&amp;gt; - эти разделы полностью закомментированы.&lt;br /&gt;
 Options for URL rewriting&lt;br /&gt;
Ни одной работающей строки. Здесь включим редирект на squidGuard:&lt;br /&gt;
 url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf&lt;br /&gt;
Помним, что из-за этой строки, пока squidGuard не будет настроен, squid3 будет падать сразу после запуска!&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Options for tuning the cache, HTTP options, Timeouts, Administrative parameters, Options for the cache registration service, HTTPD  -accelerator options, Delay pool parameters, WCCPv1 and WCCPv2 configuration options, Persistent connection handling, Cache digest  options, SNMP options&amp;gt; - эти разделы полностью закомментированы.&lt;br /&gt;
 ICP options&lt;br /&gt;
 icp_port 3130&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;Multicast ICP options, Internal icon options&amp;gt; -  - эти разделы полностью закомментированы.&lt;br /&gt;
 Error page options&lt;br /&gt;
Здесь включим русификацию ошибок прокси-сервера, выдаваемых в ответ на запросы пользователей несуществующих страниц в интернете и т.д.:&lt;br /&gt;
 error_directory /usr/share/squid3/errors/Russian-1251&lt;br /&gt;
&amp;lt; Options influencing request forwarding, Advanced networking options, ICAP options, DNS options&amp;gt; - эти разделы полностью закомментированы.&lt;br /&gt;
 Miscellaneous&lt;br /&gt;
 coredump_dir /var/spool/squid3&lt;br /&gt;
Будет лучше переименовать существующий файл squid3.conf и создать новый пустой squid3.conf, наполнив его приведёнными выше работающими строками.&lt;br /&gt;
Настройка squidGuard&lt;br /&gt;
 Скачиваем http://www.shallalist.de/Downloads/shallalist.tar.gz &lt;br /&gt;
(эта база разрешена к использованию только в некоммерческих или личных целях). В этом архиве лежат списки доменов и URL’ов распределённых по соответствующим папкам. Переносим все или избранные папки в /var/lib/squidguard/db. В результате получаем, что в /var/lib/squidguard/db/socialnet лежат списки адресов социальных сетей. В /var/lib/squidguard/db/porn лежат списки сайтов с поревом. И т.д.&lt;br /&gt;
Теперь приступим к файлу настроек /etc/squid/squidGuard.conf. Вероятно будет лучше переименовать этот файл и создать новый пустой /etc/squid/squidGuard.conf, наполнив его приведёнными строками:&lt;br /&gt;
 dbhome /var/lib/squidguard/db&lt;br /&gt;
 logdir /var/log/squid&lt;br /&gt;
 # SOURCE ADDRESSES:&lt;br /&gt;
 src bigboss {&lt;br /&gt;
 ip 192.168.0.100 #Компьютер директора&lt;br /&gt;
 ip 192.168.0.101 #Компьютер зама&lt;br /&gt;
 }&lt;br /&gt;
 src admin {&lt;br /&gt;
 ip 192.168.0.7 #Мой компьютер&lt;br /&gt;
 }&lt;br /&gt;
 # DESTINATION CLASSES:&lt;br /&gt;
 dest adv {&lt;br /&gt;
 domainlist adv/domains&lt;br /&gt;
 urllist adv/urls&lt;br /&gt;
 }&lt;br /&gt;
 dest chat {&lt;br /&gt;
 domainlist chat/domains&lt;br /&gt;
 urllist chat/urls&lt;br /&gt;
 }&lt;br /&gt;
 dest costtraps {&lt;br /&gt;
 domainlist costtraps/domains&lt;br /&gt;
 urllist costtraps/urls&lt;br /&gt;
 }&lt;br /&gt;
 dest dating {&lt;br /&gt;
 domainlist dating/domains&lt;br /&gt;
 urllist dating/urls&lt;br /&gt;
 }&lt;br /&gt;
 dest fortunetelling {&lt;br /&gt;
 domainlist fortunetelling/domains&lt;br /&gt;
 urllist fortunetelling/urls&lt;br /&gt;
 }&lt;br /&gt;
 dest gamble {&lt;br /&gt;
 domainlist gamble/domains&lt;br /&gt;
 urllist gamble/urls&lt;br /&gt;
 }&lt;br /&gt;
 dest porn {&lt;br /&gt;
 domainlist porn/domains&lt;br /&gt;
 urllist porn/urls&lt;br /&gt;
 }&lt;br /&gt;
 dest redirector {&lt;br /&gt;
 domainlist redirector/domains&lt;br /&gt;
 urllist redirector/urls&lt;br /&gt;
 }&lt;br /&gt;
 dest sex {&lt;br /&gt;
 domainlist sex/domains&lt;br /&gt;
 urllist sex/urls&lt;br /&gt;
 }&lt;br /&gt;
 dest spyware {&lt;br /&gt;
 domainlist spyware/domains&lt;br /&gt;
 urllist spyware/urls&lt;br /&gt;
 }&lt;br /&gt;
 dest tracker {&lt;br /&gt;
 domainlist tracker/domains&lt;br /&gt;
 urllist tracker/urls&lt;br /&gt;
 }&lt;br /&gt;
 dest socialnet {&lt;br /&gt;
 domainlist socialnet/domains&lt;br /&gt;
 urllist socialnet/urls&lt;br /&gt;
 }&lt;br /&gt;
 dest violence {&lt;br /&gt;
 domainlist violence/domains&lt;br /&gt;
 urllist violence/urls&lt;br /&gt;
 }&lt;br /&gt;
 dest warez {&lt;br /&gt;
 domainlist warez/domains&lt;br /&gt;
 urllist warez/urls&lt;br /&gt;
 }&lt;br /&gt;
 dest webmail {&lt;br /&gt;
 domainlist webmail/domains&lt;br /&gt;
 urllist webmail/urls&lt;br /&gt;
 }&lt;br /&gt;
 acl {&lt;br /&gt;
 bigboss {&lt;br /&gt;
 pass !costtraps !redirector !porn !spyware !tracker all&lt;br /&gt;
 redirect http://192.168.0.1/squidguard.html&lt;br /&gt;
 }&lt;br /&gt;
 # admin {&lt;br /&gt;
 # pass any&lt;br /&gt;
 # }&lt;br /&gt;
 default {&lt;br /&gt;
 pass !adv !chat !costtraps !dating !fortunetelling !gamble !porn !redirector !socialnet !spyware !tracker !violence !warez !webmail   all&lt;br /&gt;
 redirect http://192.168.0.1/squidguard.html&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
Надо помнить, что без указания redirect на какую-либо страницу на произвольном сервере фильтрование работать не будет. В данном случае на машине с ip-адресом 192.168.0.1 поднят Apache и опубликована простая страница с содержимым, состоящим из одного слова - Blocked.&lt;br /&gt;
Так же - на каждый объявленный в начале файла параметр src, должен быть свой acl в конце файла, иначе компьютер с ip-адресом 192.168.0.7 (смотрим вышенаписанный пример) не попадёт ни в какой из фильтров.&lt;br /&gt;
Если посмотреть на последние строки файла squidGuard.conf, то видно, что для компьютеров директора и его зама доступны все адреса, кроме costtraps, redirector, porn, spyware, tracker. Для всех остальных компьютеров список запретов более обширен. Для компьютера администратора оставлена возможность обхода запретов для его, сугубо администраторских, нужд. Хе, хе.&lt;br /&gt;
Теперь запускаем:&lt;br /&gt;
 $ squidGuard -C all&lt;br /&gt;
Файлы, перечисленные в squidguard.conf, будут преобразованы в формат db для ускорения работы. Например, в папке adv появятся два файла: domains.db и urls.db.&lt;br /&gt;
Исходные текстовые файлы удалять не надо. Могут пригодиться при дополнении или пересоздании базы.&lt;br /&gt;
Изменяем хозяина и группу на содержимом папки /var/lib/squidguard, так как в эту папку будет лазить squid:&lt;br /&gt;
 $ chown -R proxy:proxy *&lt;br /&gt;
Изменение записей в списках доменов и URL&lt;br /&gt;
Пример. Рядом с файлом domains.db в папке /var/lib/squiguard/db/webmail создаём файл domains.diff. В него заносим строку или несколько строк, по одной на каждую запись:&lt;br /&gt;
 -google.com (что означает вычеркнуть этот домен из базы)&lt;br /&gt;
 или +google.com (что означает добавить этот домен в базу)&lt;br /&gt;
Даём команды:&lt;br /&gt;
 $ squidGuard -u (обновить базы db из файлов diff. В логах squidguard'а можно посмотреть сколько добавилось/убылось.)&lt;br /&gt;
 $ squid3 -k reconfigure (перечитать настройки без перезапуска.)&lt;br /&gt;
Файл domains.diff удалять, или стирать из него записи, не надо. При глобальном обновлении баз этот файл ещё пригодится. И при многократном обновлении не происходит дублирования записей в БД.&lt;br /&gt;
Настройка iptables для работы squid3&lt;br /&gt;
 192.168.15.0/24 - локальная сеть&lt;br /&gt;
 eth0 = 192.168.15.1 - внутренний сетевой интерфейс&lt;br /&gt;
 eth1 =  1.1.1.1 - внешний сетевой интерфейс&lt;br /&gt;
 # Очищаем таблицы и даём правила по умолчанию&lt;br /&gt;
 iptables -F -t filter&lt;br /&gt;
 iptables -F -t nat&lt;br /&gt;
 iptables -F -t mangle&lt;br /&gt;
 iptables -P INPUT DROP&lt;br /&gt;
 iptables -P OUTPUT DROP&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 # Добавляем в iptables строчку перенаправления запросов юзеров с 80-го порта на порт сквида 3128:&lt;br /&gt;
 iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp -s 192.168.15.0/24 ! -d 192.168.15.0/24 --dport 80 -j REDIRECT --to-ports 3128&lt;br /&gt;
 # Включаем NAT, чтобы пропускать SSL, DNS, NTP и т.д. запросы:&lt;br /&gt;
 iptables -t nat -A POSTROUTING -o eth1 -s 192.168.15.0/24 ! -d 192.168.15.0/24 -j SNAT --to 1.1.1.1&lt;br /&gt;
 # Или, для динамически назначаемых внешних ip:&lt;br /&gt;
 # iptables -t nat -A POSTROUTING -o eth1 -s 192.168.15.0/24 -j MASQUERADE&lt;br /&gt;
 # Разрешаем вход на порт и выход с порта номер 3128&lt;br /&gt;
 iptables -A INPUT  -p tcp -m tcp -i eth0 -s 192.168.15.0/24 --dport 3128 -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -p tcp -m tcp -o eth0 -d 192.168.15.0/24 --sport 3128 -j ACCEPT -m conntrack --ctstate RELATED,ESTABLISHED&lt;br /&gt;
 # Разрешаем squid'у выходить в инет&lt;br /&gt;
 iptables -A OUTPUT -p tcp -m tcp -o eth1 ! -d 192.168.15.0/24 --dport 80 -j ACCEPT&lt;br /&gt;
 iptables -A INPUT  -p tcp -m tcp -i eth1 ! -s 192.168.15.0/24 --sport 80 -j ACCEPT -m conntrack --ctstate RELATED,ESTABLISHED&lt;br /&gt;
 # И делаем проход для SSL, DNS, NTP:&lt;br /&gt;
 iptables -A FORWARD -p tcp -m tcp -i eth0 -o eth1 ! -d 192.168.15.0/24 -m multiport --dports 53,123,443 -j ACCEPT&lt;br /&gt;
 iptables -A FORWARD -p tcp -m tcp -i eth1 -o eth0 ! -s 192.168.15.0/24 -m multiport --sports 53,123,443 -j ACCEPT -m conntrack -- ctstate RELATED,ESTABLISHED&lt;br /&gt;
 iptables -A FORWARD -p udp -m udp -i eth0 -o eth1 ! -d 192.168.15.0/24 -m multiport --dports 53,123 -j ACCEPT&lt;br /&gt;
 iptables -A FORWARD -p udp -m udp -i eth1 -o eth0 ! -s 192.168.15.0/24 -m multiport --sports 53,123 -j ACCEPT -m conntrack --ctstate  RELATED,ESTABLISHED&lt;br /&gt;
 # Разрешаем вход на локальный 80 порт. Здесь крутится Apache2&lt;br /&gt;
 # и сюда идёт перенаправление со squidguard'а.&lt;br /&gt;
 iptables -A INPUT  -p tcp -m tcp -i eth0 -s 192.168.15.0/24 --dport 80 -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -p tcp -m tcp -o eth0 -d 192.168.15.0/24 --sport 80 -j ACCEPT -m conntrack --ctstate RELATED,ESTABLISHED&lt;br /&gt;
 # Включаем форвардинг пакетов через ядро для прохода SSL, DNS, NTP и т.д. пакетов,&lt;br /&gt;
 # так как squid перекидывает мимо ядра только http пакеты&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
Настройка локальных машин на использование squid3&lt;br /&gt;
На локальных машинах в сетевых настройках достаточно поменять ip-адрес шлюза по умолчанию на ip-адрес сервера с работающим squid’ом, чтобы начать использовать прозрачный прокси-сервер.&lt;br /&gt;
Разделение канала с помощью SQUID&lt;br /&gt;
Из книги &amp;quot;Linux-сервер своими руками. Полное руководство. Колисниченко Д.Н.&amp;quot;&lt;br /&gt;
Допустим, вам нужно настроить прокси-сервер таким образом, чтобы одна группа компьютеров могла работать с одной скоростью, а другая — с другой. Это может потребоваться, например, для разграничения пользователей, которые используют канал для работы, и пользователей, которые используют ресурсы канала в домашних целях. Естественно, первым пропускная способность канала важнее, чем вторым. С помощью прокси-сервера SQUID можно разделить канал.&lt;br /&gt;
Для начала в файле конфигурации (/etc/squid/squid.conf) укажите, сколько пулов, то есть групп пользователей, у вас будет:&lt;br /&gt;
 delay_pools 2&lt;br /&gt;
Затем определите классы пулов. Всего существует три класса:&lt;br /&gt;
1. Используется одно ограничение пропускной способности канала на всех.&lt;br /&gt;
2. Одно общее ограничение и 255 отдельных для каждого узла сети класса С.&lt;br /&gt;
3. Для каждой подсети класса В будет использовано собственное ограничение и отдельное ограничение для каждого узла.&lt;br /&gt;
В файл squid.conf добавьте следующие директивы:&lt;br /&gt;
 delay class 1 1 # определяет первый пул класса 1 для домашних пользователей&lt;br /&gt;
 delay class 2 2 # определяет второй пул класса 2 для служащих&lt;br /&gt;
Теперь задайте узлы, которые будут относиться к пулам:&lt;br /&gt;
 асl home src адреса&lt;br /&gt;
 acl workers src адреса&lt;br /&gt;
 delay access 1 allow home&lt;br /&gt;
 delay access 1 deny all&lt;br /&gt;
 delay access 2 allow workers&lt;br /&gt;
 delay access 2 deny all&lt;br /&gt;
Затем укажите ограничения:&lt;br /&gt;
 delay_parameters 1 14400/14400&lt;br /&gt;
 delay_parameters 2 33600/33600 16800/33600&lt;br /&gt;
Как я уже отмечал выше, для пула класса 1 используется одно ограничение для всех компьютеров, входящих в пул — 14400 байт. Первое число задает скорость заполнения для всего пула (байт/секунду). Второе — максимальное ограничение.&lt;br /&gt;
Для пула класса 2, соответственно, используются ограничения на всю подсеть и отдельно на каждого пользователя. Если бы у нас был определен пул класса 3, то для него ограничения выглядели бы примерно так:&lt;br /&gt;
 delay_parameters 3 128000/128000 64000/128000 12800/64000&lt;br /&gt;
Первые два числа задают соответственно скорость заполнения и максимальное ограничение для всех. Следующая пара чисел определяет скорость заполнения для каждой подсети и максимальное ограничение, а третья - скорость заполнения и максимальное ограничение для индивидуального пользователя.&lt;br /&gt;
&lt;br /&gt;
[http://debuntu.ru/nastroyka-prozrachnogo-squid3-squidguard статья тут]&lt;/div&gt;</summary>
		<author><name>imported&gt;Vix</name></author>
	</entry>
</feed>