Skip to content

Записи пользователя в блэклисте

gSpot edited this page Apr 7, 2024 · 9 revisions

Добавление собственных записей к списку блокировок (не заблокированные сайты на которые необходимо всегда ходить через прокси). Включение опции:

uci set ruantiblock.config.add_user_entries="1"
uci commit ruantiblock

Записи нужно добавить в текстовый файл /etc/ruantiblock/user_entries (IP, CIDR или FQDN, каждая запись в новой строке). В записях FQDN можно задать DNS-сервер для разрешения данного домена (через пробел). Также можно комментировать строки (# - первый символ строки).

Пример файла /etc/ruantiblock/user_entries:

# FQDN
domain.net
# FQDN с DNS-сервером
sub.domain.com 8.8.8.8
# FQDN с DNS-сервером и портом. #53 - порт, не комментарий
sub.domain.com 8.8.8.8#53
# ip
74.125.131.19
# CIDR
74.125.0.0/16

В процессе обновления блэклиста можно подгружать дополнительные записи с удалённого сервера по протоколу HTTP. Файл на сервере должен иметь формат аналогичный файлу /etc/ruantiblock/user_entries. Не стоит злоупотреблять этой опцией и подключать большие списки, поскольку при добавлении пользовательских записей в блэклист не производится никаких оптимизаций, проверок на повторы и пр. IP адреса и домены добавляются как есть, и нет никакого контроля над их содержимым и размером! Добавление URL удалённого файла:

uci add_list ruantiblock.config.user_entries_remote="http://server.lan/files/user_entries_1"
uci add_list ruantiblock.config.user_entries_remote="http://server.lan/files/user_entries_2"
uci commit ruantiblock
и т.д.

Есть возможность задать общий DNS-сервер только для пользовательских FQDN-записей:

uci set ruantiblock.config.user_entries_dns="1.1.1.1#53"    # значение в виде пустой строки отключает опцию
uci commit ruantiblock

Если в какой-либо записи (как в примере выше) указан свой DNS-сервер - то для этого домена используется исключительно он.

Для применения записей необходимо обновить блэклист:

/usr/bin/ruantiblock update

Также, желательно очистить кэш DNS в ОС вашего ПК (в Windows: ipconfig /flushdns), и на роутере перезапустить dnsmasq /etc/init.d/dnsmasq restart, чтобы он тоже очистил кэш.

Конфигурация с использованием только собственных записей.

Если отключить режим обновления блэклиста и модуль-парсер:

uci set ruantiblock.config.bllist_preset=""
uci set ruantiblock.config.bllist_module=""
uci commit ruantiblock

то для создания правил nftables и dnsmasq будут применяться лишь записи пользователя, без загрузки списка блокировок. При этом, благодаря использованию dnsmasq, записи FQDN будут всегда актуальны (ибо резолвятся в IP адреса в момент запроса). Применение правил из списка пользователя происходит при выполнении команды обновления, как описано выше (/usr/bin/ruantiblock update). Также, можно удалить из cron задание для регулярного обновления блэклиста, ибо оно не имеет смысла при ручном формировании списка блокировок...