OpenWrt настраивает двойной AdGuard для реализации внутреннего и зарубежного распространения DNS.
OpenWrt настраивает двойной AdGuard для реализации внутреннего и зарубежного распространения DNS.

С тех пор, как в прошлом году я обновил свою домашнюю сеть, сейчас она работает очень стабильно.,Но в последнее время у меня время от времени случаются судороги в моей самодельной уборной.,Чем я всегда пользуюсьHysteriaпротокол,Нашел обновление версии,Поэтому я модернизировал терминал Служить.,Наконец, я обнаружил, что он все еще не стал гладким и шелковистым.,Я обнаружил, что плагин passwall в openwrt, который я сейчас использую, не поддерживает функцию переключения портов., Итак, я нашел последнюю версию прошивки OpenWrt на форуме Enshan и установил ее. Некоторое время назад я наткнулся на версию, которая использует двойное разрешение AdguardHome для изменения внутреннего и внешнего разрешения DNS. Было сказано, что это может предотвратить загрязнение DNS. на этот раз обновите OpenWrt, поэтому я некоторое время возился с ним. Чтобы сохранить предыдущую службу в нормальном режиме, я сразу перезапустил OpenWrt. Когда я почувствовал, что проблем нет, я уничтожил все это и переключил его. ловушки, на которые я наступил, и это пустая трата времени.

Предварительная подготовка

1、 Загрузите соответствующийOpпрошивка:Я использую Эншаньbleach1991из Высокая версия/облегченная версия Openwrt x86 ядро 6.1 Прошивка мягкой маршрутизации

2. Программное обеспечение для преобразования диска виртуальной машины ESXI: StarWind V2V Image Converter.

Начать настройку

Я не буду здесь приводить схему установки OpenWrt.,После установки рекомендуется обратиться к другой моей статье по расширению диска.,OpenWrt План расширения диска и практическая работа

Я использую двойной AdguargHome непосредственно в докере. Многие решения в Интернете используют AdguargHome, который поставляется с подключаемым модулем Op, чтобы напрямую управлять внутренним разрешением DNS. Для удобства обслуживания я напрямую использую docker для их запуска. .

План следующий:

  • Внутренняя группа:udp:15335(DNSанализировать)、tcp:3001(Adуправлятьконец)
  • Зарубежная группа: udp: 15336 (анализ DNS), tcp: 3002 (адрес)

Установить домашнюю группу

  1. Войдите в терминал ОПуправлять и нажмите: Система. -> TTYD Терминал, войдите в окно оболочки и напрямую запустите следующую команду doke, чтобы запустить внутреннюю группу AdguardHome:
Язык кода:javascript
копировать
docker run --name adguardhome1 \
    --restart unless-stopped\
    -v /opt/adguardhome1/work:/opt/adguardhome/work\
    -v /opt/adguardhome1/conf:/opt/adguardhome/conf\
    -p 15335:53/udp\
    -p 15335:53/tcp\
    -p 3001:3000/tcp\
    -d adguard/adguardhome:latest

После успешного запуска посетите http://{адрес OpenWrt}:3001.,Установить пароль учетной записи,Обратите внимание, что во время установки оставьте порт веб-управления 3000, а службу DNS — 53, поскольку контейнер сопоставляет эти два порта.

После установки войдите в AdguardHome и нажмите верхние настройки навигации. -> настройки DNS :

Заполните следующее для восходящей службы DNS:

Язык кода:javascript
копировать
tls://dns.pub
tls://dns.alidns.com
https://doh.pub/dns-query
https://dns.pub/dns-query
https://dns.alidns.com/dns-query

Проверка параллельных запросов

Загрузочный DNS-сервер заполните следующее:

Язык кода:javascript
копировать
DNS вашего местного оператора по умолчанию (например, Sichuan Telecom: 61.139.2.69).
114.114.114.114

Если IPv6 не используется, установите флажок, чтобы отключить разрешение адресов IPv6.

Конфигурация кэша DNS задается в соответствии с выделенным вами пространством. Я просто оставляю здесь конфигурацию по умолчанию, которая составляет 4194304 байта.

Нажмите, чтобы сохранить

Нажмите на верхнюю навигацию Настройки фильтра -> Черный список DNS:

Добавьте кое-что, что я нашел в Интернете, вот несколько, которыми я пользуюсь, выбирайте в соответствии с вашими потребностями:

Язык кода:javascript
копировать
easylistchina:https://easylist-downloads.adblockplus.org/easylistchina.txt
мобильный телефон adgk для удаления рекламы: https://raw.githubusercontent.com/banbendalao/ADgk/master/ADgk.txt
anti-ad-easylis:https://anti-ad.net/easylist.txt
1024_hosts:https://raw.githubusercontent.com/Goooler/1024_hosts/master/hosts
easyprivacy:https://easylist-downloads.adblockplus.org/easyprivacy.txt
ad-wars:https://raw.githubusercontent.com/jdlingyu/ad-wars/master/hosts

Не рекомендуется добавлять слишком много, так как чем больше вы добавите, тем серьезнее будет случайное убийство!

На этом установка домашней группы завершена.

Установить внешнюю группу

  1. Войдите в терминал ОПуправлять и нажмите: Система. -> TTYD Терминал, войдите в окно оболочки, напрямую запустите следующую команду doke, чтобы запустить внешнюю группу AdguardHome:
Язык кода:javascript
копировать
docker run --name adguardhome2 \
    --restart unless-stopped\
    -v /opt/adguardhome2/work:/opt/adguardhome/work\
    -v /opt/adguardhome2/conf:/opt/adguardhome/conf\
    -p 15336:53/udp\
    -p 15336:53/tcp\
    -p 3002:3000/tcp\
    -d adguard/adguardhome:latest

После успешного запуска посетите http://{адрес OpenWrt}:3002.,Установить пароль учетной записи,Обратите внимание, что во время установки оставьте порт веб-управления 3000, а службу DNS — 53, поскольку контейнер сопоставляет эти два порта.

После установки войдите в AdguardHome и нажмите верхние настройки навигации. -> настройки DNS :

Заполните следующее для восходящей службы DNS:

Язык кода:javascript
копировать
tls://1.1.1.1/dns-query
tls://dns.google
https://dns.google/dns-query
tls://dns11.quad9.net
https://dns11.quad9.net/dns-query

Проверка параллельных запросов

Для DNS-сервера Bootstrap заполните следующее. Если для восходящего DNS установлено зашифрованное DNS, это не нужно заполнять:

Язык кода:javascript
копировать
9.9.9.10
8.8.8.8

Если IPv6 не используется, установите флажок, чтобы отключить разрешение адресов IPv6.

Конфигурация кэша DNS задается в соответствии с выделенным вами пространством. Я просто оставляю здесь конфигурацию по умолчанию, которая составляет 4194304 байта.

Нажмите, чтобы сохранить

Нажмите на верхнюю навигацию Настройки фильтра -> Черный список DNS:

  • Как правило, DNS в зарубежных странах не будет загрязняться, поэтому больше ничего добавлять не нужно, достаточно включить встроенный DNS-фильтр AdGuard.

На этом установка внешней группы завершена.

Настроить OpenWrt

По умолчанию openwrt будет использовать для анализа собственный Dnsmasq.,Поэтому нам нужно напрямую перенаправить DNS, который идет вместе с ним, в нашу внутреннюю группу.,Прямо сейчас127.0.0.1#15335

Нажмите на левую панель навигации openwrt: Сеть. -> DHCP/DNS, установите параметры, указанные ниже:

  1. Основные настройка: переадресация DNS установлена ​​на 127.0.0.1#15335 , отменить только местные Служить √
  2. HOSTS и файлы синтаксического анализа: игнорировать файлы синтаксического анализа и отметить √
  3. Расширенные настройки: если вы не используете IPv6, установите флажок «Отключить анализ DNS-записей IPv6» и установите для кэша DNS-запросов значение 0.

Настроить пароль

Используемый мною пароль примерно такой же, как и другие внешние плагины. Вероятно, я использую его там, где используется DNS. 127.0.0.1#15536

Нажмите Passwall по очереди -> Основные настройки -> DNS :

  • Режим фильтрации: DNS-запрос через UDP
  • Удаленный DNS: 127.0.0.1#15336

Нажмите Passwall по очереди -> Список правил -> список прямых подключений :

  • Добавьте IP-адрес доменного имени восходящего DNS, используемого внутренней группой, к прямому соединению, чтобы избежать обращения к внешнему DNS для разрешения.

Настройте основной маршрут (необязательно)

Если ваш OpenWrt работает только как обходной маршрутизатор и вы хотите, чтобы все настройки в интрасети сначала фильтровались через AdGuardHome, то последним шагом будет настройка DNS на маршрутизаторе, который раздает DHCP.

Мой основной маршрутизатор здесь — RouterOS, поэтому я использую Winbox для входа в RouterOS и меняю DNS на IP-адрес OpenWrt, чтобы все устройства, которым назначены IP-адреса в интрасети, могли проходить через AdGuardHome.

Список эффектов

Внутренняя группа:

Зарубежная группа:

до конца

Фактически, AdGuardHome больше не может блокировать видеорекламу на стороне ПК. Я искал множество правил, но не смог этого сделать. Однако рекламу на мобильной стороне можно заблокировать. Не стоит слишком на это надеяться. Как кэш DNS он действительно может достичь цели. Очень хороший эффект. Может ли это действительно предотвратить загрязнение DNS, отвлекая анализ внутри страны и за рубежом? ? ?

boy illustration
Оказывается, у команды go build столько знаний
boy illustration
Node.js
boy illustration
Анализ исходного кода, связанный с запланированными задачами версии ruoyi-vue (7), то есть анализ модуля ruoyi-quartz.
boy illustration
Вход в систему с помощью скан-кода WeChat (1) — объяснение процесса входа в систему со скан-кодом, получение авторизованного QR-кода для входа.
boy illustration
HikariPool-1 — обнаружено отсутствие потока или скачок тактовой частоты, а также конфигурация источника данных Hikari.
boy illustration
Сравнение высокопроизводительной библиотеки JSON Go
boy illustration
Простое руководство по извлечению аудио с помощью FFmpeg
boy illustration
Подсчитайте количество строк кода в проекте
boy illustration
Spring Boot элегантно реализует многопользовательскую архитектуру: концепции и практика
boy illustration
Как интегрировать функцию оповещения корпоративного WeChat в систему планирования xxl-job
boy illustration
SpringBoot интегрирует отправку сообщений через веб-сокет в режиме реального времени
boy illustration
Краткий анализ основных библиотек журналов в Go: узнайте, как интегрировать функции вращения и резки бревен на уровне проектирования.
boy illustration
Реализация API-шлюза с нуля-Golang
boy illustration
[Разговорный сайт] Как Springboot получает значения свойств из файлов конфигурации yml или свойств
boy illustration
Spring Boot — синхронные события приложения против асинхронных событий публикации и подписки. Практический бой
boy illustration
Spring Boot использует Swagger3 для создания документов интерфейса API.
boy illustration
[1269] Использование Gunicorn для развертывания проектов flask.
boy illustration
Краткое изложение 10 способов регистрации bean-компонентов в SpringBoot
boy illustration
Flask Learning-9. 2 способа включения режима отладки (debug mode).
boy illustration
Руководство по настройке самостоятельного сервера для Eudemons Parlu
boy illustration
40 вопросов для собеседований по SpringBoot, которые необходимо задавать на собеседованиях! При необходимости ответьте на вопросы для собеседования SpringBoot [предлагаемый сборник] [легко понять]
boy illustration
Через два года JVM может быть заменен GraalVM.
boy illustration
Разрешение циклических зависимостей Spring Bean: существует ли неразрешимая циклическая ссылка?
boy illustration
Разница между промежуточным программным обеспечением ASP.NET Core и фильтрами
boy illustration
[Серия Foolish Old Man] Ноябрь 2023 г. Специальная тема Winform Control Элемент управления DataGridView Подробное объяснение
boy illustration
.NET Как загрузить файлы через HttpWebRequest
boy illustration
[Веселый проект Docker] Обновленная версия 2023 года! Создайте эксклюзивный инструмент управления паролями за 10 минут — Vaultwarden
boy illustration
Высокопроизводительная библиотека бревен Golang zap + компонент для резки бревен лесоруба подробное объяснение
boy illustration
Концепция и использование Springboot ConstraintValidator
boy illustration
Новые функции Go 1.23: точная настройка основных библиотек, таких как срезы и синхронизация, значительно улучшающая процесс разработки.