Skip to end of metadata
Go to start of metadata

Особенности работы Netblock с DNS блокировкой

Убедитесь что у вас установлены модули Perl :

URI::UTF8::Punycode

SOAP::Lite

Netblock DNS работает с DNS сервером Unbound  ( https://nlnetlabs.nl/projects/unbound/ )

Инструкция по настройке самого Unbound - https://nlnetlabs.nl/documentation/unbound/

Netblock в данном случае работает следующим образом :

  • скрипт скачивает нужный список бан листа (uablock, rkn aka РосКомНадзор, и т.д.), который заносит в базу биллинга
  • генерирует и активирует правила для Unbound DNS
  • при внесении в крон, скачивает и перегенерирует правила
  • статистика работы отображается в админ-панели  > Обслуживание > Netblock 

Установка и настройка

  • устанавливаем модули Perl

    URI::UTF8::Punycode
    SOAP::Lite
  • скачиваем список блокировки

    # UABlock
    /usr/abills/libexec/billd netblock TYPE=uablock FETCH=1
    # Роскомнадзор
    /usr/abills/libexec/billd netblock TYPE=rkn FETCH=1
    # Список ограниченного доступа, BY list (Беларусь)
    /usr/abills/libexec/billd netblock TYPE=byblock FETCH=1
  • активируем правила, в данном случае все все ответы пользователям будут возвращаться на 127.0.0.1

    /usr/abills/libexec/billd netblock ACTIVE_BLOCK=1 TYPE=uablock UNBOUND=1 DOMAIN_REDIRECT=127.0.0.1

    Для других систем блокировки получить список можно следующим образом :
    Роскомнадзор - https://rkn.gov.ru/
    Беларусь - https://belgie.by/ru/lists_access

  • Добавляем список хостов для Unbound
    Нужно создать hard link на файл domain_list в директории unbound.conf.d

    ln /usr/abills/var/db/netblock/domain_list /etc/unbound/unbound.conf.d/domain_list.conf
  • Проверяем

    unbound-control reload
    drill @127.0.0.1 calendar.yandex.ru  | grep calendar.yandex.ru
    ;; calendar.yandex.ru.  IN      A
    calendar.yandex.ru.     3600    IN      A       127.0.0.1
  • Добавляем в конфиг биллинга дополнительные опции для Netblock

    В зависимости от системы, unbound может быть установлен в другой директории.

    Смотрим так :

    which unbound || whereis unbound

    Соответсвенно меняем путь для настроек


    nano /usr/abills/libexec/config.pl

    $conf{UNBOUND_RESTART}='/usr/local/sbin/unbound-control reload';
    $conf{NETBLOCK_DNS_TPL} = 'local-data: "%NAME A 127.0.0.1"';
    $conf{NETBLOCK_DNS_ADD_CMD} = '/usr/local/sbin/unbound-control local_data %NAME A 127.0.0.1';
    $conf{NETBLOCK_DNS_DEL_CMD} = '/usr/local/sbin/unbound-control local_data_remove %NAME';

Интерфейс управления ресурсами блокировки

Интерфейс управления ресурсами блокировки

  • No labels