Перейти к содержимому
Wiki is under a full-reconstruction. Please be patient and look for updates!

DNS для контейнеров

Используйте эту схему, если у вас много контейнеров и нужны DNS-логи, которые проще привязать к конкретному сервису.

В типовой схеме один хост запускает много контейнеров и отправляет DNS-запросы в сетевой резолвер вроде Pi-hole или AdGuard Home.

Без маршрутизации DNS по каждому контейнеру запросы смешиваются в одну «корзину». Это затрудняет поиск конкретного сервиса, который делает подозрительные или вредоносные запросы.

Запустите отдельный контейнер AdGuard Home как DNS-эндпоинт для остальных контейнеров.
Затем направьте reverse DNS upstream на Docker DNS хоста, чтобы видеть имена контейнеров вместо «сырых» IP.

DNS for containers

Общий поток:

  1. Создайте bridge-сеть со статической подсетью для вашего стека.

  2. Запустите AdGuard Home с фиксированным IP в этой подсети.

  3. Назначьте статические IP остальным контейнерам.

  4. Укажите AdGuard Home как DNS в каждом контейнере.

  5. Добавьте depends_on, чтобы сервисы стартовали после AdGuard Home.

    docker-compose.yaml
    networks:
    internal:
    driver: bridge
    ipam:
    config:
    - subnet: 172.20.0.0/16
    services:
    agh:
    image: adguard/adguardhome
    container_name: agh
    volumes:
    - /path/to/agh/conf:/opt/adguardhome/conf
    - /path/to/agh/work:/opt/adguardhome/work
    networks:
    internal:
    ipv4_address: 172.20.20.20
    ports:
    - 13080:80
    - 13000:3000
    someapp:
    networks:
    internal:
    ipv4_address: 172.20.0.2
    dns: 172.20.20.20
    depends_on:
    - agh

Конфигурация AdGuard Home

Раздел «Конфигурация AdGuard Home»

Пройдите первичную настройку на порту 13000, затем используйте 13080 для web UI.

Перейдите в Settings > General settings.

  • Block domains using filters and hosts files: disabled
  • Enable log: enabled
  • Query logs rotation: 90 days
  • Ignored domains: ||your-private-domain.tld^
  • Enable statistics: enabled
  • Statistics retention: 90 days
  • Ignored domains: ||your-private-domain.tld^

Перейдите в Settings > DNS settings.

  • Upstream DNS servers: 127.0.0.11
  • Private reverse DNS servers: 127.0.0.11:53
  • Use private reverse DNS resolvers: enabled
  • Rate limit: 0