Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1 2 След.
RSS
Блокировка рекламы и черные списки DNS. Пакет интеграции конфигурации dnsmasq версии 1.2.4.9, edgemax
 
Это полный и переработанный заново код на Go, основанный на моей оригинальной работе здесь.

Релиз 1.2.4.9 (7 июня 2023)  
Исправлено:  
- Проблема #66 — ошибка в документации  
- Проблема #56 — удалён большой исходник StevenBlack/hosts, так как он препятствовал запуску dnsmasq на роутерах ER-X  

Установить можно командой:  
set service dns forwarding blacklist hosts source githubSteveBlack url 'https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts'  
set service dns forwarding blacklist hosts source githubSteveBlack description 'Черный список сайтов с рекламным и вредоносным ПО'  
set service dns forwarding blacklist hosts source githubSteveBlack prefix '0.0.0.0 '

Журнал изменений  
Смотрите changelog для подробностей.

Функции  
- Добавлена интеграция черных списков DNS в конфигурацию EdgeRouter  
- Генерируются конфигурационные файлы, которые напрямую использует dnsmasq для перенаправления DNS-запросов  
- Интеграция с CLI EdgeMax OS  
- Любой FQDN из черного списка заставит dnsmasq возвращать настроенный IP для переадресации DNS  

Совместимость  
edgeos-dnsmasq-blacklist протестирован на роутерах EdgeRouter ERLite-3, ERPoe-5, ER-X, ER4, UniFi Security Gateway USG3 и USG4  
Версии EdgeMAX: v1.9.7+hotfix.6–v2.0.9-hotfix.6  
Версии UniFi: 4.4.34.5140624–4.4.57.5578372

Установка  
Использование apt-get – подходит для всех роутеров  
Использование dpkg – лучше для роутеров с ограниченным объемом памяти

Установка через apt-get — ERLite-3, ERPoe-5, ER-X, ER-X-SFP, ER4, UniFi-Gateway-3 и UniFi-Gateway-4  
Добавьте репозиторий пакетов blacklist через CLI роутера:  
configure  
set system package repository blacklist components main  
set system package repository blacklist description 'Britannic blacklist debian stretch repository'  
set system package repository blacklist distribution stretch  
set system package repository blacklist url 'https://raw.githubusercontent.com/britannic/debian-repo/master/blacklist/public/'  
commit; save; exit  

Добавьте ключи GPG:  
sudo curl -L https://raw.githubusercontent.com/britannic/debian-repo/master/blacklist/public.key | sudo apt-key add -  

Обновите репозитории и установите edgeos-dnsmasq-blacklist:  
sudo apt-get update && sudo apt-get install -f edgeos-dnsmasq-blacklist  

Если появятся сообщения о неудовлетворённых зависимостях, выполните:  
apt --fix-broken install  

Установка через dpkg — для роутеров с ограниченным местом на диске  
EdgeRouter ERLite-3, ERPoe-5, ER4, UniFi-Gateway-3 и UniFi-Gateway-4:  
curl -L -O https://raw.githubusercontent.com/britannic/blacklist/master/edgeos-dnsmasq-blacklist_1.2.4.9_mips.deb  
sudo dpkg -i edgeos-dnsmasq-blacklist_1.2.4.9_mips.deb  

EdgeRouter ER-X и ER-X-SFP  
Убедитесь, что на роутере достаточно места, удалив ненужные файлы:  
sudo apt-get clean cache  
удалите системный образ

Затем скачайте и установите пакет:  
curl -L -O https://raw.githubusercontent.com/britannic/blacklist/master/edgeos-dnsmasq-blacklist_1.2.4.9_mipsel.deb  
sudo dpkg -i edgeos-dnsmasq-blacklist_1.2.4.9_mipsel.deb  

Обновление  
Если репозиторий настроен и вы используете apt-get:  
sudo apt-get update && sudo apt-get install -f --only-upgrade edgeos-dnsmasq-blacklist  

Учтите, что dpkg не поддерживает обновление пакетов, поэтому следуйте этим инструкциям — предыдущая версия будет удалена автоматически перед установкой новой.

Переконфигурация  
Если UniFi Security Gateway был переустановлен, возможно, потребуется заново включить черные списки:  
sudo dpkg-reconfigure edgeos-dnsmasq-blacklist  

Удаление  
EdgeMAX — все платформы:  
sudo apt-get remove --purge edgeos-dnsmasq-blacklist  

Часто задаваемые вопросы  
- Создаёт ли установка резервную копию моей конфигурации черного списка перед удалением?  
- Запускается ли update-dnsmasq автоматически?  
- Как добавить или удалить источники?  
- Как сделать резервную копию конфигурации черного списка и восстановить её позже?  
- Как настроить dnsmasq?  
- Как настроить локальные источники файлов вместо интернет-источников?  
- Как использовать автономный или резервный режим?  
- Как включить или отключить черные списки dnsmasq?  
- Как исключить или включить хост или домен?  
- Как глобально исключить или включить хосты или домены?  
- Как пользоваться параметрами командной строки?  
- Как сохранить конфигурацию USG после обновления, перепрошивки или перезагрузки?  
- Как работает белый список?  
- В чем разница между блокировкой доменов и хостов?  
- Какие источники черных списков установлены по умолчанию?  
- Как использовать резервный режим, если при загрузке роутера не обнаружена конфигурация черного списка?  
- Как устранять неполадки с dnsmasq и черными списками?
 
Вы также можете добавить это в config:set  
service dns forwarding options server=/mask.icloud.com/  
set service dns forwarding options server=/mask-h2.icloud.com/  
Это должно помешать устройствам Apple использовать Private Relay и дать пользователю понять, что нужно отключить его для этой конкретной сети. Сделано это путем возврата ответа NXDOMAIN для этих двух URL.  
Источник: https://developer.apple.com/support/prepare-your-network-for-icloud-private-relay (→ "Разрешить проверку сетевого трафика")
 
Да, его убрали в последнем обновлении из-за большого размера — и если люди одновременно использовали другие пакеты на ERX (например, Wireguard вместе с другими), это могло вызывать нестабильность. В итоге все просто обвиняли Adblock в проблемах с ERX, хотя на самом деле дело было в ресурсах. Поэтому в качестве стандартного пакета взяли более лёгкий OISD с простыми инструкциями о том, как можно заменить или добавить что-то ещё. Учитывая огромное количество сайтов, логично дополнить этот Adblock внешним DNS-провайдером, например Control-D или NextDNS, который умеет обрабатывать все списки при поиске.
 
Сейчас StevenBlack всё ещё входит в стандартную установку? На ER-X стоит быть осторожным: сейчас у StevenBlack уже около 165 000 записей. Если добавить что-то вроде OISD, то вы приблизитесь к тому моменту, когда ежедневное обновление начнёт падать (примерно при 220 000 записей это становится «интересно» на ER-X). Если же выбирать между ними, то лучше остановиться на StevenBlack.
 
Похоже, что что-то не так с репозиторием apt-get...  
$ sudo apt-get update && sudo apt-get install -f edgeos-dnsmasq-blacklist  
Получено:1 https://raw.githubusercontent.com/britannic/debian-repo/master/blacklist/public stretch InRelease [7539 B]
Загружено 7539 B за 1 с (6095 B/c)  
Чтение списков пакетов... Готово  
Чтение списков пакетов... Готово  
Построение дерева зависимостей  
Чтение информации о состоянии... Готово  
Будет установлено новых пакетов:  
edgeos-dnsmasq-blacklist  
0 обновлено, 1 установлено, 0 удалено и 0 не обновлено.  
Необходимо скачать 0 B из 2012 kB архивов.  
После этой операции будет использовано дополнительно 5972 kB на диске.  
debconf: отложена конфигурация пакета, так как apt-utils не установлен  
Выбирается ранее не выбранный пакет edgeos-dnsmasq-blacklist.  
(Чтение базы данных ... в настоящее время установлено 37333 файла и каталогов.)  
Подготовка к распаковке .../edgeos-dnsmasq-blacklist_1.2.4.8_mips.deb ...  
Распаковка edgeos-dnsmasq-blacklist (1.2.4.8) ...  
Настройка edgeos-dnsmasq-blacklist (1.2.4.8) ...  
Установка настроек конфигурации черного списка...

Если у вас уже установлена версия v1.2.4.8, то для обновления запустите...  
$ sudo apt-get update && sudo apt-get install -f --only-upgrade edgeos-dnsmasq-blacklist  
Получено:1 https://raw.githubusercontent.com/britannic/debian-repo/master/blacklist/public stretch InRelease [7539 B]
Загружено 7539 B за 1 с (5117 B/c)  
Чтение списков пакетов... Готово  
Чтение списков пакетов... Готово  
Построение дерева зависимостей  
Чтение информации о состоянии... Готово  
edgeos-dnsmasq-blacklist уже самая новая версия (1.2.4.8).  
0 обновлено, 0 установлено, 0 удалено и 0 не обновлено.

Тогда вручную обновите после загрузки...  
$ curl -L -O https://raw.githubusercontent.com/britannic/blacklist/master/edgeos-dnsmasq-blacklist_1.2.4.9_mips.deb  
$ sudo dpkg -i edgeos-dnsmasq-blacklist_1.2.4.9_mips.deb  
(Чтение базы данных ... в настоящее время установлено 37389 файлов и каталогов.)  
Подготовка к распаковке edgeos-dnsmasq-blacklist_1.2.4.9_mips.deb ...  
pre-remove: INFO[001]23:00:56.979: Копирование конфигурации черного списка в: /config/user-data/blacklist.2024-03-03T230056.cmds
pre-remove: INFO[001]23:00:57.132: Копирование конфигурации черного списка в: /config/user-data/blacklist.2024-03-03T230057.cmds
Распаковка edgeos-dnsmasq-blacklist (1.2.4.9) поверх (1.2.4.8) ...  
Настройка edgeos-dnsmasq-blacklist (1.2.4.9) ...  

И, конечно, при попытке обновления снова получаем то же сообщение для версии v1.2.4.8  
$ sudo apt-get update && sudo apt-get install -f --only-upgrade edgeos-dnsmasq-blacklist  
Получено:1 https://raw.githubusercontent.com/britannic/debian-repo/master/blacklist/public stretch InRelease [7539 B]
Загружено 7539 B за 1 с (6075 B/c)  
Чтение списков пакетов... Готово  
Чтение списков пакетов... Готово  
Построение дерева зависимостей  
Чтение информации о состоянии... Готово  
edgeos-dnsmasq-blacklist уже самая новая версия (1.2.4.9).  
0 обновлено, 0 установлено, 0 удалено и 0 не обновлено.
 
Вот неприятность — хорошая находка. Это было недоступно с 1 января. https://oisd.nl/ Я скачал списки, чтобы проверить количество записей — https://oisd.nl/setup/0 OISD Big: Записей: 237866 https://big.oisd.nl/ OISD Small: Записей: 42572 https://small.oisd.nl/  <— именно этот список нужно использовать, чтобы не устроить хаос на моделях EdgerouterX.

Чтобы вручную исправить ситуацию — пока не выйдет обновление, настройте так:

set service dns forwarding blacklist domains source OISD description 'OISD Domains Small'  
set service dns forwarding blacklist domains source OISD url 'https://small.oisd.nl/domainswild2'  
commit; save; exit

Два основных списка теперь называются Big и Small — и в зависимости от той системы DNS-блокировки рекламы, что у вас, используется соответствующий формат списка. domainswild2 — это просто FQDN без префикса.

Стартовое количество:  
Всего найдено записей: 43631  
Всего извлечено записей: 42135  
Всего отброшено записей: 1496
 
Я заметил, что после установки URL OISD, заданный в service/dns/forwarding/blacklist/domains/source/OSID/url, больше не существует. При открытии этой ссылки появляется страница с надписью «gone» и происходит перенаправление на главную страницу. На главной странице видно следующее. Однако https://big.osid.nl/basic не существует. Синтаксис для https://big.oisd.nl/domainswild2, похоже, рабочий, но мне нужен кто-то более опытный, чтобы проверить это. Можно ли просто поменять URL?
 
Надеюсь, это кому-то поможет, потому что у меня ушло слишком много времени, чтобы разобраться. Apple iCloud Private Relay отключает dnsmasq.

Выключить Private Relay для конкретной сети на iPhone или iPad:
Откройте «Настройки», затем выберите Wi-Fi.
Рядом с нужной сетью нажмите кнопку «Подробнее».
Прокрутите вниз и нажмите «Ограничить отслеживание IP-адреса».
Для сотовой сети зайдите в «Настройки» > «Сотовая связь» > «Параметры сотовых данных», затем включите «Ограничить отслеживание IP-адреса».

Выключить Private Relay для конкретной сети на Mac:
В macOS Ventura и новее:
Выберите меню Apple  > «Системные настройки».
Нажмите «Сеть» в боковом меню, затем выберите используемое сетевое подключение (например, Wi-Fi) справа.
Нажмите кнопку «Подробнее» рядом с названием подключённой сети.
Отключите опцию «Ограничить отслеживание IP-адреса».

https://support.apple.com/en-us/102022
 
curl -L -O https://raw.githubusercontent.com/britannic/blacklist/master/edgeos-dnsmasq-blacklist_1.2.4.8_mipsel.deb  
sudo dpkg -i edgeos-dnsmasq-blacklist_1.2.4.8_mipsel.deb  
curl -L -O https://raw.githubusercontent.com/britannic/blacklist/master/edgeos-dnsmasq-blacklist_1.2.4.9_mipsel.deb  
sudo dpkg -i edgeos-dnsmasq-blacklist_1.2.4.9_mipsel.deb  
@base65, спасибо, что заметил, что документация нуждалась в обновлении. Теперь все исправлено.
 
Спасибо! Изменение в репозитории на archive.debian.org/debian сработало. Ценю вашу помощь. Боб
 
Если у вас всё ещё возникают проблемы, то, скорее всего, ошибка в вашей конфигурации связана со следующим:

set system package repository stretch components 'main contrib non-free'  
set system package repository stretch distribution stretch  
set system package repository stretch password ''  
set system package repository stretch url 'http://http.us.debian.org/debian'  
set system package repository stretch username ''

Ошибка исходит из вот этой строки:  
set system package repository stretch url 'http://http.us.debian.org/debian'  

Её нужно заменить на:  
set system package repository stretch url http://archive.debian.org/debian  

При этом этот раздел конфигурации, по большому счёту, для этого пакета не обязателен. Но прежде чем удалять его полностью, убедитесь, что у вас в конфиге нет ничего другого, что от него зависит (это не часть стандартной прошивки, да и пакет указывает на кастомный URL). Хотя, по сути, оставить его можно — главное, заменить эту строку на новый URL для stretch.

Если хотите удалить, используйте:  
delete system package repository stretch  
commit;save;exit

Надеюсь, это поможет.
 
Похоже, что этот репозиторий был перенесён на стороне Debian, это не связано с обновлением прошивки и не является проблемой dnsmasq: https://community.ui.com/releases/EdgeMAX-EdgeRouter-v2-0-9-hotfix-7/2693d34c-f878-45d3-90af-32da2b4895a2#comment/1993526b-eb18-4c97-88b2-28e079ed3789. Просто как информация для совместимости — у меня отлично всё работает на ERPro-8 с версией v2.0.9-hotfix.7.
 
Извиняюсь, если это сообщение не туда. После обновления до версии v2.09 hotfix 7 у меня перестала работать блокировка рекламы через DNS (до обновления ОС всё работало отлично). Я попытался удалить старую установку и получил сообщение "'edgeos-dnsmasq-blacklist' не установлен, поэтому удаление невозможно." Пытался переустановить — безуспешно. Похоже, что один из пакетов Stretch выдаёт ошибку. Буду признателен за любые советы, как дальше действовать. Готов предоставить дополнительную информацию, если понадобится. Спасибо! Боб

**********************************************************************************************************************

Bob@EdgeRouterLite:~$ sudo curl -L https://raw.githubusercontent.com/britannic/debian-repo/master/blacklist/public.key | sudo apt-key add -  
% Total  % Received % Xferd  Average Speed   Time    Time     Time  Current  
Dload  Upload   Total   Spent    Left  Speed
100 3112  100 3112    0     0   5302      0 --:--:-- --:--:-- --:--:--  5310
OK

Bob@EdgeRouterLite:~$ sudo apt-get update && sudo apt-get install -f edgeos-dnsmasq-blacklist
Ign:1 http://http.us.debian.org/debian stretch InRelease  
Ign:2 http://http.us.debian.org/debian stretch Release  
Ign:3 http://http.us.debian.org/debian stretch/main all Packages  
Ign:4 http://http.us.debian.org/debian stretch/main mips Packages  
Ign:5 http://http.us.debian.org/debian stretch/main Translation-en  
Ign:6 http://http.us.debian.org/debian stretch/contrib all Packages  
Ign:7 http://http.us.debian.org/debian stretch/contrib mips Packages  
Ign:8 http://http.us.debian.org/debian stretch/contrib Translation-en  
Ign:9 http://http.us.debian.org/debian stretch/non-free mips Packages  
Ign:10 http://http.us.debian.org/debian stretch/non-free all Packages  
Ign:11 http://http.us.debian.org/debian stretch/non-free Translation-en  
Get:12 https://raw.githubusercontent.com/britannic/debian-repo/master/blacklist/public stretch InRelease [7539 B]
Err:4 http://http.us.debian.org/debian stretch/main mips Packages  404 Not Found [IP: 2620:0:861:2:208:80:154:139 80]

W: Репозиторий 'http://http.us.debian.org/debian stretch Release' не содержит файла Release.  
N: Данные из такого репозитория не могут быть проверены, поэтому их использование потенциально опасно.  
N: Смотрите man apt-secure(8) для получения информации по созданию репозиториев и настройке пользователя.  
E: Не удалось получить http://http.us.debian.org/debian/dists/stretch/main/binary-mips/Packages  404 Not Found [IP: 2620:0:861:2:208:80:154:139 80]
E: Некоторые индексные файлы не загрузились. Они были проигнорированы, либо использовались старые.
 
INFO[020]2023-04-21 02:03:21.576: githubSteveBlack: загружено: 170543
Хорошо знать, спасибо за обновление! Учитывая, как много таких доменов появляется, это действительно игра «уничтожь крота», и одного лишь ER-X, к сожалению, недостаточно (хотя какая-то защита, конечно, лучше, чем никакой). Меня больше беспокоят сайты с вредоносным ПО, поэтому перенаправление на что-то вроде quad9 или семейную защиту Cloudflare – вот следующий вариант «настроил и забыл».
 
Похоже, список StevenBlack немного сократился: INFO[020]2023-04-21 02:03:21.576: githubSteveBlack: скачано: 170543.
Это хорошо, даёт нам, бедным пользователям ERX, немного передышки. В отличие от последнего обновления, я оставил StevenBlack и выбросил OISD — только с этим списком на мобильных иногда прорвались объявления, когда я прошлым годом тестировал разные комбинации списков. Пока общее количество записей не превышает 220 000, всё должно быть в порядке. Если больше — процесс обновления становится ненадёжным: может сработать пять раз, а потом слететь. (Время с последней перезагрузки тоже, наверное, играет роль.)
 
nextDNS позволяет бесплатно совершать определённое количество запросов в месяц. Но платный безлимитный тариф очень разумный по цене.
 
Есть ли у других бесплатных DNS-сервисов какой-то вид блокировки на бесплатном уровне? Видимо, именно это был мой вопрос; я не думал, что кто-то из них предлагает что-то лучше, чем DNS моего провайдера.
 
Этот пакет содержит списки доменов и хостов, которые будут возвращать IP-адрес 0.0.0.0, если пользователь или устройство пытаются к ним обратиться (прямо или косвенно). Поскольку сейчас в этом списке менее 60 тысяч записей, если пользователи ER-X хотят большего уровня защиты, то указание на один из внешних DNS-серверов приведёт к тому, что ещё больше доменов и хостов будут возвращать IP 0.0.0.0.

По сути, ваш ER-X теперь может ссылаться на списки с более чем 400 тысячами записей, при этом почти без влияния на производительность (кроме дополнительного времени, необходимого на выполнение этого запроса).

Поэтому используйте набор правил, который блокирует значительную часть, а затем можно подключиться к внешнему серверу, который заблокирует ещё больше, с опцией (платной) для просмотра, какие именно запросы проходят в вашей сети.

У меня ER-4, и мое текущее количество записей (дефолтный список + несколько других) около 270 тысяч. Я использую платную версию NextDNS, и любые неизвестные адреса дополнительно фильтруются по списку из 200 тысяч сайтов (хотя некоторые из них уже входят в первоначальные 270 тысяч). Аналитика показывает, что он блокирует ещё около 20 тысяч запросов.
 
Спасибо за вашу работу. У меня есть er-x, и мне очень понравилось им пользоваться. После того как он начал зависать из-за слишком большого списка, я решил попробовать pi-hole, так как у меня дома всегда включен компьютер на Linux.
 
Я убрал эту настройку на своём ERX некоторое время назад, потому что она вызывала случайные зависания и перезагрузки роутера. Сейчас, когда список Steve исчез, возможно, попробую её снова. Просто было интересно, зачем используется внешний DNS.
Страницы: 1 2 След.
Читают тему (гостей: 1)