DNS-запросы не проходят через AdGuard Home после настройки DNS на роутере?

Вопрос или проблема

Я запускаю AdGuard Home в Docker на Ubuntu 22.04 с IP 192.168.1.3 (статический IP для моего компьютера, на котором работает AdGuard Home). При тестировании через nslookup google.com запросы не проходят через AdGuard, несмотря на настройку роутера. Я внимательно прочитал документы

version: '3'
services:
  adguardhome:
    image: adguard/adguardhome
    container_name: adguardhome
    restart: unless-stopped
    volumes:
      - adguard_work:/opt/adguardhome/work
      - adguard_conf:/opt/adguardhome/conf
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "67:67/udp"
      - "68:68/udp"
      - "80:80/tcp"
      - "443:443/tcp"
      - "443:443/udp"
      - "3000:3000/tcp"
      - "853:853/tcp"
      - "784:784/udp"
      - "853:853/udp"
      - "8853:8853/udp"
      - "5443:5443/tcp"
      - "5443:5443/udp"
    extra_hosts:
      - "host.docker.internal:host-gateway"
volumes:
 adguard_work:
 adguard_conf:

networks:
  adguard_net:
    driver: bridge

Я проверил журналы в контейнере Docker.

2024/12/30 17:28:12.165187 ERROR response received addr=149.112.112.10:53 proto=udp status="exchanging with 149.112.112.10:53 over udp: read udp 172.20.0.2:60344->149.112.112.10:53: i/o timeout"
2024/12/30 17:28:12.165203 ERROR response received addr=9.9.9.10:53 proto=udp status="exchanging with 9.9.9.10:53 over udp: read udp 172.20.0.2:56324->9.9.9.10:53: i/o timeout"
2024/12/30 17:28:12.165187 ERROR response received addr=149.112.112.10:53 proto=udp status="exchanging with 149.112.112.10:53 over udp: read udp 172.20.0.2:59324->149.112.112.10:53: i/o timeout"
2024/12/30 17:28:12.165246 ERROR response received addr=9.9.9.10:53 proto=udp status="exchanging with 9.9.9.10:53 over udp: read udp 172.20.0.2:55067->9.9.9.10:53: i/o timeout"
2024/12/30 17:28:12.165343 [error] dnsproxy: exchange failed upstream=https://dns10.quad9.net:443/dns-query question=";homewifi3.viettel.vn.\tIN\t AAAA" duration=20.001750716s err="failed to init http client: initializing http transport: bootstrapping https://dns10.quad9.net:443/dns-query: dialing \"dns10.quad9.net:443\": resolving hostname: dialing [2620:fe::fe:10]:53 over udp: dial udp [2620:fe::fe:10]:53: connect: cannot assign requested address\ndialing [2620:fe::fe:10]:53 over udp: dial udp [2620:fe::fe:10]:53: connect: cannot assign requested address\ndialing [2620:fe::10]:53 over udp: dial udp [2620:fe::10]:53: connect: cannot assign requested address\ndialing [2620:fe::10]:53 over udp: dial udp [2620:fe::10]:53: connect: cannot assign requested address\nexchanging with 149.112.112.10:53 over udp: read udp 172.20.0.2:60344->149.112.112.10:53: i/o timeout\nexchanging with 149.112.112.10:53 over udp: read udp 172.20.0.2:59324->149.112.112.10:53: i/o timeout\nexchanging with 9.9.9.10:53 over udp: read udp 172.20.0.2:56324->9.9.9.10:53: i/o timeout\nexchanging with 9.9.9.10:53 over udp: read udp 172.20.0.2:55067->9.9.9.10:53: i/o timeout"
2024/12/30 17:28:12.165456 [error] dnsproxy: exchange failed upstream=https://dns10.quad9.net:443/dns-query question=";homewifi3.viettel.vn.\tIN\t A" duration=20.0017958s err="failed to init http client: timeout exceeded: 20.001791258s"

Это моя конфигурация на роутере.

config on router

IP Server (Macos) с запуска AdguardHome.

IP Server (Macos) с запуска AdguardHome

Панель управления AdGuard

Панель управления AdGuard

Вопрос: Почему DNS-запросы не проходят через AdGuard Home и как я могу это исправить?

Ответ или решение

Здравствуйте,

Ваше решение проблемы с DNS-запросами, которые не проходят через AdGuard Home, требует детальной проверки конфигурации сети, контейнера Docker и используемого сетевого оборудования. Давайте разберёмся в деталях:

Анализ проблемы

  1. Аппаратная конфигурация: Вы используете Docker для запуска AdGuard Home на Ubuntu 22.04 и установили статический IP-адрес 192.168.1.3 для этой машины. Это правильный шаг, так как статический IP обеспечивает стабильность в маршрутизации.

  2. Настройка Docker: Ваш Docker Compose файл включает правильные порты, необходимые для работы AdGuard Home (по крайней мере TCP/UDP 53 для DNS), но также включены порты для других сервисов как DHCP (67/68 UDP), Web (80/443 TCP), и так далее. Убедитесь, что в вашей сетевой инфраструктуре эти порты доступны и не блокируются.

  3. Логи: Логи AdGuard Home указывают на проблемы с подключением к внешним DNS-серверам (например, 149.112.112.10). Это может быть вызвано несколькими факторами:

    • Проблемы с сетевым подключением или маршрутизацией.
    • Блокировка портов на уровне фаерволла либо роутера.
    • Некорректная настройка DNS Proxy или неверные адреса upstream серверов.
  4. Роутер: Конфигурация вашего роутера может включать DNS-серверы, которые не перенаправляют запросы через AdGuard. Убедитесь, что IP вашего AdGuard Home установлен как основной DNS-сервер на уровне роутера.

Возможные решения

  1. Проверка маршрутизации: Убедитесь, что система, на которой работает Docker, имеет правильный маршрут до внешних DNS-серверов, и нет промежуточных блокировок. Попробуйте выполнить команды ping и traceroute к одному из внешних DNS-серверов для диагностики.

  2. Настройки фаервола: Проверьте настройки фаервола как на уровне Ubuntu, так и на уровне роутера. Убедитесь, что порты 53 (UDP и TCP) не заблокированы для входящего/исходящего трафика.

  3. Проверка Upstream DNS-серверов: В интерфейсе Dashboard AdGuard Home убедитесь, что указаны корректные серверы upstream DNS. Также можно протестировать другие известные публичные DNS-серверы, вроде Google (8.8.8.8, 8.8.4.4) или Cloudflare (1.1.1.1).

  4. Конфигурация роутера: Проверьте и обновите настройки DNS на роутере. Этот IP должен соответствовать IP вашего AdGuard Home, а DNS сервера на роутере должны перенаправлять запросы именно на него.

  5. Проверка сетевых настроек Docker: Обратите внимание на сетевую конфигурацию Docker и наличие всех необходимых bridge интерфейсов. Возможно, понадобится обновить настройки сети в файле docker-compose.yml для использования правильного сетевого режима.

Заключение

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

Если проблемы сохраняются, возможно, стоит обратиться к поддержке AdGuard или сообществу для детальной проработки вопроса.

С уважением, [Ваше имя]

Оцените материал
Добавить комментарий

Капча загружается...