Назад | Перейти на главную страницу

Откат к пересылке с Unbound?

Я использую Unbound во внутренней сети Что я хотеть это нужно сделать следующим образом:

  1. Если local_zone спички, вернуться оттуда
  2. Если нет и оно совпадает с внутренним доменным именем, попробуйте перенаправить на Consul на 127.0.0.1:8600
  3. Если нет, то вперед в Cloudflare на 1.0.0.1:853 (DNS-поверх-TLS)

Например, если example.com это внутреннее доменное имя, если я попытаюсь разрешить foo.example.com он должен попробовать шаги №1, №2 и, наконец, 3, если он не соответствует:

  1. foo.example.com нельзя найти ни в одном local_zones, двигайся дальше
  2. foo.example.com не может быть решен консулом, двигайтесь дальше
  3. foo.example.com был разрешен Cloudflare, вернуть результат

Моя проблема в том, что шаг 3 выполняется неправильно. Например, показанная выше демонстрация в настоящее время выглядит так:

  1. foo.example.com нельзя найти ни в одном local_zones, двигайся дальше
  2. foo.example.com не может быть решен консулом, возврат сбой

На шаге № 2 он должен не вернуть ошибку - вместо этого он должен вернуться к попытке Cloudflare.

Как я могу отключить привязку к переадресации на другой DNS-сервер, если разрешение не удается при пересылке на данный сервер?

Моя текущая конфигурация выглядит следующим образом:


# Unbound configuration file for Debian.
#
# See the unbound.conf(5) man page.
#
# See /usr/share/doc/unbound/examples/unbound.conf for a commented
# reference config file.
#
# The following line includes additional configuration files from the
# /etc/unbound/unbound.conf.d directory.
include: "/etc/unbound/unbound.conf.d/*.conf"

server:
    interface: 0.0.0.0
    interface: ::0

    ip-freebind: yes

    # Access control - default is to deny everything apparently

    # The local network
    access-control: 172.16.230.0/24 allow
    # The docker interface
    access-control: 172.17.0.1/16 allow

    username: "unbound"

    harden-algo-downgrade: yes
    unwanted-reply-threshold: 10000000

    private-domain: "example.com"

    prefetch: yes

    # Service expired cached responses, but only after a failed 
    # attempt to fetch from upstream, and 10 seconds after 
    # expiration. Retry every 10s to see if we can get a
    # response from upstream.
    serve-expired: yes
    serve-expired-ttl: 10
    serve-expired-ttl-reset: yes

    local-zone: "example.com." transparent
    local-data: "foo.example.com.   IN A 172.16.230.100"
    local-data: "bar.example.com.   IN A 172.16.230.101"

    local-data-ptr: "172.16.230.100 foo.example.com."
    local-data-ptr: "172.16.230.101 bar.example.com."

    fast-server-permil: 500

# Forward to consul
stub-zone:
    name: "example.com."
    stub-addr: 127.0.0.1@8600
    stub-first: yes

forward-zone:
    name: "."
    # Cloudflare DNS
    forward-addr: 1.0.0.1@853
    # DNSlify - ref https://www.dnslify.com/services/resolver/
    forward-addr: 185.235.81.1@853
    forward-ssl-upstream: yes