|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (88)
просмотр истории страницы{toc} |
Carbon Reductor позволяет блокировать разным абонентам разные ресурсы и показывать разные страницы заглушки в зависимости от списка запрещённых URL к которому принадлежит ресурс. |
|
h1. Общая информация |
Поддерживаются списки URL и списки доменов. |
|
Carbon Reductor поддерживает фильтрацию с помощью нескольких списков, что позволяет блокировать разным абонентам разные ресурсы и показывать разные страницы заглушки в зависимости от того из какого списка запрещённых URL был открыт ресурс. |
h2. Обобщённое устройство дополнительных списков |
|
Кастомные списки располагаются в директории: |
Для настройки дополнительных списков нужно три "компонента": * Файл со списком заблокированных ресурсов, описывающий *категорию ресурсов* * Файл со списком IP сетей, описывающий *категорию абонентов* * Файл со списком *сопоставлений*, в котором категории ресурсов привязываются к категориям абонентов. |
|
Ко всем этим файлам относятся те же самые требования, что и к обычным пользовательским спискам (в списках URL должны быть HTTP-URL, в списке доменов - домены, в списке IP - IPv4 адреса). Все эти файлы располагаются в директории. |
{panel} |
{code} |
/app/reductor/cfg/userinfo/hooks |
{panel} {code} |
и состоят из списков заблокированных ресурсов, списков абонентских сетей и файла с описанием связки между ресурсами и абонентами, а также страницей на которую они будут редиректиться. |
|
h1. Описания файлов |
При изменении файла сопоставлений и добавлении новых URL/доменов (например при первичной настройке) требуются полная обработка списков перезапуск службы /app/reductor. |
|
Рекомендуем проверить фильтрацию URL/доменов для абонента входящего в категорию для которой фильтрация предполагается и для абонента вне таких групп до (не должно работать) и после (должно заработать) настройки. |
|
h2. Разные списки заблокированных URL |
|
В первую очередь нужно перечислить список блокируемых URL. |
{code} chroot /app/reductor/ /usr/local/Reductor/bin/update.sh /app/reductor/service restart {code} |
|
Создайте папку |
h2. Настройка дополнительных списков URL |
|
{panel} mkdir \-p /app/reductor/cfg/userinfo/hooks/custom_url_lists/ {panel} |
h3. Категории URL |
|
внутри неё создайте файл со списком url ([требования к спискам те же, что и для собственных списков провайдера|http://docs.carbonsoft.ru/67404013]). |
Создайте папку для *категорий URL* |
|
название файла должно состоять из номера списка (без расширения), который будет использоваться в качестве его идентификатора при создании правила и загрузки списка в ядро. |
{code} mkdir -p /app/reductor/cfg/userinfo/hooks/custom_url_lists/ {code} |
|
Пример: |
внутри неё создайте файл *категории URL* со списком URL ([требования к спискам те же, что и для собственных списков провайдера|http://docs.carbonsoft.ru/67404013]). |
|
{panel} /app/reductor/cfg/userinfo/hooks/custom_url_lists/1 /app/reductor/cfg/userinfo/hooks/custom_url_lists/2 {panel} |
название файла должно состоять из *номера категории* (без расширения), например 1, 2, 3 или 153. |
|
содержимое: |
|
{panel} \#cat /app/reductor/cfg/userinfo/hooks/custom_url_lists/1 http://боль.кладбище.гроб.рф http://игил.и.прочие.тренды.рф[http://sorry.for.this.example.com] \#cat /app/reductor/cfg/userinfo/hooks/custom_url_lists/2[http://something.very.bad] {panel} |
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} |
|
h2. Разные списки заблокированных Domain |
h3. Категории абонентов |
|
Нужно перечислить список блокируемых domain. |
Создайте папку для *категорий абонентов* |
|
Создайте папку |
{code} mkdir -p /app/reductor/cfg/userinfo/hooks/custom_ipsets/ {code} |
|
{panel} mkdir \-p /app/reductor/cfg/userinfo/hooks/custom_domains/ {panel} |
внутри неё создайте файл *категории абонентов* со списком IP-адресов ([требования к спискам те же, что и для собственных списков провайдера|http://docs.carbonsoft.ru/67404013]). |
|
Дальше по аналогии с URL, создайте списки с нужными ресурсами. |
название файла должно состоять из *номера категории* (без расширения), например 3, 7, 15 или 163. |
|
h2. Разные подсети абонентов |
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} |
|
{panel} mkdir \-p /app/reductor/cfg//userinfo/hooks/custom_ipsets {panel} |
h3. Связь категорий абонентов и URL |
|
внутри неё создайте файл со списком подсетей ([требования к спискам те же, что и для собственных списков провайдера|http://docs.carbonsoft.ru/67404013]). название файла должно состоять из номера списка (без расширения), который будет использоваться в качестве его идентификатора при создании правила и загрузки списка в ядро. |
Создайте файл |
|
Пример: {code} |
vim /app/reductor/cfg/userinfo/hooks/custom_bindings |
{panel} {code} |
/app/reductor/cfg/userinfo/hooks/custom_ipsets/1 /app/reductor/cfg/userinfo/hooks/custom_ipsets/2 {panel} |
|
В нём нужно описать связи между категориями абонентов и ресурсов (URL). |
содержимое: |
Формат файла для списков URL следующий: |
{panel} |
\#cat /app/reductor/cfg/userinfo/hooks/custom_ipsets/1 |
* 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_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 |
# cat /app/reductor/cfg/userinfo/hooks/custom_ipsets/2 |
196.168.4.0/24 |
{panel} {code} |
|
h2. Связывание этих списков и разные страницы редиректа |
h3. Связь категорий абонентов и доменов |
|
Далее необходимо описать связь между этими списками в файле. |
Создайте файл |
|
h5. Для *URL:* |
{code} vim /app/reductor/cfg/userinfo/hooks/custom_bindings_dns {code} |
|
{panel} /app/reductor/cfg/userinfo/hooks/custom_bindings {panel} |
В нём нужно описать связи между категориями абонентов и ресурсов (доменов). |
|
Формат файла: 1 колонка - id списка (одноимённо с файлом списка, только цифры. id списка фильтрации по всем ФЗ, минюсту, our.list итд - 0). 2 колонка - id ipset’а 3 колонка - url куда редиректить 4 колонка - комментарий, в правиле показываться будет разделитель - пробел или tab, комментарии не поддерживаются |
Формат файла для списков доменов следующий: |
|
h3. Пример содержимого для редиректа части абонентов на другую заглушку: {panel} 0 1 [http://www.patriarchia.ru] just_other_block_page 0 \-1 [http://default.redirect.page/] default {panel} |
* 1 колонка - номер категории ресурсов (доменов) * 2 колонка - номер категории абонентов * 3 колонка - IP-адрес страницы заглушки для перенаправления * 4 колонка - режим блокировки. Имеет два варианта: ** with_subdomains - все перечисленные в категории ресурсов домены будут блокироваться "по маскам" со всеми субдоменами. ** exact - все перечисленные в категории ресурсов домены будут блокироваться точечно. Их субдомены не будут заблокированы. * 5 колонка - тип списка. Имеет два ваианта: ** black - чёрный список, ресурсы будут блокироваться для заданной категории абонентов ** white - белый список, ресурсы будут разблокированы для заданной категории абонентов. * 6 колонка - комментарий, который будет отображаться в правиле фильтрации. |
|
h3. Пример содержимого для фильтрации доп. URL для части абонентов: {panel} 1 1 [http://www.patriarchia.ru] no_suicide_and_terrorism 2 2 [http://somthing.very.good] no_something_very_bad {panel} |
|
h5. Для *Domain:* |
Разделитель - пробел или табуляция, комментарии в файле не поддерживаются. |
|
/app/reductor/cfg/userinfo/hooks/custom_bindings_dns Формат файла: 1 колонка - id списка (одноимённо с файлом списка, только цифры. id списка фильтрации по всем ФЗ, минюсту, our.list итд - 0). 2 колонка - id ipset’а 3 колонка \- IP куда редиректить 4 колонка - Статично прописать "*with_subdomains*" 5 колонка - Вид списка "*black*" 6 колонка - комментарий, в правиле показываться будет разделитель - пробел или tab, комментарии не поддерживаются |
Номер категории ресурсов заблокированных для всех абонентов (реестр запрещённых сайтов, список МинЮста, собственные списки провайдера) - 0. Не используйте его в файле custom_bindings, это может привести к пропускам фильтрации и штрафам. |
|
h3. Пример содержимого для редиректа абонентов на заглушку: |
h4. Пример |
|
{panel} {code} |
1 1 192.168.1.100 with_subdomains black content_filter |
2 2 - exact white monitoring_services |
{panel} {code} |
Возьмём первую строчку и попробуем понять что она значит: Категория доменов №1 (см. файл custom_domains/1) для категории абонентов №1 (custom_ipsets/1) будет перенаправляться на адрес 192.168.1.100. Действовать это будет для всех поддоменов. В файрволе это правило можно будет найти по комментарию "content_filter". Вторая строчка: Категория доменов №2 (см. файл custom_domains/2) для категории абонентов №2 (custom_ipsets/2) не будет никуда перенаправляться, даже если содержится в других чёрных списках. Действовать это будет только для конкретных доменов - если в другом чёрном списке такой домен блокируется по маске - субдомены продолжат блокироваться. |