Skip to content

Исключение хостов из обхода блокировок

gSpot edited this page Nov 2, 2024 · 2 revisions

Можно исключить из обхода блокировок некоторые адреса, диапазоны или сайты. Это может быть полезно, например, если в блэклисте находится целая подсеть (диапазон), а вам необходим прямой доступ к одному из хостов этой сети и т.п. Записи, которые указаны в файле /etc/ruantiblock/bypass_entries будут всегда игнорироваться при обходе блокировок (т.е. всегда доступны напрямую, без проксификации, вне зависимости от того находятся ли они в блэклисте или нет). Данная опция реализована при помощи отдельных правил nftables (которые применяются перед правилами отбора пакетов в блэклист), т.е. не зависит от выбранного блэклиста и его содержимого. Действие этой опции также распространяется на все экземпляры записей пользователя. Включение опции:

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

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

Пример файла /etc/ruantiblock/bypass_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

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

uci set ruantiblock.config.bypass_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, чтобы он тоже очистил кэш.