дальнейшее чтение

дальнейшее чтение

У меня есть корпоративный DNS-сервер, использующий Bind.
У меня есть 3 сервера Consul. Consul прослушивает DNS-запросы на локальном порту 8660. На этих серверах у меня также есть DNSmasq для пересылки DNS-запросов с публичного IP-порта 53 на Consul на локальном хосте.

Конфигурация Consul очень проста. Я просто активировал порт DNS. Когда я проверяю DNS локально на порту 8660, он работает нормально.

Конфигурация DNSmasq на каждом сервере Consul следующая:

server=/subdomain.example.com/127.0.0.1#8600
server=XX.XX.XX.XX (first ip of the corporate DNS)
server=XX.XX.XX.XX (second ip of the corporate DNS)
listen-address=XX.XX.XX.XX (ip of the server)

Конфигурация корпоративного DNS следующая:

zone "subdomain.example.com" {
    type forward;
    forward only;
    forwarders {
        XX.XX.XX.XX; (ip of the first consul)
        XX.XX.XX.XX; (ip of the second consul)
        XX.XX.XX.XX; (ip of the third consul)
    };
};

При добавлении или удалении записей из Consul зона DNS на корпоративном DNS обновляется практически мгновенно.

Когда все записи для сервиса удаляются из consul, корпоративный DNS удаляет все записи в своей таблице (что нормально). Но если записи создаются снова, DNS из consul обновляется, но не корпоративный DNS. Чтобы обновить корпоративный DNS, я должен выполнить командуrndc flushtree subdomain.example.com

решение1

Об этом говорится в документе Консула под заголовком «День 1». ☺

Установите soa.min_ttlпараметр конфигурации. Без него кэширующие DNS-прокси не знают, как долго должна храниться информация "no such name" и "no data", и вы получите их собственные предположения с наилучшими усилиями. Это немного неверно представлено как вина кэширующих DNS-прокси. Это не так. Датаграмма ответа "no such name" и "no data" должна содержать информацию TTL в (синтезированной) записи ресурса SOA.

дальнейшее чтение

Связанный контент