Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

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

Info

Убедитесь что у вас установлены модули 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

    Code Block
    languagebash
    dpkg search utf8_punycode
    dpkg install $searchresult
    dpkg search soap_lite
    dpkg install $searchresult


  • скачиваем список блокировки

    Code Block
    languagebash
    # 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

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

    Для других систем блокировки получить список можно следующим образом :
    Роскомнадзор - httphttps://abillsrkn.netgov.ua/wiki/doku.php/abills:docs:modules:netblock:rkn:ruru/
    Беларусь - https://belgie.by/ru/lists_access

  • Добавляем список хостов для Unbound
    nano unbound.conf

    Code Block
    languagebash
    include: "/usr/abills/var/db/netblock/domain_list"


  • Проверяем

    Code Block
    languagebash
    unbound-control reload
    drill @127.0.0.1 calendar.yandex.ru  | grep calendar.yandex.ru


    Code Block
    languagecpp
    ;; calendar.yandex.ru.  IN      A
    calendar.yandex.ru.     3600    IN      A       127.0.0.1


  • Добавляем в конфиг биллинга дополнительные опции для Netblock

    Info

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

    Смотрим так :

    which unbound || whereis unbound

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


    nano /usr/abills/libexec/config.pl

    Code Block
    languagebash
    $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';


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

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