Запросы 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 сервера (Macos) с установленным AdguardHome.

IP сервера (Macos) с установленным AdguardHome

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

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

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

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

Проблема: DNS-запросы не проходят через AdGuard Home после настройки DNS маршрутизатора

У вас возникла проблема, когда DNS-запросы не направляются через AdGuard Home после его настройки на маршрутизаторе. Рассмотрим возможные причины и способы решения данной проблемы.

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

  1. Конфигурация сети и Docker:

    • Вы используете AdGuard Home в Docker на Ubuntu 22.04 с IP-адресом 192.168.1.3.
    • В docker-compose.yml указаны порты для DNS (53) и другие необходимые порты.
    • Сеть сконфигурирована с использованием драйвера bridge.
  2. Логи ошибок:

    • Из логов видно, что AdGuard сталкивается с проблемой таймаута при обращении к внешним DNS-серверам, таким как 9.9.9.10 и 149.112.112.10.
  3. Настройки маршрутизатора:

    • Судя по предоставленным скриншотам, настройки маршрутизатора должны направлять DNS-запросы на IP адрес 192.168.1.3.

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

  1. Проблемы с Docker-сетью:

    • Убедитесь, что контейнер Docker имеет доступ к внешнему интернету. Попробуйте использовать команду docker network inspect bridge и проверьте, правильно ли настроены сети.
  2. Проблемы с брандмауэром:

    • Проверьте настройки брандмауэра на вашей Ubuntu и маршрутизаторе, чтобы убедиться, что порты 53 и другие необходимые для AdGuard Home не блокируются.
  3. DNS-серверы AdGuard Home:

    • Проверьте настройки DNS-серверов в AdGuard Home на предмет допустимости адресов. Вы можете вручную изменить DNS-серверы на более надежные, такие как Google (8.8.8.8) или другие.
  4. Конфигурация Docker:

    • Проверьте, что контейнер AdGuard Home имеет необходимые разрешения. Возможно, потребуется применить настройки привилегированного режима для контейнера.
  5. Конфликт IP-адресов или настроек:

    • Проверьте, нет ли конфликта IP-адресов между устройствами в сети. Убедитесь в корректности статического IP вашей Ubuntu.
  6. NSLookup и кэш DNS:

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

Заключение

Проблема может быть вызвана множеством факторов, связанных с сетевыми настройками, конфигурацией Docker или DNS. Рекомендуется пройтись по всем пунктам, каждый из которых может влиять на нормальную работу AdGuard Home в вашей сети. Если проблема сохраняется, возможно, потребуется дальнейший анализ сетевых пакетов для детального понимания источника проблемы.

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

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