... {toc} Carbon Reductor позволяет блокировать разным абонентам разные ресурсы и показывать разные страницы заглушки в зависимости от списка запрещённых URL к которому принадлежит ресурс. Поддерживаются списки URL и списки доменов. h2. Обобщённое устройство дополнительных списков Для настройки дополнительных списков нужно три "компонента": * Файл со списком заблокированных ресурсов, описывающий *категорию ресурсов* * Файл со списком IP сетей, описывающий *категорию абонентов* * Файл со списком *сопоставлений*, в котором категории ресурсов привязываются к категориям абонентов.
|
Ко всем этим файлам относятся те же самые требования, что и к обычным пользовательским спискам (в списках URL должны быть HTTP-URL, в списке доменов - домены, в списке IP - IPv4 адреса).
|
Все эти файлы располагаются в директории.
|
|
... {code} /app/reductor/cfg/userinfo/hooks {code} При изменении файла сопоставлений и добавлении новых URL/доменов (например при первичной настройке) требуются полная обработка списков перезапуск службы /app/reductor. Рекомендуем проверить фильтрацию URL/доменов для абонента входящего в категорию для которой фильтрация предполагается и для абонента вне таких групп до (не должно работать) и после (должно заработать) настройки. {code} chroot /app/reductor/ /usr/local/Reductor/bin/update.sh /app/reductor/service restart {code} h2. Настройка дополнительных списков URL h3. Категории URL Создайте папку для *категорий URL* {code} mkdir -p /app/reductor/cfg/userinfo/hooks/custom_url_lists/ {code} внутри неё создайте файл *категории URL* со списком URL ([требования к спискам те же, что и для собственных списков провайдера|http://docs.carbonsoft.ru/67404013]). название файла должно состоять из *номера категории* (без расширения), например 1, 2, 3 или 153. h4. Примеры {code} # cat /app/reductor/cfg/userinfo/hooks/custom_url_lists/1 http://bad.example.com http://category1.example.com/bad-things-in-internet.html # cat /app/reductor/cfg/userinfo/hooks/custom_url_lists/2 http://torrents.example.com http://piracy.example.com {code} h3. Категории абонентов Создайте папку для *категорий абонентов* {code} mkdir -p /app/reductor/cfg/userinfo/hooks/custom_ipsets/ {code} внутри неё создайте файл *категории абонентов* со списком IP-адресов ([требования к спискам те же, что и для собственных списков провайдера|http://docs.carbonsoft.ru/67404013]). название файла должно состоять из *номера категории* (без расширения), например 3, 7, 15 или 163. h4. Примеры {code} # cat /app/reductor/cfg/userinfo/hooks/custom_ipsets/1 192.168.3.0/24 10.30.0.0/16 # cat /app/reductor/cfg/userinfo/hooks/custom_ipsets/2 196.168.4.0/24 {code} h3. Связь категорий абонентов и URL Создайте файл {code} vim /app/reductor/cfg/userinfo/hooks/custom_bindings {code} В нём нужно описать связи между категориями абонентов и ресурсов (URL).
|
Формат файла для списков URL следующий:
|
# * 1 колонка - номер категории ресурсов (URL)
|
# * 2 колонка - номер категории абонентов
|
# * 3 колонка - URL страницы заглушки для перенаправления
|
# * 4 колонка - комментарий, который будет отображаться в правиле фильтрации.
|
Разделитель - пробел или табуляция, комментарии в файле не поддерживаются.
|
... Номер категории ресурсов заблокированных для всех абонентов (реестр запрещённых сайтов, список МинЮста, собственные списки провайдера) - 0. Не используйте его в файле custom_bindings, это может привести к пропускам фильтрации и штрафам. h4. Пример {code} 1 2 http://good.example.com block_bad_things 2 1 http://promo-tv.example.com anti_piracy_promo {code}
|
Возьмём первую строчку и попробуем понять что она значит:
|
Категория URL №1 (см. файл custom_url_lists/1) для категории абонентов №2 (custom_ipsets/2) будет перенаправляться на страницу [http://good.example.com].
|
В файрволе это правило можно будет найти по комментарию "block_bad_things".
|
... h2. Настройка дополнительных списков доменов h3. Категории доменов Создайте папку для *категорий доменов*
|
{code}
|
mkdir -p /app/reductor/cfg/userinfo/hooks/custom_url_lists/ /app/reductor/cfg/userinfo/hooks/custom_domains/
|
{code}
|
... внутри неё создайте файл *категории доменов* со списком доменов ([требования к спискам те же, что и для собственных списков провайдера|http://docs.carbonsoft.ru/67404013]). название файла должно состоять из *номера категории* (без расширения), например 1, 2, 3 или 153. h4. Примеры {code} # cat /app/reductor/cfg/userinfo/hooks/custom_domains/1 test1.category1.example.com test2.category1.example.com # cat /app/reductor/cfg/userinfo/hooks/custom_domains/2 test3.category2.example.com test4.category2.example.com {code} h3. Категории абонентов Создайте папку для *категорий абонентов* {code} mkdir -p /app/reductor/cfg/userinfo/hooks/custom_ipsets/ {code} внутри неё создайте файл *категории абонентов* со списком IP-адресов ([требования к спискам те же, что и для собственных списков провайдера|http://docs.carbonsoft.ru/67404013]). название файла должно состоять из *номера категории* (без расширения), например 3, 7, 15 или 163. h4. Примеры {code} # cat /app/reductor/cfg/userinfo/hooks/custom_ipsets/1 192.168.3.0/24 10.30.0.0/16 # cat /app/reductor/cfg/userinfo/hooks/custom_ipsets/2 196.168.4.0/24 {code} h3. Связь категорий абонентов и доменов Создайте файл {code} vim /app/reductor/cfg/userinfo/hooks/custom_bindings_dns {code} В нём нужно описать связи между категориями абонентов и ресурсов (доменов).
|
Формат файла для списков доменов следующий:
|
# * 1 колонка - номер категории ресурсов (доменов)
|
# * 2 колонка - номер категории абонентов
|
# * 3 колонка - IP-адрес страницы заглушки для перенаправления
|
# * 4 колонка - режим блокировки. Имеет два варианта:
|
## ** with_subdomains - все перечисленные в категории ресурсов домены будут блокироваться "по маскам" со всеми субдоменами.
|
## ** exact - все перечисленные в категории ресурсов домены будут блокироваться точечно. Их субдомены не будут заблокированы.
|
# * 5 колонка - тип списка. Имеет два ваианта:
|
## ** black - чёрный список, ресурсы будут блокироваться для заданной категории абонентов
|
## ** white - белый список, ресурсы будут разблокированы для заданной категории абонентов.
|
# * 6 колонка - комментарий, который будет отображаться в правиле фильтрации.
|
|
|
Разделитель - пробел или табуляция, комментарии в файле не поддерживаются.
|
... Номер категории ресурсов заблокированных для всех абонентов (реестр запрещённых сайтов, список МинЮста, собственные списки провайдера) - 0. Не используйте его в файле custom_bindings, это может привести к пропускам фильтрации и штрафам. h4. Пример {code} 1 1 192.168.1.100 with_subdomains black content_filter 2 2 - exact white monitoring_services {code} Возьмём первую строчку и попробуем понять что она значит: Категория доменов №1 (см. файл custom_domains/1) для категории абонентов №1 (custom_ipsets/1) будет перенаправляться на адрес 192.168.1.100. Действовать это будет для всех поддоменов. В файрволе это правило можно будет найти по комментарию "content_filter". Вторая строчка: Категория доменов №2 (см. файл custom_domains/2) для категории абонентов №2 (custom_ipsets/2) не будет никуда перенаправляться, даже если содержится в других чёрных списках. Действовать это будет только для конкретных доменов - если в другом чёрном списке такой домен блокируется по маске - субдомены продолжат блокироваться.
|